2004-10-30-trunk, my build on Solaris 8 (using Sun Workshop/Forte 8 as compiler) fails like this in xc/lib/dpstk/: -- snip -- (cd .; LD_RUN_PATH=/usr/X11R6/lib cc -o ./libdpstkXm.so.1.0~ -G -z text -h libdpstkXm.so.1.0 FSBwraps.o FontSample.o FontSB.o FontC reato.o CSBwraps.o ColorSB.o DSWwraps.o DPSScrollW.o -L/usr/X11R6/lib -R/usr/X11R6/lib -lXm -ldpstk -lpsres -L../../exports/lib -l SM -lICE -lXt -lSM -lICE -ldps -lX11 -lc) ld: fatal: library -ldpstk: not found ld: fatal: library -lpsres: not found ld: fatal: File processing errors. No output written to ./libdpstkXm.so.1.0~ *** Error code 1 make: Fatal error: Command failed for target `libdpstkXm.so.1.0' Current working directory /shared/bigtmp/xorg/work003/xc/lib/dpstk *** Error code 1 make: Fatal error: Command failed for target `all' Current working directory /shared/bigtmp/xorg/work003/xc/lib *** Error code 1 make: Fatal error: Command failed for target `all' Current working directory /shared/bigtmp/xorg/work003/xc *** Error code 1 make: Fatal error: Command failed for target `World' Current working directory /shared/bigtmp/xorg/work003/xc *** Error code 1 make: Fatal error: Command failed for target `World' -- snip -- It seems the "-L../../exports/lib" should be listed _before_ "-ldpstk -lpsres" ... somehow... I have right now no clue how to archive this... ;-(
Probably just need to change this in the Imakefile: SharedDepLibraryTarget(dpstkXm,$(SODPSREV),$(MOTIFOBJS),$(MOTIFOBJS) $(MOTIFLIB) $(DPSTKLIB) $(PSRESLIB),.,.) to include $(LDPRELIB) before the $(DPSTKLIB) - the required libraries defines in the sunLib.tmpl normally handle this for you.
Alan Coopersmith wrote: > to include $(LDPRELIB) before the $(DPSTKLIB) - the required libraries defines > in the sunLib.tmpl normally handle this for you. This is the part why I am slightly worried... why do all other libraries link without problems except this one ?
Because all other libraries already include $(LDPRELIB) in the appropriate spot via the defines in sunLib.tmpl, which get used via the REQUIRED_LIBS flag. The problem here seems to be that you're compiling two libraries in a single Imakefile with different sets of REQUIRED_LIBS so you have to take care of this yourself. If you wanted to make it a little more like other libraries, you could stick lines in all the *Lib.tmpl files like this: #define SharedDPSTkXmReqs $(LDPRELIB) $(MOTIFLIB) $(DPSTKLIB) $(PSRESLIB) and then use SharedDPSTkXmReqs in the SharedDepLibraryTarget call If you wanted to make it exactly like other libraries, you'ld move it into it's own directory (either lib/dpstkxm or lib/dpstk/motif) where it could have a standard standalone library Imakefile instead of trying to munge two libraries into one Imakefile.
not a blocker, dps is no longer part of the default build.
alan or roland, do we care enough about this to keep it open?
Even if we were still building DPS, building of dpstkXm is now disabled on Solaris since you can't link libXm from Solaris with libX11 from the tree (it has dependencies on things in Solaris's libX11 & libXt that we haven't had a chance to contribute back yet), so I can't even test to see if this will work.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.