[SLE] Can't Compile (Link) 'xfstt'
Yes, it's xfstt again. I untarred the latest (V 1.0) source, and the g++ compile seems to go OK until link time, when it bombs out thus: -------- g++ compile message --------------------------------------- c++ -o xfstt RAFile.o TTFont.o NameTable.o HeadTable.o MaxpTable.o CmapTable.o LocaTable.o GlyfTable.o LtshTable.o HdmxTable.o VdmxTable.o FpgmTable.o PrepTable.o GaspTable.o HheaTable.o HmtxTable.o CvtTable.o Os2Table.o KernTable.o EbdtTable.o EblcTable.o RasterHints.o RasterScale.o RasterDraw.o xfstt.o encoding.o -g -L/usr/X11R6/lib -lm /usr/i486-linux/bin/ld: cannot open crtbegin.o: No such file or directory make: *** [xfstt] Error 1 -------- g++ compile message --------------------------------------- I found the missing crtbegin.o in /usr/lib/gcc-lib/i486-linux/2.7.2.3, and copied it to the xfstt source. Sigh, now 'make' gives another error: -------- g++ compile message --------------------------------------- /usr/i486-linux/bin/ld: cannot open -lgcc: No such file or directory make: *** [xfstt] Error 1 -------- g++ compile message --------------------------------------- That /usr/i486-linux/bin directory contains what seems to be circular links, linking filenames like ld to themselves. Is that possible? It looks like the SuSE install doesn't put libs, etc where g++ or xfstt expects to find them. What's going on? I compiled xfstt-0.9.9 under my old SuSE 5.2 without a problem. Howard Arons -- Powered by SuSE Linux 6.3 -- Kernel 2.2.13 Communications by Mutt 1.0i -- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
Howard Arons wrote:
Yes, it's xfstt again. I untarred the latest (V 1.0) source, and the g++ compile seems to go OK until link time, when it bombs out thus:
-------- g++ compile message --------------------------------------- c++ -o xfstt RAFile.o TTFont.o NameTable.o HeadTable.o MaxpTable.o CmapTable.o LocaTable.o GlyfTable.o LtshTable.o HdmxTable.o VdmxTable.o FpgmTable.o PrepTable.o GaspTable.o HheaTable.o HmtxTable.o CvtTable.o Os2Table.o KernTable.o EbdtTable.o EblcTable.o RasterHints.o RasterScale.o RasterDraw.o xfstt.o encoding.o -g -L/usr/X11R6/lib -lm /usr/i486-linux/bin/ld: cannot open crtbegin.o: No such file or directory make: *** [xfstt] Error 1 -------- g++ compile message ---------------------------------------
I found the missing crtbegin.o in /usr/lib/gcc-lib/i486-linux/2.7.2.3, and copied it to the xfstt source. Sigh, now 'make' gives another error:
-------- g++ compile message --------------------------------------- /usr/i486-linux/bin/ld: cannot open -lgcc: No such file or directory make: *** [xfstt] Error 1 -------- g++ compile message ---------------------------------------
That /usr/i486-linux/bin directory contains what seems to be circular links, linking filenames like ld to themselves. Is that possible?
It looks like the SuSE install doesn't put libs, etc where g++ or xfstt expects to find them.
What's going on? I compiled xfstt-0.9.9 under my old SuSE 5.2 without a problem.
You've been stung by the gcc/egcs problem. Two compilers with a mysterious, incestuous relationship to each other. I encountered exactly the same problems, though I can't remember whether it was with xfstt or some other package. What I *think* was the solution was to install egcs, which comes with the SuSE distribution. Alas, I don't remember for sure, and it might need some other library installed also, like libgcc or whatever. All this stuff is totally undocumented, of course. Or maybe I said something like --with-gcc=no for the configuration. I wish I could remember better what the fix was, but maybe someone else can help there if a simple installation of egcs doesn't do the trick. Paul Abrahams -- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
I've had similar problems with compiling mesa 3.1 and soem vrml viewers etc. The error always looks like
/usr/i486-linux/bin/ld: cannot open xxx.o: No such file or directory make: *** [xfstt] Error 1
I'd really like to know how to fix this.
I have egcs and gccfront installed.
----- Original Message -----
From: "Howard Arons"
Yes, it's xfstt again. I untarred the latest (V 1.0) source, and the g++ compile seems to go OK until link time, when it bombs out thus:
-------- g++ compile message --------------------------------------- c++ -o xfstt RAFile.o TTFont.o NameTable.o HeadTable.o MaxpTable.o CmapTable.o LocaTable.o GlyfTable.o LtshTable.o HdmxTable.o VdmxTable.o FpgmTable.o PrepTable.o GaspTable.o HheaTable.o HmtxTable.o CvtTable.o Os2Table.o KernTable.o EbdtTable.o EblcTable.o RasterHints.o RasterScale.o RasterDraw.o xfstt.o encoding.o -g -L/usr/X11R6/lib -lm /usr/i486-linux/bin/ld: cannot open crtbegin.o: No such file or directory make: *** [xfstt] Error 1 -------- g++ compile message ---------------------------------------
I found the missing crtbegin.o in /usr/lib/gcc-lib/i486-linux/2.7.2.3, and copied it to the xfstt source. Sigh, now 'make' gives another error:
-------- g++ compile message --------------------------------------- /usr/i486-linux/bin/ld: cannot open -lgcc: No such file or directory make: *** [xfstt] Error 1 -------- g++ compile message ---------------------------------------
That /usr/i486-linux/bin directory contains what seems to be circular links, linking filenames like ld to themselves. Is that possible?
It looks like the SuSE install doesn't put libs, etc where g++ or xfstt expects to find them.
What's going on? I compiled xfstt-0.9.9 under my old SuSE 5.2 without a problem.
Howard Arons -- Powered by SuSE Linux 6.3 -- Kernel 2.2.13 Communications by Mutt 1.0i
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
On Feb 12, 2000, A Nourai wrote:
I've had similar problems with compiling mesa 3.1 and some vrml viewers etc.
The error always looks like
/usr/i486-linux/bin/ld: cannot open xxx.o: No such file or directory make: *** [xfstt] Error 1
OK, I got xfstt to link, finally. I'll explain at the end of this post. For now, I want to say that as far as I can tell, either xfstt has unreasonable expectations about where to find certain libs and .o files, OR for some reason SuSE 6.3 installs them in oddball locations that the linker doesn't look in by default. The end result is that the user has to do a lot of trial-and-error to learn what files the linker can't find, and then to make sure that it CAN find them by editing the Makefile or moving/copying them to a better location. Linking xfstt: 1. Edit Makefile by adding -v option to steps that invoke linker, to see exactly what paths are being searched for files and libs. Result: gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) /usr/i486-linux/bin/ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o xfstt /usr/lib/crt1.o /usr/lib/crti.o crtbegin.o -L/usr/X11R6/lib -L/usr/lib/gcc-lib/i486-linux/egcs-2.91.66 -L/usr/i486-linux/lib {long list of .o files here...} xfstt.o encoding.o -lstdc++ -lm -lgcc -lc -lgcc crtend.o /usr/lib/crtn.o /usr/i486-linux/bin/ld: cannot open crtbegin.o: No such file or directory make: *** [xfstt] Error 1 2. So, everything is fine until the linker looks for unqualified crtbegin.o and can't find it. Copy it into the dir with Makefile. Notice that crtend.o is also unqualified, so copy it as well. Rerun 'make'. Result: same output as above, except for: /usr/i486-linux/bin/ld: cannot open -lgcc: No such file or directory make: *** [xfstt] Error 1 3. Now '-lgcc' is linker shorthand for the library 'libgcc.a' (man ld). That lib is located in /usr/lib/gcc-lib/i486-linux/2.7.2.3, so that path must be added to the LFLAGS variable as a new -L directive. Likewise, add -L directives for the directories that contain libm.a and libc.a to take no chances. Next 'make', ta daa, an xfstt executable. I repeat, SuSE mavens, why is all that necessary? Why aren't those .o files and .a files where the linker would normally expect them? Howard Arons -- Powered by SuSE Linux 6.3 -- Kernel 2.2.13 Communications by Mutt 1.0i -- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
participants (3)
-
abrahams@valinet.com
-
hlarons@ComCAT.COM
-
nagash@ozemail.com.au