On Wednesday, January 07 2004 08:04 pm, Jay R. Ashworth wrote: > On Wed, Jan 07, 2004 at 08:00:29PM -0500, George Socker wrote: > > On Tuesday, January 06 2004 12:38 pm, JD Ross wrote: > > > You need libncurses-dev. > > > > > > Jay R. Ashworth wrote: > > > >On Tue, Jan 06, 2004 at 07:06:37AM -0500, Wise, Jeremey wrote: > > > >>gcc -m32 -o resize -O2 -fno-strength-reduce > > > >> -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith > > > >>-Wstrict-prototypes -Wmissing-prototypes > > > >>-Wmissing-declarations -Wredundant-decls > > > >>-Wnested-externs -Wundef -L../../exports/lib resize.o > > > >>xstrings.o -lncurses -Wl,-rpath-link,../../exports/lib > > > >>/usr/lib/gcc-lib/i586-suse-linux/3.3.1/../../../../i586-suse-li > > > >>nux/ bin/ld: cannot find -lncurses > > > > > > > >Normal ordinary C compilation eror -- I'm not an X Guy, and I > > > > can tell you how to fix it. > > > > > > > >On second look, that error from ld seems wrong, too; it > > > > shouldn't be looking for "-lncurses", it should be looking for > > > > "libncurses". I'm wondering if that's a thinko in the makefile > > > > -- perhaps the .o files should be at the end; there isn't > > > > anything else after xstrings.o, which may be confusing getargs > > > > in gcc. > > > > Actually, it should be "-lncurses". The linker automatically turns > > given library names into "libxxx.so". If you use "-llibncurses", > > the linker will look for "liblibncurses.so" and will fail. > > I wasn't clear on two points: the -lncurses switch, which *is* > present on the command line in the makefile, should be causing the > linker to look for libncurses, *which it clearly is not* from the > error message. Actually, it *is* looking for libncurses.so, despite the error message saying -lncurses was not found. Example gcc test1.c -lGL1 (which does not exist) Result: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/../../../../ i686-pc-linux-gnu/bin/ld: cannot find -lGL1 Strace -f results - [pid 3016] open("/usr/lib/libGL1.so", O_RDONLY) = -1 ENOENT (No such file or directory) ^^^^^^^^^ Note that is is looking libGL1.so, not GL1. The linker automatically adds the lib portion. See man ld. > Secondly, that may be *happening* (I thought) because there is no > file name following those switches on the linker command line... but > apparently the linker *would* tolerate that (and incidentally, "is > generating a misleading error") since all he did was install the > missing ncurses-devel package (so far as I know), and the problem > went away. > > Cheers, > -- jra
Attachment:
pgp00044.pgp
Description: signature