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

20050422: McIDAS - linker error with mcidas 2004



>From: "Jake Wimberley" <address@hidden>
>Organization: Mississippi State University
>Keywords: 200504230114.j3N1E5tp014199 McIDAS Debian libsdi.a

Hi Jake,

>Institution: Mississippi State University / Department of Geosciences
>Package Version: 2004
>Operating System: Debian Linux 3.1 (2.4.26 kernel)
>Hardware Information: 2.53 GHz Intel Celeron D, 256MB RAM, 40GB HD
>Inquiry: Hi:
>
>I am trying to compile McIDAS-X 2004 on an Intel PC running Debian Linux 3.1
>(> 2.4.26 kernel).  I had run into several errors while compiling but was able
>to resolve most of them by installing Debian packages for programs and 
>libraries
>I previously did not have installed.  However, when the installer tried to
>link 'decoder' it failed and the makelog file provided this:
>
>./mccomp -O -s -g77 -o decoder decoder.o -L. -lsdi -lmcidas
>mccomp: Using default optimizations
>Try `uname --help' for more information.
>g77 -s -O -o decoder decoder.o -L. -L/usr/X11R6/lib -lsdi -lmcidas -ldl -lm
>decoder.o(.text+0x17b3): In function `end_of_line':
>: undefined reference to `wnvblk_'
>collect2: ld returned 1 exit status
>link    decoder:                FAILED
>
>I Googled 'wnvblk_' and found some posts about this error from February 2004. 
>That user was trying to compile McIDAS 2003 under SuSE 9.0.  It seemed that 
>no solution was ever found for that error under SuSE.

We did determine the problem under SuSE, and your problem seems to be the
same thing.

>Has this problem been addressed in the 14 months since?

Yes.

>If so, please provide me with detailed instructions for resolving it.

What was happening under SuSE 9 was not all of the modules that were
supposed to be include in libsdi.a were being added.  This was
apparently being caused by a deficiency in the version of 'make'
included in the SuSE 9 distribution.  Another user ran into the same
problem with Slackware 9, but his problem went away when he installed a
patched version of 'make'.

One quick comment:  we do not have Debian Linux in-house, so I can not
troubleshoot this problem directly.  I have had no problems like this
for any version of RedHat or Fedora Core Linux (I am currently running
the latest FC3 build on several 32 and 64 bit machines, and have built
McIDAS without error on all).

>If not,
>is it possible to skip the 'decoder' file and produce a nearly fully functional
>McIDAS installation?

Since there are lots of McIDAS routines that need modules in libsdi.a,
skipping the build of decoder will not help.

Here is what I recommend trying:

<as 'mcidas'>

cd ~mcidas/mcidas2004/src
rm libsdi.a
make libsdi.a

Then verify that all of the modules that should be included in libsdi.a
have been added using 'nm':

nm libsdi.a

The full set of object files that should be included in libsdi.a is:

calb11.o
msgadir.o
msgaget.o
msgtadir2.o
msgtaget2.o
swap2.o
BitUtil.o
Bk11Data.o
crc16.o
GVAR.o
m0tenoff.o
m0twelveoff.o
MSAT.o
NCDF.o
giniutil.o
nexrutil.o
POES.o
SDIConv.o
SDIUtil.o
servutil.o
TIP.o

If deleting libsdi.a and making it anew does not work, you will be forced to
add the modules by hand:

rm libsdi.a
ar r libsdi.a calb11.o msgadir.o msgaget.o msgtadir2.o msgtaget2.o swap2.o 
BitUtil.o Bk11Data.o crc16.o GVAR.o m0tenoff.o m0twelveoff.o MSAT.o NCDF.o 
giniutil.o nexrutil.o POES.o SDIConv.o SDIUtil.o servutil.o TIP.o

After libsdi.a is fully populated, you should be able to restart the
make process from the point you left off.

>Thank you for your assistance.

No worries.  Please let me know if the above gets you going.

Cheers

Tom Yoksas
--
NOTE: All email exchanges with Unidata User Support are recorded in the
Unidata inquiry tracking system and then made publicly available
through the web.  If you do not want to have your interactions made
available in this way, you must let us know in each email you send to us.


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.