|
From: | Daniel Pocock |
Subject: | Re: AIX shared libraries, make install misses them |
Date: | Fri, 29 Jan 2010 10:46:28 +0000 |
User-agent: | Mozilla-Thunderbird 2.0.0.22 (X11/20090707) |
Daniel Pocock wrote:
Ralf Wildenhues wrote:That makes sense - I don't believe Michael has run it with the different LDFLAGS yet.Hello Daniel, * Daniel Pocock wrote on Thu, Jan 28, 2010 at 03:21:24PM CET:We have been working on getting the Ganglia tarball to work out of the box for AIXWhen Michael does `make install', the *.so files for our modules are not installed. Instead, he sees output like this from `make install': ---------------------------------------------------------------------- /opt/freeware/bin/bash ../../../libtool --mode=install ../../../build/install-sh -c 'modcpu.la' '/var/tmp/gg/lib/ganglia/modcpu.la' ../../../build/install-sh -c .libs/modcpu.a /var/tmp/gg/lib/ganglia/modcpu.a ../../../build/install-sh -c .libs/modcpu.lai /var/tmp/gg/lib/ganglia/modcpu.laI've looked at the file gmond/modules/cpu/.libs/modcpu.la on AIX: ... dlname='modcpu.so' library_names='modcpu.a modcpu.a' old_library=''Is that without or with runtimelinking enabled (LDFLAGS=-Wl,-brtl passed to configure)? If without, then libtool puts the modcpu.so file into the modcpu.a archive (the way AIX does with its system modules as well) and that is to be expected. With runtimelinking, the .so file should be a separate file.However, nothing gets installed - if the default behavior is to create modcpu.a, then shouldn't `make install' result in the installation of modcpu.a?For changing LDFLAGS, I'd rather include this into configure.in, so it will be set automatically for AIX platforms. Can you make any suggestions on that? The project involves building some static libraries, shared libraries, and linking some of the static libraries to create an executable too. Will option be necessary for all such targets, or do I need to use it selectively?
I've looked at the manual for -brtl and it tells me that the flag is needed for building targets that depend on other shared objects.
The gmond executable itself loads various other modules (shared objects) using dlopen(), and gmond also depends on system libraries. The modules themselves depend on some other shared libraries in the system. Therefore, I think -brtl is needed for everything we build and could potentially be added to LDFLAGS for AIX in configure.in
Yes, an earlier email I have from Michael says that it runs if the modules are copied over manually - I'm not sure if he was copying *.a or *.so however.BTW, you didn't specify any bug or misbehavior that you see, so maybe everything else works as expected?Finally, Michael reports that if he bootstraps again with his own autoconf, make install does work. Here is Michael's autotools versions: autoconf-2.64-1 automake-1.11.1-1 libtool-1.5.26-1 libtool-ltdl-1.5.26-1 libtool-ltdl-devel-1.5.26-1 m4-1.4.13-1 And here are the versions on Debian 5 (used for bootstrapping the release tarball): autoconf 2.61-8 automake 1:1.10.1-3 libtool 1.5.26-4 m4 1.4.11-1 Is there any way we can get this working using the existing autotools version?Well, I really don't know the differences between libtool-1.5.26-1 and libtool 1.5.26-4 (this really all is a libtool issue, not an Automake one), but if there were bugs in either, I'd first ask you to retry with 2.2.6b anyway.Another problem I have just discovered, on Cygwin, I have to patch libtool, adding the line echo="echo"otherwise I get lot's of errors along the lines of "Xgcc command not found"This is a pretty sure sign that you have mixed up macros from one Libtool version with a ltmain.sh file from another Libtool version. Perchance your aclocal.m4 or acinclude.m4 files contain old Libtool macro definitions?I'll be checking that out shortly - thanks for this tip
Ok, here is what I found: - the system where I bootstrap has libtool 1.5.26-4 - the Cygwin system where I run configure and make has libtool 2.2.7a- various files like aclocal.m4 are included in the tarball from the bootstrap host
http://www.pocock.com.au/ganglia/test/ - some files, like acinclude.m4, are included in SVN http://ganglia.svn.sourceforge.net/viewvc/ganglia/branches/monitor-core-3.1/Is there some way we can fix this so that the user running configure won't have to worry about which version of libtool they have?
[Prev in Thread] | Current Thread | [Next in Thread] |