I'm clueless
Kevin Brown
kevin_brown@uswest.net
Tue, 11 Apr 2000 16:34:11 -0700
Alright, the problem is just what I kinda thought. It isn't corrupt, it was
compiled for the x86 instruction set and I'm trying to get it to run on a DEC
Alpha processor. Oh, well, time to find the source (if it exists) and go from
there. Thanks Kevin and Rusty, I just learned a little more.
> > Ok, with some help (thanks Patrick) I was able to get past a few
> > problems in trying to get a program to compile. I was able to
> > connect to the CVS server for this packet sniffing program. For the
> > past two days I've tried to figure this out to no avail. I tried
> > searching Altavista and Google for similar errors to see what fixes
> > were tried. No go, so ...
> >
> > libEQ.a: could not read symbols: File format not recognized
> > collect2: ld returned 1 exit status
> > make[2]: *** [showeq] Error 1
> > make[2]: Leaving directory `/tmp/showeq-2.1.2/src'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/tmp/showeq-2.1.2'
> > make: *** [all-recursive-am] Error 2
> >
> > I tried redownloading both the tar.gz file (since one of the
> > developers noticed a problem if Winzip was used) and the cvs version
> > (to different directories) and both end with this error. The file
> > is present, it is not in source format, just the archive format (I
> > think that is what .a files are). So..., Any clue.
>
> Here are my guesses:
>
> 1) libEQ.a is an archive library for a different architecture than
> what you are building on.
>
> 2) libEQ.a is corrupt.
>
> You might try listing the archive library with the ar program to see
> what's in it. That'll give you some indication if it's corrupt or not.
> Use the following command:
>
> ar t libEQ.a
>
> If the above command produces a list of .o files, then try the following:
>
> ar x libEQ.a foo.o
>
> where foo.o is one of the object files from the above list.
>
> Now run ``file'' on the extracted file:
>
> file foo.o
>
> It should produce output something like this...
>
> foo.o: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
>
> If it says it's stripped, that's no good since you need symbols to do the
> linking.
>
> If the architecture doesn't match the one you're building on, that won't
> work either since you need to link object files together which've been
> compiled for the same architecture.
--
"Intel giveth and Microsoft Taketh Away" - Gordon Moore