Another way ld can fail to find e.g

Another way ld can fail to find e.g

Post by Mark H. Wo » Sun, 08 Oct 1995 04:00:00

The stock libXpm.3.4f-ELF.tar.gz places the files in [/]usr/X11R6/lib.  The
stock GCC 2.7.0 kit includes ld scripts that don't look there.  Much (but not
all) of the stuff in XFree86 3.1.x gets symlinked from places where the ld
scripts *do* look, so some things link and some don't depending on which
libraries they want.  This will drive you crazy until you realize that ld isn't
using the same search list as

Is it better to make (and maintain) scads of symlinks for all these libraries,
or to tweak the ld scripts to look in *all* of the "right places"?  From a
maintenance standpoint, I'd rather the latter, but I wanted a reality check
before doing so.

You are in a twisty little maze of hyperlinks, all useless.


Another way ld can fail to find e.g

Post by Mark H. Wo » Tue, 10 Oct 1995 04:00:00

Hmmm, I could have been more specific.  gcc 2.7.0 searches for libraries only
in /lib:/usr/lib:/usr/local/lib:/usr/i486-linux/lib and nowhere else, according
to the stuff in /usr/lib/ldscripts/*.  Any X libraries that are found by
default, are found because each such library has been linked from one of those
directories.  Is it worth bugging H.J. to add, say, /usr/X11/lib to the
standard SEARCH_DIR list?  Then only the /usr/X11 link needs to be maintained
as we upgrade X.  This should eliminate a lot of questions about "the linker
claims it can't find libTHUSANDSO, but it is there...".

You could argue that the X stuff should live in the "standard" library
directories with everything else, but there are relationships among the X
libraries that are much stronger than among most collections of libraries, and
I can see why we'd want to keep them segregated.  Comments?

(BTW, anybody know what's up with the FSSTND document?  The server keeps saying
404 Not Found....)

You are in a twisty little maze of hyperlinks, all useless.


1. make: Fatal error: Command failed for target `'

I'm trying to compile Xpm on a Sun Sparc 20. The OS is Solaris 2.3. First I did
xmkmf. Later I typed make and got the following message.

(cd shared; ld -o ../ -G -z text -M mapfile -h data.
o create.o misc.o rgb.o scan.o parse.o hashtab.o  CrBufFrI.o CrDatFrP.o CrPFrBuf
.o RdFToI.o WrFFrI.o  CrBufFrP.o CrIFrBuf.o CrPFrDat.o RdFToP.o WrFFrP.o  CrDatF
rI.o CrIFrDat.o RdFToDat.o WrFFrDat.o  Attrib.o CrIFrP.o CrPFrI.o Image.o Info.o
RdFToBuf.o WrFFrBuf.o )
*** Error code 1

Text relocation remains                       referenced
against symbol                  offset      in file
ungetc                              0xc8        data.o
_filbuf                             0x294       data.o
_filbuf                             0x3bc       data.o
_filbuf                             0x3cc       data.o
ungetc                              0x3e0       data.o
_filbuf                             0x1e4       data.o
and heaps more

ld:fatal relocations remain against allocatable but non-writeable sections
make: Fata error: Command failed for target ``

I assume I'm not including  correct libraries in the Makefile.  Only lnsl and lsocket are referenced from the Makefile.

Thanks in advance
Tariq Malik

2. Reading is much more interesting than TV (1684/1708)

3. RedHat 7.3 doesnt work with ANY cdrom drive

4. Netscape 3 and => not found

5. Need RS6K serial cable converters

6. how do I find my ?

7. Tomcat-Apache under RedHat 7.1

8. Cannot find

9. --- where do I find it ?

10. Netscape can't find

11. grok error: not found

12. Where can I find