From: Warren Young
Date: August 16 2008 12:35pm
Subject: Re: Unable to build MySQL++ on Solaris
List-Archive: http://lists.mysql.com/plusplus/7880
Message-Id: <59A16666-269F-44D9-B57A-5DB893A8961F@etr-usa.com>
MIME-Version: 1.0 (Apple Message framework v928.1)
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Content-Transfer-Encoding: 7bit
On Aug 16, 2008, at 5:38 AM, Kartik Mahajan wrote:
> I have been able to build the libmysqlpp.so library with
> --enable-thread-check by commenting out #define HAVE_SYNCH_H 1 that is
Yes, I know, this is one of the things I referred to above when I said
more work is necessary. I'm in the process of making 3.0.6 right now,
with the correct fix for this problem, among others. Hang on.
> if I do grep for the missing symbols, I should be able to find the
> symbols in the
> mysqlclient_r.so library, right ?
Libraries are binary files, and grep works best on text. It's quite
possible for it to miss things in a binary file, because it doesn't
know how to parse it. You can give it a better chance by running
'strings' on the file and piping *that* through grep.
But the real answer is to find the tool on your system that knows how
to dump a list of symbols in a library, and grep its output. This
gets into dynamic linker land, one of the biggest areas of divergence
between Unices. On Linux, it's nm, and on OS X it's otool. I don't
know what Solaris calls it. If it's not nm, try "man ldd" to see if
you can hunt it down that way.