Bug 1745 - Build failure in xc/lib/dpstk/
Summary: Build failure in xc/lib/dpstk/
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Lib/other (show other bugs)
Version: git
Hardware: SPARC Solaris
: low normal
Assignee: Xorg Project Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-10-31 15:31 UTC by Roland Mainz
Modified: 2005-07-02 21:50 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Roland Mainz 2004-10-31 15:31:54 UTC
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... ;-(
Comment 1 Alan Coopersmith 2004-10-31 17:57:58 UTC
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.
Comment 2 Roland Mainz 2004-10-31 18:12:47 UTC
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 ?
Comment 3 Alan Coopersmith 2004-11-01 08:18:02 UTC
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.
Comment 4 Adam Jackson 2005-06-07 16:20:35 UTC
not a blocker, dps is no longer part of the default build.
Comment 5 Adam Jackson 2005-07-03 12:48:52 UTC
alan or roland, do we care enough about this to keep it open?
Comment 6 Alan Coopersmith 2005-07-03 14:50:34 UTC
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.