info-inventor-dev
[Top] [All Lists]

Re: OpenInventor Solaris patch set with build instructions.

To: Jonathan Lim <jlim@xxxxxxx>
Subject: Re: OpenInventor Solaris patch set with build instructions.
From: Vincent Cojot <coyote@xxxxxxxxxxxxxxx>
Date: Thu, 5 Sep 2002 15:37:16 -0400 (EDT)
Cc: info-inventor-dev@xxxxxxxxxxx
In-reply-to: <200209051818.LAA45610@xxxxxxxxxxxxxxxxxxxx>
Sender: info-inventor-dev-bounce@xxxxxxxxxxx
On Thu, 5 Sep 2002, Jonathan Lim wrote:

> On Thu Sep  5 05:24:34 2002, coyote@xxxxxxxxxxxxxxx wrote:
> >
> > After browsing through the list archives for a while, I came up with a patch
> > against inventor-2.1.5-9 that lets one compile it end to end under
> > Solaris/Sparc (tested under Solaris 8 02/02 with gcc 2.95.3).
>
> A number of the makefile changes involve adding "-lXm -lXt -lX11 -lGLU -lGL" 
> to
> LLDLIBS. libInventorXt.so depends on them and should be able to pull them in 
> as
> needed.

Hello Jonathan,

Thanks for your reply...

Here is what happens with SUN ld if you don't append the libs to the link
line (example with noodle):

root@ergoth:[/tmp/OpenInventor-2.1.5.9.2/apps/demos/noodle ]gmake
/opt/sfw/bin/g++  -L//usr/local/lib  -L/usr/openwin/lib  NoodleSlider.o
Interface.o NoodleSurfaceGizmo.o WorldInfo.o LineManip.o
NoodleTextureGizmo.o noodle.o LineManipHilight.o profile.o
../../nodes/GeneralizedCylinder/NurbMaker.o
../../nodes/GeneralizedCylinder/Triangulator.o
../../nodes/GeneralizedCylinder/GeneralizedCylinder.o -lInventor
-lInventorXt  -o noodle
Undefined                       first referenced
 symbol                             in file
XmToggleButtonGetState              Interface.o  (symbol belongs to implicit 
dependency /lib/libXm.so.4)
XmCreateLabelGadget                 NoodleSurfaceGizmo.o  (symbol belongs to 
implicit dependency /lib/libXm.so.4)
XmCreateText                        NoodleSurfaceGizmo.o  (symbol belongs to 
implicit dependency /lib/libXm.so.4)
XmCreateRowColumn                   noodle.o  (symbol belongs to implicit 
dependency /lib/libXm.so.4)
[....continued.....]
XInternAtom                         noodle.o  (symbol belongs to implicit 
dependency /usr/openwin/lib/libX11.so.4)
ld: fatal: Symbol referencing errors. No output written to noodle
collect2: ld returned 1 exit status
gmake: *** [noodle] Error 1

A newsgroup post from Casper Dik (from SUN) explains this behaviour:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&frame=right&th=28295c6a5d7d780d&seekm=casper.866891871%40uk-usenet.uk.sun.com#link3

[..quote....]
The reason for this behaviour is simple; the implicit
dependency to libnsl.so.1 may change at one point, e.g., when libsocket
would become self-contained.  Programs that previously relied on this
implicit dependency would then fail with undefined symbols at runtime.

Making the symbols from the implicit dependencies visible to
other objects is therefor wrong.
[..quote....]

But I agree that I should set a make define (as in SUNLLDLIBS) and use
SUNLLDLIBS in the makefiles instead...

Do you want me to do that? Would you prefer it in a different manner?

,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,
Vincent S. Cojot, Computer Engineering. STEP project. _.,-*~'`^`'~*-,._.,-*~
Ecole Polytechnique de Montreal, Comite Micro-Informatique. _.,-*~'`^`'~*-,.
Linux Xview/OpenLook resources page _.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'
http://step.polymtl.ca/~coyote  _.,-*~'`^`'~*-,._ coyote@xxxxxxxxxxxxxxx

They cannot scare me with their empty spaces
Between stars - on stars where no human race is
I have it in me so much nearer home
To scare myself with my own desert places.       - Robert Frost




<Prev in Thread] Current Thread [Next in Thread>