[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] Missing and unfindable run time objects
From: |
Dennis W. Tokarski |
Subject: |
Re: [avr-libc-dev] Missing and unfindable run time objects |
Date: |
Wed, 25 Feb 2009 16:55:33 -0500 |
User-agent: |
Thunderbird 2.0.0.19 (X11/20090105) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Joerg Wunsch wrote:
> As Dennis W. Tokarski wrote:
>
>> /usr/lib/gcc/avr/4.3.3/../../../../avr/bin/ld: crtm1280.o: No such file: No
>> such file or directory
>> /usr/lib/gcc/avr/4.3.3/../../../../avr/bin/ld: crtm1281.o: No such file: No
>> such file or directory
>> /usr/lib/gcc/avr/4.3.3/../../../../avr/bin/ld: crtm128.o: No such file: No
>> such file or directory
>>
>> The files are definitely there, with 644 perms and owned
>> by root, just like all the others which work.
>
> Add a -v to the compiler options, and it will tell you the exact
> linker command line it's using. That should indicate where it is
> searching for these files.
>
In the case of atmega128, the ld command turns out to be:
/usr/lib/gcc/avr/4.3.3/../../../../avr/bin/ld -m avr5 -Tdata 0x800100 -o hello
crtm128.o -L/usr/lib/gcc/avr/4.3.3/avr51 -L/usr/lib/gcc/avr/4.3.3
-L/usr/lib/gcc/avr/4.3.3/../../../../avr/lib /tmp/ccgfnUbS.o -lgcc -lc -lgcc
wherease for the atmega169 it is:
/usr/lib/gcc/avr/4.3.3/../../../../avr/bin/ld -m avr5 -Tdata 0x800100 -o hello
/usr/lib/gcc/avr/4.3.3/../../../../avr/lib/avr5/crtm169.o
-L/usr/lib/gcc/avr/4.3.3/avr5 -L/usr/lib/gcc/avr/4.3.3/../../../../avr/lib/avr5
-L/usr/lib/gcc/avr/4.3.3
- -L/usr/lib/gcc/avr/4.3.3/../../../../avr/lib /tmp/ccs4Urlf.o -lgcc -lc -lgcc
So...it's looking for the run time object in the current
directory because the directory path isn't prepended. It
also doesn't include /usr/avr/lib/avr5 as a library
directory as the atmega169 case does. Odd.
>> I don't know if this is an avr-gcc/binutils problem or
>> an avr-libc problem.
>
> It's somehow a problem with that particular toolchain build, albeit I
> don't have the faintest idea /what/ went wrong. Hmm, one idea just
> comes to mind: the compiler and library disagree about whether these
> MCU types belong into either of "avr5" or "avr51" categories. IMHO,
> this can only happen if the library is built using a different
> compiler than the compiler you've installed.
>
It looks like you might be right about that avr5/51 disagreement.
> For an up-to-date Linux toolchain with a decent patchlevel, I'd
> recommend using Bingo600's Linux build script:
>
> http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42631
>
I'll look at that. I'm also wondering if it might
be worth rebuilding the library package against my installed
compiler. Maybe I'll try that too.
Thanks, Joerg.
- --Dennis
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
iD8DBQFJpb5QDJucIzCImrURAt6nAKCWsfWsAou77PW1zh92zD5/rogWGQCfTXKK
Lh6DFIU2lzyzoH8ljLo61YI=
=zxJ4
-----END PGP SIGNATURE-----