All,
Jason and I are looking into this one offline.
Interestingly, a shared library is being used for the NCAR Graphics
"ngmath" library, and this is not something that our build is set up
to do automatically. I'm checking to see if there is something
wrong with the way it was done here.
--Mary
On Tue, 4 Sep 2007, Jason Tillett wrote:
> 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
>
_______________________________________________
ncarg-talk mailing list
ncarg-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncarg-talk
Received on Wed Sep 05 2007 - 05:29:43 MDT
This archive was generated by hypermail 2.2.0 : Fri Sep 07 2007 - 11:03:57 MDT