Subject: Fwd: databases/db4 fails to install on Solaris 9
To: None <pkgsrc-users@netbsd.org>
From: Frederic Touboul <frederic.touboul@gmail.com>
List: pkgsrc-users
Date: 05/11/2006 14:32:34
Hello,
I investigated further on my problem. If I compile Berkeley DB 4.4.20
outside pkgsrc it succeeds to produce the C++ libraries, including the
problematic libdb4_cxx-4.4.so file. To do so, the following commands
are executed:
-----
/usr/bin/sh ./libtool --mode=3Dlink CC -avoid-version -O -rpath
/usr/local/BerkeleyDB.4.4/lib -o libdb_cxx-4.4.la [all object files]
CC -G -hlibdb_cxx-4.4.so -o .libs/libdb_cxx-4.4.so [all object files]
CC -xar -o .libs/libdb_cxx-4.4.a [all object files]
-----
The second line in the output above seems to produce
libdb4_cxx-4.4.so. With pkgsrc, this part of the compilation is
different:
-----
/usr/pkgsrc/databases/db4/work/.tools/bin/sh ./libtool --mode=3Dlink CC
-avoid-version -O -I/usr/include -rpath /usr/pkg/lib -L/usr/lib
-Wl,-R/usr/lib -Wl,-R/usr/pkg/lib -o libdb4_cxx-4.4.la [all object
files]
ar cru .libs/libdb4_cxx-4.4.a [all object files]
-----
The first line seems to be roughly the same, but the second one is
missing with pkgsrc. I am not very familiar with C++ compilation tool
chains under Solaris, so I fail to understand why there is such a
difference. Does anyone have any idea? Where should I report this
problem for it to be investigated by the proper person?
Regards,
Frederic.
---------- Forwarded message ----------
From: Frederic Touboul <frederic.touboul@gmail.com>
Date: May 5, 2006 5:48 PM
Subject: databases/db4 fails to install on Solaris 9
To: pkgsrc-users@netbsd.org
Greetings,
When trying to install Sleepycat Berkley DB 4.4.20 on Solaris 9, using
the Sun studio 11 compiler, I got the following error message:
-----
=3D=3D=3D> Installing for db4-4.4.20
Installing DB include files: /usr/pkg/include/db4 ...
Installing DB library: /usr/pkg/lib ...
cp -p .libs/libdb4-4.4.so.4.0.20 /usr/pkg/lib/libdb4-4.4.so.4.0.20
(cd /usr/pkg/lib && { ln -s -f libdb4-4.4.so.4.0.20 libdb4-4.4.so.4 ||
{ rm -f libdb4-4.4.so.4 && ln -s libdb4-4.4.so.4.0.20 libdb4-4.4.so.4;
}; })
(cd /usr/pkg/lib && { ln -s -f libdb4-4.4.so.4.0.20 libdb4-4.4.so || {
rm -f libdb4-4.4.so && ln -s libdb4-4.4.so.4.0.20 libdb4-4.4.so; }; })
chmod +x /usr/pkg/lib/libdb4-4.4.so.4.0.20
cp -p .libs/libdb4-4.4.lai /usr/pkg/lib/libdb4-4.4.la
cp -p .libs/libdb4_cxx-4.4.so /usr/pkg/lib/libdb4_cxx-4.4.so
cp: cannot access .libs/libdb4_cxx-4.4.so
*** Error code 2
Stop.
bmake: stopped in /usr/pkgsrc/databases/db4/work/db-4.4.20/build_unix
*** Error code 1
[...]
-----
It seems the compilation didn't push through with the C++ shared
library file. Any hint?
Frederic.