Subject: pkg/18397: buildlink2 conversion breaks installation of "bonobo" package
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 09/24/2002 16:05:24
>Number:         18397
>Category:       pkg
>Synopsis:       buildlink2 conversion breaks installation of "bonobo" package
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 24 07:06:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        NetBSD 1.6
>Organization:
Matthias Scheler                                  http://scheler.de/~matthias/
>Environment:
System: NetBSD colwyn.zhadum.de 1.6 NetBSD 1.6 (COLWYN) #1: Sun Sep 22 08:40:28 CEST 2002 tron@colwyn.zhadum.de:/src/sys/compile/COLWYN i386
Architecture: i386
Machine: i386

>Description:
After the "bonobo" package has been switch to the buildlink2 framework
the installation failed:

===> Installing for bonobo-1.0.18nb2
[...]
gmake[2]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/storage-modules'
gmake[2]: Nothing to be done for `install-exec-am'.
/bin/sh ../mkinstalldirs /usr/pkg/lib/bonobo/plugin
mkdir /usr/pkg/lib/bonobo
mkdir /usr/pkg/lib/bonobo/plugin
/bin/sh ../libtool  --mode=install /usr/bin/install -c -o root -g wheel libstorage_efs.la /usr/pkg/lib/bonobo/plugin/libstorage_efs.la
libtool: install: warning: relinking `libstorage_efs.la'
 cd /src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/storage-modules; /bin/sh /usr/pkg/bin/libtool --mode=relink cc -O2 -Wall -Wunused -L/src/NetBSD-current/pkgsrc/devel/bonobo/work/.buildlink/lib -L/src/NetBSD-current/pkgsrc/devel/bonobo/work/.buildlink-x11pkg/lib -L/usr/pkg/share/x11-links/lib -Wl,-R/usr/X11R6/lib -Wl,-R/usr/pkg/lib -o libstorage_efs.la -rpath /usr/pkg/lib/bonobo/plugin -avoid-version ../libefs/src/libefs.la bonobo-storage-efs.lo bonobo-stream-efs.lo -lintl
cc -shared -nodefaultlibs  .libs/bonobo-storage-efs.o .libs/bonobo-stream-efs.o  -Wl,--rpath -Wl,/usr/pkg/lib  -L/src/NetBSD-current/pkgsrc/devel/bonobo/work/.buildlink/lib -L/src/NetBSD-current/pkgsrc/devel/bonobo/work/.buildlink-x11pkg/lib -L/usr/pkg/share/x11-links/lib -L/usr/pkg/lib -lefs -L/usr/X11R6/lib -L/usr/lib -lintl  -Wl,-R/usr/X11R6/lib -Wl,-R/usr/pkg/lib -Wl,-soname -Wl,libstorage_efs.so -o .libs/libstorage_efs.so
/usr/bin/ld: cannot find -lefs
collect2: ld returned 1 exit status
libtool: install: error: relink `libstorage_efs.la' with the above command before installing it
[...]
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/pkg/lib/bonobo/plugin

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 `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/sh ../libtool  --mode=install /usr/bin/install -c -o root -g wheel libstorage_fs.la /usr/pkg/lib/bonobo/plugin/libstorage_fs.la
/usr/bin/install -c -o root -g wheel .libs/libstorage_fs.so /usr/pkg/lib/bonobo/plugin/libstorage_fs.so
/usr/bin/install -c -o root -g wheel .libs/libstorage_fs.lai /usr/pkg/lib/bonobo/plugin/libstorage_fs.la
/usr/bin/install -c -o root -g wheel .libs/libstorage_fs.a /usr/pkg/lib/bonobo/plugin/libstorage_fs.a
ranlib /usr/pkg/lib/bonobo/plugin/libstorage_fs.a
chmod 644 /usr/pkg/lib/bonobo/plugin/libstorage_fs.a
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/pkg/lib/bonobo/plugin

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 `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/sh ../mkinstalldirs 
gmake[2]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/storage-modules'
gmake[1]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/storage-modules'
Making install in monikers
gmake[1]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/monikers'
gmake[2]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/monikers'
/bin/sh ../mkinstalldirs /usr/pkg/bin
 /bin/sh ../libtool  --mode=install install -c -s -o root -g wheel -m 555  bonobo-moniker-gunzip /usr/pkg/bin/bonobo-moniker-gunzip
install -c -o root -g wheel -m 555 -s .libs/bonobo-moniker-gunzip /usr/pkg/bin/bonobo-moniker-gunzip
 /bin/sh ../libtool  --mode=install install -c -s -o root -g wheel -m 555  bonobo-moniker-http /usr/pkg/bin/bonobo-moniker-http
install -c -o root -g wheel -m 555 -s .libs/bonobo-moniker-http /usr/pkg/bin/bonobo-moniker-http
 /bin/sh ../libtool  --mode=install install -c -s -o root -g wheel -m 555  moniker-test /usr/pkg/bin/moniker-test
install -c -o root -g wheel -m 555 -s .libs/moniker-test /usr/pkg/bin/moniker-test
/bin/sh ../mkinstalldirs /usr/pkg/lib/bonobo/monikers
mkdir /usr/pkg/lib/bonobo/monikers
/bin/sh ../libtool  --mode=install /usr/bin/install -c -o root -g wheel libmoniker_std.la /usr/pkg/lib/bonobo/monikers/libmoniker_std.la
/usr/bin/install -c -o root -g wheel .libs/libmoniker_std.so.0.0 /usr/pkg/lib/bonobo/monikers/libmoniker_std.so.0.0
(cd /usr/pkg/lib/bonobo/monikers && rm -f libmoniker_std.so.0 && ln -s libmoniker_std.so.0.0 libmoniker_std.so.0)
(cd /usr/pkg/lib/bonobo/monikers && rm -f libmoniker_std.so && ln -s libmoniker_std.so.0.0 libmoniker_std.so)
(cd /usr/pkg/lib/bonobo/monikers && rm -f libmoniker_std.so && ln -s libmoniker_std.so.0.0 libmoniker_std.so)
/usr/bin/install -c -o root -g wheel .libs/libmoniker_std.lai /usr/pkg/lib/bonobo/monikers/libmoniker_std.la
/usr/bin/install -c -o root -g wheel .libs/libmoniker_std.a /usr/pkg/lib/bonobo/monikers/libmoniker_std.a
ranlib /usr/pkg/lib/bonobo/monikers/libmoniker_std.a
chmod 644 /usr/pkg/lib/bonobo/monikers/libmoniker_std.a
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/pkg/lib/bonobo/monikers

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 `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/bin/sh ../mkinstalldirs /usr/pkg/share/oaf
 install -c -o root -g wheel -m 444 ./Bonobo_Moniker_gzip.oaf /usr/pkg/share/oaf/Bonobo_Moniker_gzip.oaf
 install -c -o root -g wheel -m 444 ./Bonobo_Moniker_http.oaf /usr/pkg/share/oaf/Bonobo_Moniker_http.oaf
 install -c -o root -g wheel -m 444 ./Bonobo_Moniker_std.oaf /usr/pkg/share/oaf/Bonobo_Moniker_std.oaf
gmake[2]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/monikers'
gmake[1]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/monikers'
Making install in components
gmake[1]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components'
Making install in selector
gmake[2]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/selector'
gmake[3]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/selector'
/bin/sh ../../mkinstalldirs /usr/pkg/bin
 /bin/sh ../../libtool  --mode=install install -c -s -o root -g wheel -m 555  bonobo-selector /usr/pkg/bin/bonobo-selector
install -c -o root -g wheel -m 555 -s .libs/bonobo-selector /usr/pkg/bin/bonobo-selector
/bin/sh ../../mkinstalldirs /usr/pkg/share/oaf
 install -c -o root -g wheel -m 444 ./Bonobo_Selector.oaf /usr/pkg/share/oaf/Bonobo_Selector.oaf
gmake[3]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/selector'
gmake[2]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/selector'
Making install in application-x-gnomine
gmake[2]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/application-x-gnomine'
gmake[3]: Entering directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/application-x-gnomine'
/bin/sh ../../mkinstalldirs /usr/pkg/bin
 /bin/sh ../../libtool  --mode=install install -c -s -o root -g wheel -m 555  bonobo-application-x-mines /usr/pkg/bin/bonobo-application-x-mines
install -c -o root -g wheel -m 555 -s .libs/bonobo-application-x-mines /usr/pkg/bin/bonobo-application-x-mines
/bin/sh ../../mkinstalldirs /usr/pkg/share/oaf
 install -c -o root -g wheel -m 444 ./Bonobo_Sample_Mines.oaf /usr/pkg/share/oaf/Bonobo_Sample_Mines.oaf
gmake[3]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/application-x-gnomine'
gmake[2]: Leaving directory `/src/NetBSD-current/pkgsrc/devel/bonobo/work/bonobo-1.0.18/components/application-x-gnomine'
[...]
===> [Automatic ELF shared object handling]
ls: /usr/pkg/lib/bonobo/plugin/libstorage_efs.a: No such file or directory
ls: /usr/pkg/lib/bonobo/plugin/libstorage_efs.la: No such file or directory
ls: /usr/pkg/lib/bonobo/plugin/libstorage_efs.so: No such file or directory
===> Registering installation for bonobo-1.0.18nb2
pkg_create: can't stat `/usr/pkg/lib/bonobo/plugin/libstorage_efs.a'
pkg_create: can't stat `/usr/pkg/lib/bonobo/plugin/libstorage_efs.la'
pkg_create: can't stat `/usr/pkg/lib/bonobo/plugin/libstorage_efs.so'
[...]

The relink done during the installation probably fails because the
buildink2 "cc" wrapper is used.

>How-To-Repeat:
cd pkgsrc/devel/bonobo
make install
make checl

>Fix:
None provided.

>Release-Note:
>Audit-Trail:
>Unformatted: