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

20050424: McIDAS - linker error with mcidas 2004 (cont.)



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

Jake,

>I successfully compiled McIDAS this evening.

I always like to hear about progress. :-)

>I got more errors after 
>trying your other suggestions, but I used the 'make clobber' technique 
>you explained to start compiling again from the beginning.  I noticed 
>that this time, some of the individual files that compiled fine the 
>first time gave an error message on the second run.  Initially these 
>errors were due to software that I didn't have installed.  So, 
>yesterday, I installed the software after receiving the error and 
>continued the compilation process with 'make mcx VENDOR=-g77'.  I 
>noticed today that the computer didn't start with the file that I hadn't 
>yet compiled, but rather the one after it in the compiling order.

This tells me that an object file for the routine was created even
though the compilation itself failed.  The object file would be
either short or empty, but in both cases 'make' would have no way
of knowing that it was bad, so the build would start with the next
routine on the list to compile.

>Later 
>on in the process it started giving the errors about having undefined 
>references to certain objects and libraries.  So I ran 'make clobber' 
>again and it ran through the entire compilation process just fine (it 
>compiled in under 10 minutes).

OK.

>My conclusion:  Every time the compiler exited due to missing software 
>on my system, it started back with the McIDAS component _after_ the one 
>that failed during the previous compile session, which had a domino 
>effect on libraries farther down the chain, causing them to not contain 
>all the objects they should have.

This fits my comment above.

>When I finally got all the necessary 
>software installed and it was able to go from start to finish without 
>stopping due to error, it had fully-populated libraries to work with, 
>and did not run into "undefined" errors.

Very good.

>I have one question:  When I compiled the software I ran 'make mcx' 
>instead of 'make all', intending to later go back and compile the rest 
>of the components after I'd gotten the main program compiled.  What 
>components would be added by running 'make all' ?

Unidata McIDAS is composed of two SSEC McIDAS packages: McIDAS-X and
McIDAS-XCD.  McIDAS-XCD is a set of decoders for data in the NOAAPORT
broadcast/Unidata Internet Data Distribution (IDD) system.   'make mcx'
builds McIDAS-X by itself; 'make all' builds McIDAS-X followed by
McIDAS-XCD.  McIDAS-X has to be built first since McIDAS-XCD routines
link against libraries built for McIDAS-X.

>I'm not planning on 
>writing any McIDAS applications; I'll probably just be using it for 
>generating images on-demand, at least until I learn how to use it 
>efficiently.  However, please provide me with information on compiling 
>the 'rest' of the package, in case I decide to do it later.

After building McIDAS-X ('make mcx') you can build McIDAS-XCD at any
time by running:

make xcd VENDOR=-g77

>Thank you again,

No worries.

Cheers,

Tom
--
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.