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

Re: Makefile system

To: info-inventor-dev@xxxxxxxxxxx
Subject: Re: Makefile system
From: Jan Prikryl <prikryl@xxxxxxxx>
Date: Mon, 16 Oct 2000 11:43:57 +0200
In-reply-to: <200010160719.AAA38491@xxxxxxxxxxxxxxxxxxxx>; from jlim@xxxxxxxxxxxxxxxxxxxx on Mon, Oct 16, 2000 at 12:19:27AM -0700
References: <20001016090540.A19172@xxxxxxxxxxxxxxx> <200010160719.AAA38491@xxxxxxxxxxxxxxxxxxxx>
Sender: owner-info-inventor-dev@xxxxxxxxxxx
Quoting Jonathan Lim (jlim@xxxxxxxxxxxxxxxxxxxx):

> > (1) There are -lGL -lGLU -lXt -lXi -lX11 missing when linking
> >     ivman. The same problem appears when building stuff in 'apps'
> >     directory .
> 
> I don't believe this is a problem because libInventor.so and
> libInventorXt.so automatically loads those other DSO's. Make sure
> you have LD_LIBRARY_PATH set correctly.

Well, the problem was issuing only 'make' and not 'make install' and
therefore linkling against the old version of libInventor.so.

> > (2) Even if making ivman fails, the build continues further
> 
> There are no specific instructions to halt the build if that of
> ivman fails. I believe gmake determines when it's had enough errors.

If you have a rule with a shell loop of

  for i in $(SUBDIRS) ; do (cd $i ; $(MAKE) all) ; done

the rule will in my opinion ignore the exit status of the sub-makes
except for the last one - the exit status of the loop is the exit
status of the last command list being called ... or am I mistaken?

I'd say that something like 

  for i in $(SUBDIRS) ; do (cd $i && $(MAKE) all) || exit 1 ; done

would be better in this case - just in order to not overlook errors
during the build (ok, if there are errors it'll not work anyway or the
build is going to fail later due to undefined symbols, but I guess it
would be more appropriate to stop the compilation after an error
occurred instead of trying to build everything that can be built until
the build finally fails).

But it's a matter of taste, I agree.

> > (3) In order to generate the manual pages, ivman needs access to your
> >     X display (this I consider to be a feature, but it's not
> >     mentionied anywhere as far as I know)
> 
> See README.FIRST. X display access is needed because ivman calls
> SoXt::init().

Oops. Sorry. It's indeed mentioned there.

-- jan

--------------------+------------------------------------------------------
 Jan Prikryl        | vr|vis center for virtual reality and visualisation
 <prikryl@xxxxxxxx> | http://www.vrvis.at
--------------------+------------------------------------------------------


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