pkgsrc-Users archive

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

Pkgsrc under Solaris 11 Express



I'm trying to build some packages using pkgsrc under Solaris 11 Express (SPARC mostly, but I'm seeing the same problems with x86). I am using the version of gcc-3 which is available in the Solaris IPS repository along with the Gnu binutils which are also loaded.

Bootstrap of pkgsrc seems to go fine and the first few packages (perl, digest, pcre, etc.) seem to build fine. I hit a snag, though, when something wanted to build devel/glib2. A transcript of the build ends with the following:

gmake[4]: Entering directory `/usr/pkgsrc/devel/glib2/work/glib-2.24.2/glib'
/usr/pkg/bin/pdksh ../libtool  --tag=CC   --mode=link gcc  -O -I/usr/include -I/usr/pkg/include -Wall  -version-info 2400:2:2400 -export-dynamic  -export-symbols-regex "^g.*" -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -o libglib-2.0.la -rpath /usr/pkg/lib garray.lo gasyncqueue.lo gatomic.lo gbacktrace.lo gbase64.lo gbitlock.lo gbookmarkfile.lo gbuffer.lo gcache.lo gchecksum.lo gcompletion.lo gconvert.lo gdataset.lo gdate.lo gdir.lo gerror.lo gfileutils.lo ghash.lo ghook.lo ghostutils.lo giochannel.lo gkeyfile.lo glist.lo gmain.lo gmappedfile.lo gmarkup.lo gmem.lo gmessages.lo gnode.lo goption.lo gpattern.lo gpoll.lo gprimes.lo gqsort.lo gqueue.lo grel.lo grand.lo gregex.lo gscanner.lo gsequence.lo gshell.lo gslice.lo gslist.lo gstdio.lo gstrfuncs.lo gstring.lo gtestutils.lo gthread.lo gthreadpool.lo gtimer.lo gtree.lo guniprop.lo gutf8.lo gunibreak.lo gunicollate.lo gunidecomp.lo gurifuncs.lo gutils.lo gvariant.lo gvariant-core.lo gvariant-parser.lo gvariant-serialiser.lo gvarianttypeinfo.lo gvarianttype.lo gprintf.lo libcharset/libcharset.la  giounix.lo gspawn.lo  -liconv  -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lpcre   -lintl  -lnsl -lsocket
libtool: link: rm -fr  .libs/libglib-2.0.exp
libtool: link: nm -p  .libs/garray.o .libs/gasyncqueue.o .libs/gatomic.o .libs/gbacktrace.o .libs/gbase64.o .libs/gbitlock.o .libs/gbookmarkfile.o .libs/gbuffer.o .libs/gcache.o .libs/gchecksum.o .libs/gcompletion.o .libs/gconvert.o .libs/gdataset.o .libs/gdate.o .libs/gdir.o .libs/gerror.o .libs/gfileutils.o .libs/ghash.o .libs/ghook.o .libs/ghostutils.o .libs/giochannel.o .libs/gkeyfile.o .libs/glist.o .libs/gmain.o .libs/gmappedfile.o .libs/gmarkup.o .libs/gmem.o .libs/gmessages.o .libs/gnode.o .libs/goption.o .libs/gpattern.o .libs/gpoll.o .libs/gprimes.o .libs/gqsort.o .libs/gqueue.o .libs/grel.o .libs/grand.o .libs/gregex.o .libs/gscanner.o .libs/gsequence.o .libs/gshell.o .libs/gslice.o .libs/gslist.o .libs/gstdio.o .libs/gstrfuncs.o .libs/gstring.o .libs/gtestutils.o .libs/gthread.o .libs/gthreadpool.o .libs/gtimer.o .libs/gtree.o .libs/guniprop.o .libs/gutf8.o .libs/gunibreak.o .libs/gunicollate.o .libs/gunidecomp.o .libs/gurifuncs.o .libs/gutils.o .libs/gvariant.o .libs/gvariant-core.o .libs/gvariant-parser.o .libs/gvariant-serialiser.o .libs/gvarianttypeinfo.o .libs/gvarianttype.o .libs/gprintf.o .libs/giounix.o .libs/gspawn.o   libcharset/.libs/libcharset.a | sed -n -e 's/^.*[  ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /usr/pkg/bin/nbsed 's/.* //' | sort | uniq > .libs/libglib-2.0.exp
libtool: link: /usr/xpg4/bin/grep -E -e "^g.*" ".libs/libglib-2.0.exp" > ".libs/libglib-2.0.expT"
libtool: link: mv -f ".libs/libglib-2.0.expT" ".libs/libglib-2.0.exp"
libtool: link: gcc -shared  .libs/garray.o .libs/gasyncqueue.o .libs/gatomic.o .libs/gbacktrace.o .libs/gbase64.o .libs/gbitlock.o .libs/gbookmarkfile.o .libs/gbuffer.o .libs/gcache.o .libs/gchecksum.o .libs/gcompletion.o .libs/gconvert.o .libs/gdataset.o .libs/gdate.o .libs/gdir.o .libs/gerror.o .libs/gfileutils.o .libs/ghash.o .libs/ghook.o .libs/ghostutils.o .libs/giochannel.o .libs/gkeyfile.o .libs/glist.o .libs/gmain.o .libs/gmappedfile.o .libs/gmarkup.o .libs/gmem.o .libs/gmessages.o .libs/gnode.o .libs/goption.o .libs/gpattern.o .libs/gpoll.o .libs/gprimes.o .libs/gqsort.o .libs/gqueue.o .libs/grel.o .libs/grand.o .libs/gregex.o .libs/gscanner.o .libs/gsequence.o .libs/gshell.o .libs/gslice.o .libs/gslist.o .libs/gstdio.o .libs/gstrfuncs.o .libs/gstring.o .libs/gtestutils.o .libs/gthread.o .libs/gthreadpool.o .libs/gtimer.o .libs/gtree.o .libs/guniprop.o .libs/gutf8.o .libs/gunibreak.o .libs/gunicollate.o .libs/gunidecomp.o .libs/gurifuncs.o .libs/gutils.o .libs/gvariant.o .libs/gvariant-core.o .libs/gvariant-parser.o .libs/gvariant-serialiser.o .libs/gvarianttypeinfo.o .libs/gvarianttype.o .libs/gprintf.o .libs/giounix.o .libs/gspawn.o  -Wl,--whole-archive libcharset/.libs/libcharset.a -Wl,--no-whole-archive  -Wl,-rpath -Wl,/usr/pkgsrc/devel/glib2/work/.buildlink/lib -Wl,-rpath -Wl,/usr/pkgsrc/devel/glib2/work/.buildlink/lib -L/usr/pkgsrc/devel/glib2/work/.buildlink/lib /usr/pkgsrc/devel/glib2/work/.buildlink/lib/libpcre.so /usr/pkgsrc/devel/glib2/work/.buildlink/lib/libintl.so /usr/pkgsrc/devel/glib2/work/.buildlink/lib/libiconv.so -lc -lnsl -lsocket -lc  -Wl,-R/usr/pkg/lib   -Wl,-soname -Wl,libglib-2.0.so.0 -Wl,-retain-symbols-file -Wl,.libs/libglib-2.0.exp -o .libs/libglib-2.0.so.0.2400.2
ld: fatal: file .libs/libglib-2.0.exp: unknown file type
ld: fatal: file processing errors. No output written to .libs/libglib-2.0.so.0.2400.2
collect2: ld returned 1 exit status
gmake[4]: *** [libglib-2.0.la] Error 1
gmake[4]: Leaving directory `/usr/pkgsrc/devel/glib2/work/glib-2.24.2/glib'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/usr/pkgsrc/devel/glib2/work/glib-2.24.2/glib'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/usr/pkgsrc/devel/glib2/work/glib-2.24.2/glib'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/usr/pkgsrc/devel/glib2/work/glib-2.24.2'
gmake: *** [all] Error 2
*** Error code 2

Stop.
bmake: stopped in /usr/pkgsrc/devel/glib2
*** Error code 1

From a quick web search, I get the impression that the problem may be that the wrong linker is being invoked. Since this is a Solaris system, it has both /usr/gnu/bin/ld and /usr/ccs/bin/ld (the latter actually being a symlink to /usr/bin/ld).

At this point, I've tried a number of ways to force the use of /usr/gnu/bin/ld, including setting the LD environment variable at bootstrap and before building glib2, rebuilding libtool with LD set and adding "TOOLS_PLATFORM.ld?=             /usr/gnu/bin/ld" to /usr/pkg/etc/mk.conf.

At this point, I'm a bit lost. Does anybody have any advice?

Thanks...
John


Home | Main Index | Thread Index | Old Index