Ok, I dumped the output of gmake publish and found the lines of linkage: /bin/bash ./libtool --mode=link /usr/sfw/bin/g++ -m32 -R/usr/sfw/lib -L/usr/sfw/lib -R/usr/sfw/lib -L/usr/sfw/lib -o libgmpxx.la -rpath /usr/lib -R/usr/sfw/lib -L/usr/sfw/lib -version-info 5:2:1 dummy.lo cxx/isfuns.lo cxx/ismpf.lo cxx/ismpq.lo cxx/ismpz.lo cxx/ismpznw.lo cxx/osdoprnti.lo cxx/osfuns.lo cxx/osmpf.lo cxx/osmpq.lo cxx/osmpz.lo libgmp.la /usr/sfw/bin/g++ -shared -nostdlib /usr/lib/crti.o /usr/lib/values-Xa.o /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/crtbegin.o .libs/dummy.o cxx/.libs/isfuns.o cxx/.libs/ismpf.o cxx/.libs/ismpq.o cxx/.libs/ismpz.o cxx/.libs/ismpznw.o cxx/.libs/osdoprnti.o cxx/.libs/osfuns.o cxx/.libs/osmpf.o cxx/.libs/osmpq.o cxx/.libs/osmpz.o -Wl,-R -Wl,/sources/userlands/xstream-userland-gate/components/gnump/build/i86/.libs -Wl,-R -Wl,/usr/sfw/lib -Wl,-R -Wl,/usr/sfw/lib -L/usr/sfw/lib ./.libs/libgmp.so -L/usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3 -L/usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/../../.. /usr/sfw/lib/libstdc++.so -lm -lgcc_s /usr/sfw/lib/gcc/i386-pc-solaris2.11/3.4.3/crtend.o /usr/lib/crtn.o -m32 -Wl,-h -Wl,libgmpxx.so.4 -o .libs/libgmpxx.so.4.1.2 Looks like the /usr/sfw/lib are there, but maybe something is superseding? I noticed the "-rpath" in libtool... ---------------------------------------------------------------------------------- Da: Danek Duvall A: Gabriele Bulfon Cc: [email protected] Data: 5 dicembre 2012 18.23.44 CET Oggetto: Re: [pkg-discuss] pkgdepend help Gabriele Bulfon wrote: Hi, I hope you can help me with an issue with pkgdepend. I'm trying to work out our own userland for XStreamOS, similar to the way illumos-userland does, derived from Oracle one. Some of the components (at the moment I'm working on having gnump+gnupg+mpfr to be able to package gcc45) have dependencies from the libgcc and libstdc++ I'm using. Because I still have no gcc45, I'm using gcc3 preinstalled inside /usr/sfw/*. I could make build run fine, but then pkgdepend cannot resolve these dependencies: /sources/userlands/xstream-userland-gate/components/gnump/build/manifest-i386-gmp.depend has unresolved dependency ' depend type=require fmri=__TBD pkg.debug.depend.file=libstdc++.so.6 \ pkg.debug.depend.reason=usr/lib/libgmpxx.so.4.1.2 \ pkg.debug.depend.type=elf \ pkg.debug.depend.path=lib \ pkg.debug.depend.path=usr/lib'. As far as I can see, the problem is because pkgdepend is looking for path usr/lib and not usr/sfw/lib, so it can't find any package in my system delivering that path file. Do you have any idea how pkgdepend decides these dependency paths? Examining the built libgmpxx.so.4.1.2 with ldd, it correctly says it depends from /usr/sfw/lib files. Searching for libstdc++.so.6 via pkg search on my build system, finds pkg:/system/library/gcc-3-runtime delivering the correct file /usr/sfw/lib/libstdc++.so.6. Why pkgdepend cannot see this? Be careful with using ldd -- it does a full traversal of the objects brough in by the ELF dependencies, and isn't as strict as pkgdepend, which looks just at each individual object, one at a time. So what it looks like is that yousr libgmpxx has a RUNPATH of /lib:/usr/lib and so won't find libstdc++.so.6, even though something else might pull it in for it. Check the output of elfdump -d libgmpxx.so.4.1.2 and you'll see. You'll need to link libgmpxx with "-R /usr/sfw/lib". If elfdump shows /usr/sfw/lib in the RUNPATH, then I'm not sure what could be going on. Danek
_______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
