List:MySQL++« Previous MessageNext Message »
From:Adrian Cornish Date:March 3 2011 3:07am
Subject:Re: MySQL++ 64 Bit Platform Installation Problem with Fix...
View as plain text  
On Wed, Mar 2, 2011 at 7:08 PM, Raymond Boettcher <
raymondboettcher@stripped> wrote:

> Hello everyone,
> First of all my must congratulate the people who created this neat little
> library.  I've been using it for years with various programs I've written
> and it's worked wonders for me.  It has taken the pain out of Database
> programming.  I have used it in many applications that I've written.  I must
> say however, keeping up with the API changes has definitely kept me on my
> toes.  Some of my older projects haven't been updated yet.  But anyhow, down
> to the issues at hand...
Good that you find it useful

> I recently got my hands on a AMD64 computer and I was running 32 bit
> Slackware on it for a little while.  I started messing with QEMU to find out
> that it wasn't happy trying to do 64 Bit OS Emulation on the 32 Bit OS even
> after the kernel was compiled with AMD64 in mind.  Soooo, I installed
> Slackware64 13.1.
> Being this is the first time I've played around in a 64 Bit operating
> system I've ran into a few interesting things.  One of those things is the
> fact that the 64 bit libraries are installed in /usr/lib64 and not /usr/lib
> (I --prefix=/usr)...  I believe the Makefile for MySQL++ is hardcoded to
> ${PREFIX}/lib instead of looking at the environment for that variable.  I
> attempted to run one of my programs (after compiling it to 64 bit) and it
> couldn't find the libraries.  So I did a make uninstall then modified the
> Makefile at Line 30.  Keep in mind this is valid for MySQL++ Release 3.1.0:
> libdir = ${exec_prefix}/lib
Did you try the configure option   --libdir=DIR            object code
libraries [EPREFIX/lib]

See I am lazy and install my 64bit libraries in /usr/local/lib it my machine
and I am the only user

adrian@iceweasel:/usr/local/lib> file ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),
dynamically linked, not stripped

Personally I hate the split between lib64 and lib - but I understand it.

Part of them problem is that mysqlpp cannot know where you installed
required libraries (my mysql libraries are here /usr/local/mysql/lib/mysql
because I like to build my own version of mysql)

Finally Ray, not really sure what you are asking from mysqlpp? As far as I
know from the Filesystem Hierarchy Standard - the real place mysqlpp should
go is /usr/local/lib.

Its up to you to decide where libraries go and also to provide the path of
your installed libraries to ./configure


> When I changed it to ${exec_prefix}/lib64 and did a make install, my
> compiled programs ran without a problem.  I know this isn't really a query
> as much as it is a "needed fix" to the installation procedure for 64 bit
> OSes...  I did notice that the line: LDFLAGS =  -L/usr/lib64 was correct
> however..
> I recently installed multilib on my Slackware64 and now I can compile
> libraries for 32-bit as well as 64-bit on the same platform.  I noticed that
> CentOS binaries are available from the website, but I would be willing to
> keep a set of Slackware/Slackware64 binaries available for posting on your
> website.  Just let me know...
> Raymond Boettcher

MySQL++ 64 Bit Platform Installation Problem with Fix...Raymond Boettcher3 Mar
  • Re: MySQL++ 64 Bit Platform Installation Problem with Fix...Adrian Cornish3 Mar
    • Re: MySQL++ 64 Bit Platform Installation Problem with Fix...Jonathan Wakely3 Mar
  • Re: MySQL++ 64 Bit Platform Installation Problem with Fix...Warren Young3 Mar