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

Re: compiling



Re-Hi,

>> [...]

> I found out that the same happened with libcxml and ran the same command
> line in exchanging all libcpml stuff with libcxml. This one worked, too.

Should work as well. I'll look into that for completeness.

> Which paths should be listed in the /etc/ld.so.conf? It had only entries
> for 2 X11-libs. I typed in additional lines:

Regarding the Compaq tools, you should not need to change any of the search-paths.
They link the libaries from their respective dirs in /usr/lib/compaq to /usr/lib.

ldconfig considers /lib and /usr/lib as "trusted paths" and searches them anyway. No need
to put them in /etc/ld.so.conf ( which is a bit crappy IMHO anyway - but that's another story ).
Especially, you should avoid putting version-specific paths in there, like the line
containing gcc-lib below.
 
> /lib
> /usr/lib
> /usr/lib/gcc-lib/alpha-linux/2.95.2
> /usr/X11R6/lib/Xaw3d
> /usr/X11R6/lib
 
> > > ld: cannot find -lgcc
> > > make: *** [mb] Error 1
> > [...]
> > /usr/lib/compaq/ccc-"your_version"alpha-linux/bin/comp.config
> 
> I had this file edited by hand.
> 
> 
> After running that script, the error message still shows up, so I tried
> to find the path to the directory, it added to the /etc/ld.so.conf file
> and still got the error message. I couldn't find a *.so in the
> directory, just a *.a. Might it be possible, that I have to run this
> command line here as well to create a shared lib? 

Ok. libgcc ( which appears to be missing ) is in /usr/lib/gcc-lib/alpha-linux/2.95.2/libgcc.a

That tells two stories.
1. It's an ar(1) archive. Not a shared object. ldconfig, ld.so.conf and friends have absolutely
    nothing to do with it. The linker has to find it at compile-time ( better: link-time ).
    Everything you do with ldconfig and friends, it manipulating paths, were the dynamic
    linker finds shared objects at run-time.
2. The file comp.config in /usr/lib/compaq/ccc*/*/bin *must* contain the line
    -L/usr/lib/gcc-lib/alpha-linux/2.95.2

The second point is of importance. The switch "-L<something>" tells the compiler driver
 ( ccc ) to pass the path following -L to the linker.

The best would be, to show the contents of comp.config, you have.

> Thank you for your help, as usual one learns a lot from this. 

Be my guest ;-)


> Regards,
> 
> Kerstin

Regards, 
Thomas Weyergraf




Reply to: