[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20051003: Compiling McIDAS on FC4 64bit



>From:  =?ISO-8859-1?Q?Christian_Pag=E9?= <address@hidden>
>Organization:  UQAM
>Keywords:  200510031831.j93IVMG7009290 McIDAS Fedora Core 4

Hi Christian,

re:
>I am trying to compile McIDAS 2005 on a server running FC4 in 64-bit.
>I have g77 3.2 and gcc 4. I don't have any clue on how to fix it...
>
>The error is:
>(...)
>compile mci_nvpp.for:           done
>./mccomp -O -v -g -s -g77 -o mcimage mci.o mci_brie.o mci_buff.o
>mci_cmap.o mci_comb.o mci_cpfl.o mci_curs.o mci_evnt.o mci_frfl.o
>mci_glbl.o mci_rsrc.o mci_updt.o mci_visl.o mci_nvpp.o -L.
>-L/usr/X11R6/lib64 -lmcidas -lXext -lX11
>mccomp: Using default optimizations
>g77 -v -g -s -O -o mcimage mci.o mci_brie.o mci_buff.o mci_cmap.o
>mci_comb.o mci_cpfl.o mci_curs.o mci_evnt.o mci_frfl.o mci_glbl.o
>mci_rsrc.o mci_updt.o mci_visl.o mci_nvpp.o -L. -L/usr/X11R6/lib64
>-L/usr/X11R6/lib -lmcidas -lXext -lX11 -ldl -lm
>Driving: g77 -v -g -s -O -o mcimage mci.o mci_brie.o mci_buff.o
>mci_cmap.o mci_comb.o mci_cpfl.o mci_curs.o mci_evnt.o mci_frfl.o
>mci_glbl.o mci_rsrc.o mci_updt.o mci_visl.o mci_nvpp.o -L.
>-L/usr/X11R6/lib64 -L/usr/X11R6/lib -lmcidas -lXext -lX11 -ldl
>-lfrtbegin -lg2c -lm -lg2c -lm -shared-libgcc
>Reading specs from /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/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
>--enable-languages=c,c++,f77 --disable-libgcj
>--host=x86_64-redhat-linux
>Thread model: posix
>gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47.fc4)
> /usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/collect2 --eh-frame-hdr -m
>elf_x86_64 -Y P,/usr/lib64 -dynamic-linker /lib64/ld-linux-x86-64.so.2
>-o mcimage -s 
>/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/../../../../lib64/crt1.o
>/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/../../../../lib64/crti.o
>/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/crtbegin.o -L.
>-L/usr/X11R6/lib64 -L/usr/X11R6/lib
>-L/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3
>-L/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/../../../../lib64
>-L/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/../../.. -L/lib/../lib64
>-L/usr/lib/../lib64 mci.o mci_brie.o mci_buff.o mci_cmap.o mci_comb.o
>mci_cpfl.o mci_curs.o mci_evnt.o mci_frfl.o mci_glbl.o mci_rsrc.o
>mci_updt.o mci_visl.o mci_nvpp.o -lmcidas -lXext -lX11 -ldl -lfrtbegin
>-lg2c -lm -lg2c -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc
>/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/crtend.o
>/usr/lib/gcc-lib/x86_64-redhat-linux/3.2.3/../../../../lib64/crtn.o
>mci_evnt.o(.text+0x9c6): In function `main_event':
>/kepler/mcidas/mcidas2005/src/mci_evnt.c:1403: undefined reference to `a_'
>./libmcidas.a(prescn.o)(.text+0x70): In function `prescn_':
>/kepler/mcidas/mcidas2005/src/prescn.f:67: undefined reference to `a_'
>collect2: ld returned 1 exit status
>link    mcimage:                FAILED

I have been seeing this failure more and more under Linux as machines
and the OS get faster.  What is happening is that the object modules
that are destined for the McIDAS (libmcidas.a) or SDI (libsdi.a)
libraries are not being correctly added to the library, so linking will
fail with errors like what you are reporting ('undefined reference').
This is apparently being caused by 'make' trying to be faster by
running simultaneous processes.  Interestingly, I _never_ see these
errors on my home development machine, a _slow_ 700 Mhz PIII running
FC4 32-bit.

You can force 'make' to run in "single job mode" (to serialize the build
process) as follows:

<as 'mcidas'>
cd ~mcidas/mcidas2005/src
make clobber

make -j 1                   <- build McIDAS-X

 -- or --

make -j 1 all               <- build McIDAS-X and McIDAS-XCD

Please let me know if this works for you (it just worked for me on a
dual 3.2 Ghz EM64T machine running FC4 64-bit).

Cheers,

Tom
--
+-----------------------------------------------------------------------------+
* Tom Yoksas                                             UCAR Unidata Program *
* (303) 497-8642 (last resort)                                  P.O. Box 3000 *
* address@hidden                                   Boulder, CO 80307 *
* Unidata WWW Service                             http://www.unidata.ucar.edu/*
+-----------------------------------------------------------------------------+