Re: need help linking

From: Jason Tillett <tillett_at_nyahnyahspammersnyahnyah>
Date: Tue, 4 Sep 2007 13:34:46 -0400

Dear Mary, Thank you for your message. nm $NCARG_ROOT/lib/libncarg.a | grep icfell results in (last couple dozen lines) U icfell_ U icfell_ U icfell_ icfell.o: 00000000 T icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ U icfell_ c_icfell.o: 00000000 T c_icfell U icfell_ ------------------------------------------- nm $NCARG_ROOT/lib/libncarg.a | grep seter results in (last couple dozen lines) U seter_ U seter_ U seter_ seter.o: 00000000 T seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ U seter_ c_seter.o: 00000000 T c_seter U seter_ --------------------------------------- ncarg was built from source using gcc (I looked at Makefile that was presumably generated by Configure script) Thank you for your help Jason ----- Original Message ----- From: "Mary Haley" <haley_at_ucar.edu> To: "Jason Tillett" <tillett_at_ece.rochester.edu> Cc: <ncarg-talk_at_ucar.edu> Sent: Friday, August 31, 2007 4:11 PM Subject: Re: need help linking > Jason, > > The "icfell" and "seter" symbols should be in the "ncarg" (libncarg.a) > library. There can be a couple of things wrong here. > > One is maybe your compiler is expecting there to be underscores > appended after the name of every Fortran subroutine in the library, > but NCAR Graphics was compiled such that these underscores were > removed. > > The second possibility is that these symbols just didn't get compiled > into the library for some reason, but this is unlikely. > > Can you type the following and let me know what it says: > > nm $NCARG_ROOT/lib/libncarg.a | grep icfell > nm $NCARG_ROOT/lib/libncarg.a | grep seter > > Also, did you build NCAR Graphics from source, or install from a > pre-compiled binary? If you built from source, which compilers did you > use? If you used a binary, which one did you download? > > Thanks, > > --Mary > > On Fri, 31 Aug 2007, Jason Tillett wrote: > >> I have a (I believe) mixed c/c++ program and am trying to use >> c_cssgrid. I am using ncargcc to compile. I have been able to >> solve all linking problems except 1. There remain unresolved >> references to icfell_ and seter_. >> >> Here is the output of the command >> >> ncargcc RingDaemon_single.cc -ngmath -noX11 >> >> gcc -v -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -DNeedFuncProto >> -ansi -O RingDaemon_single.cc >> /home/jtillett/ncarg_files/lib/ncarg/robj/ggkwdr_stub.o -L/home/jtillett/ncarg_files/lib >> -L/usr/X11R6/lib -I/home/jtillett/ncarg_files/include -lncarg -lncarg_gks >> -lncarg_c -lngmath -lg2c -lgcc -lm -lstdc++ >> Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs >> Configured with: >> ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info >> --enable-shared --enable-threads=posix --disable-checking --with-system-zlib >> --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk >> --host=i386-redhat-linux >> Thread model: posix >> gcc version 3.4.6 20060404 (Red Hat 3.4.6-8) >> /usr/libexec/gcc/i386-redhat-linux/3.4.6/cc1plus -quiet -v -I/home/jtillett/ncarg_files/include >> -D_GNU_SOURCE -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -DNeedFuncProto >> RingDaemon_single.cc -quiet -dumpbase RingDaemon_single.cc -ansi -auxbase >> RingDaemon_single -O -ansi -version -o /tmp/ccBMD0La.s >> ignoring nonexistent directory >> "/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../i386-redhat-linux/include" >> #include "..." search starts here: >> #include <...> search starts here: >> /home/jtillett/ncarg_files/include >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6 >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/i386-redhat-linux >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../../include/c++/3.4.6/backward >> /usr/local/include >> /usr/lib/gcc/i386-redhat-linux/3.4.6/include >> /usr/include >> End of search list. >> GNU C++ version 3.4.6 20060404 (Red Hat 3.4.6-8) (i386-redhat-linux) >> compiled by GNU C version 3.4.6 20060404 (Red Hat 3.4.6-8). >> GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64310 >> as -V -Qy -o /tmp/cckz9t3w.o /tmp/ccBMD0La.s >> GNU assembler version 2.15.92.0.2 (i386-redhat-linux) using BFD version >> 2.15.92.0.2 20040927 >> /usr/libexec/gcc/i386-redhat-linux/3.4.6/collect2 --eh-frame-hdr -m >> elf_i386 -dynamic-linker /lib/ld-linux.so.2 >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crt1.o >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crti.o >> /usr/lib/gcc/i386-redhat-linux/3.4.6/crtbegin.o -L/home/jtillett/ncarg_files/lib >> -L/usr/X11R6/lib -L/usr/lib/gcc/i386-redhat-linux/3.4.6 -L/usr/lib/gcc/i386-redhat-linux/3.4.6 >> -L/usr/lib/gcc/i386-redhat-linux/3.4.6/../../.. /tmp/cckz9t3w.o >> /home/jtillett/ncarg_files/lib/ncarg/robj/ggkwdr_stub.o -lncarg -lncarg_gks >> -lncarg_c -lngmath -lg2c -lgcc -lm -lstdc++ -lgcc --as-needed -lgcc_s --no-as-needed >> -lc -lgcc --as-needed -lgcc_s --no-as-needed >> /usr/lib/gcc/i386-redhat-linux/3.4.6/crtend.o >> /usr/lib/gcc/i386-redhat-linux/3.4.6/../../../crtn.o >> /home/jtillett/ncarg_files/lib/libngmath.so: undefined reference to >> `seter_' >> /home/jtillett/ncarg_files/lib/libngmath.so: undefined reference to >> `icfell_' >> collect2: ld returned 1 exit status >> >> >> ------------------------------------------- >> >> >> here is my ncargcc file (the first dozen or so lines) >> >> >> >> if ($status != 0) then >> exit 1 >> endif >> >> set syslibdir = "-L/usr/X11R6/lib" >> set xlib = "-lX11 -lXext" >> set system = ""LINUX"" >> set cc = "gcc -v" >> set defines = >> "-DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped -DNeedFuncProto" >> set loadflags = "-ansi -O " >> set libdir = `ncargpath lib` >> set incdir = `ncargpath include` >> set ro = "$libdir/ncarg/robj" >> set f77libs = "-lg2c -lgcc -lm" >> set libpath = "-L$libdir $syslibdir" >> set incpath = "-I$incdir" >> >> set libextra = "-lstdc++" >> >> set newargv = "$cc $defines $loadflags" >> >> set ctrans_libs = "" >> set stub_file = "" >> >> set smooth = "$ro/libdashsmth.o" >> set quick = "$ro/libdashline.o $ro/libconrcqck.o $ro/libconraq.o" >> set super = "$ro/libdashsupr.o $ro/libconrcspr.o $ro/libconras.o" >> >> # >> # set up default libraries >> # >> set libncarg = "-lncarg" >> set libgks = "-lncarg_gks" >> set libmath = "" >> set libncarg_c = "-lncarg_c" >> >> set robjs >> >> >> Thank You, >> >> Jason >> >> >>
_______________________________________________
ncarg-talk mailing list
ncarg-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
Received on Tue Sep 04 2007 - 11:34:46 MDT

This archive was generated by hypermail 2.2.0 : Fri Sep 07 2007 - 11:03:57 MDT