libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

building but not installing shared library...


From: Ed Hartnett
Subject: building but not installing shared library...
Date: Tue, 13 May 2008 07:31:13 -0600
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

Howdy All!

I am the developer of netcdf, a free software tool for scientific data
storage.

I am using libtool 2.2 and am having a strange problem on an AIX
system.

When building a shared C library with gcc everything seems to
work. Here's the link:

libtool: link: ar cru .libs/libnetcdf2.a .libs/v2i.o
libtool: link: ranlib .libs/libnetcdf2.a
libtool: link: ( cd ".libs" && rm -f "libnetcdf2.la" && ln -s
"../libnetcdf2.la" "libnetcdf2.la" )
/bin/sh ../libtool --tag=CC   --mode=link gcc  -g -O2    -version-info
4:0:0   -o libnetcdf.la -rpath
/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib\
 attr.lo ncx.lo putget.lo dim.lo error.lo libvers.lo nc.lo string.lo
 v1hpg.lo var.lo  posixio.lo libnetcdf2.la
libtool: link: /usr/bin/nm -B -BCpg  .libs/attr.o .libs/ncx.o
.libs/putget.o .libs/dim.o .libs/error.o .libs/libvers.o .libs/nc.o
.libs/string.o .libs/v1hpg.o .libs/va\
r.o .libs/posixio.o   ./.libs/libnetcdf2.a | awk '{ if ((($ 2 ==
"T") || ($ 2 == "D") || ($ 2 == "B")) && (substr($ 3,1,1) != ".")) {
print $ 3 } }' | sort -u > .libs/\
libnetcdf.exp
libtool: link: gcc -shared -o .libs/libnetcdf.so.4  .libs/attr.o
.libs/ncx.o .libs/putget.o .libs/dim.o .libs/error.o .libs/libvers.o
.libs/nc.o .libs/string.o .libs/v\
1hpg.o .libs/var.o .libs/posixio.o   ./.libs/libnetcdf2.a  -lc
-Wl,-bnoentry    -Wl,-bE:.libs/libnetcdf.exp -Wl,-berok
libtool: link: ar cru .libs/libnetcdf.a .libs/libnetcdf.so.4
libtool: link: ( cd ".libs" && rm -f "libnetcdf.la" && ln -s
"../libnetcdf.la" "libnetcdf.la" )


And so I get a file in the .libs directory libnetcdf.so.4 (but no
libnetcdf.so).

Later, when I run make install, only the static library is installed:

gmake[2]: Entering directory
`/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/libsrc'
test -z
"/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib" ||
.././install-sh -c -d
"/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib\
"
 /bin/sh ../libtool --mode=install .././install-sh -c  'libnetcdf.la'
 
'/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib/libnetcdf.la'
libtool: install: .././install-sh -c .libs/libnetcdf.a
/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib/libnetcdf.a
libtool: install: .././install-sh -c .libs/libnetcdf.lai
/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib/libnetcdf.la
----------------------------------------------------------------------
Libraries have been installed in:
   /zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LIBPATH' environment variable
     during execution
   - use the
   
`-Wl,-blibpath:LIBDIR:/opt/gnu/bin/../lib/gcc-lib:/opt/gnu/gcc/lib/gcc-lib/powerpc-ibm-aix5.0.0.0/3.2:/opt/gnu/gcc/lib/gcc-lib/powerpc-ibm-aix5.0.0.0/3.2/\
../../..:/usr/lib:/lib ' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z
"/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/include"
|| .././install-sh -c -d
"/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1\
/include"
 .././install-sh -c -m 644 'netcdf.h'
 
'/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/include/netcdf.h'
test -z
"/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/share/man/man3"
|| .././install-sh -c -d
"/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/i\
nstall1/share/man/man3"
 .././install-sh -c -m 644 './netcdf.3'
 
'/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/install1/share/man/man3/netcdf.3'
gmake[2]: Leaving directory
`/zasu/netcdf/n3_zasu/netcdf-3.6.3-snapshot2008051305/libsrc'

What's up here? Why does the .so.4 file get built, but never
installed?

Some other info about this platform:

bash$ ./libtool --features
host: powerpc-ibm-aix5.1.0.0
enable shared libraries
disable static libraries
bash$ gcc --version
gcc (GCC) 3.2

Any help would be appreciated.

Thanks!

Ed


-- 
Ed Hartnett  -- address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]