[Top][All Lists]
[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
- building but not installing shared library...,
Ed Hartnett <=