Toolchain relocation

Dave Murphy wintermute2k4@ntlworld.com
Thu Apr 13 14:49:00 GMT 2006


Hi,

I've been having some odd problems with relocation of 4.x toolchains - 
i.e. when a toolchain is configured, built and installed with one prefix 
but later moved to another location. The binaries appear to be checking 
something in the old location before reading from the new path.

The problem is only obvious on windows machines where the configured 
prefix is a removable medium such as a CD/DVD or memory card drive when 
the prebuilt toolchain is moved to a different machine. In this case a 
dialog box pops up asking the user to insert a disk as shown in this 
screenshot -> http://img159.imageshack.us/img159/9030/devkiterror3zp.jpg 
. When a disk is inserted everything works as it should. The error does 
not occur if the drive doesn't exist, is non removable media, or a disk 
is inserted in the drive.

-print-search-dirs output from relocated toolchain, paths have been 
separated for clarity. It looks like some paths are being relocated but 
others are not.

$ /c/devkitARM/bin/arm-elf-gcc -print-search-dirs

install: e:/devkitPro/devkitARM/lib/gcc/arm-elf/4.1.0/

programs: =
c:/devkitarm/bin/../libexec/gcc/arm-elf/4.1.0/;
c:/devkitarm/bin/../libexec/gcc/;
e:/devkitPro/devkitARM/libexec/gcc/arm-elf/4.1.0/;
e:/devkitPro/devkitARM/libexec/gcc/arm-elf/4.1.0/;
e:/devkitPro/devkitARM/libexec/gcc/arm-elf/;
e:/devkitPro/devkitARM/lib/gcc/arm-elf/4.1.0/;
e:/devkitPro/devkitARM/lib/gcc/arm-elf/;/usr/libexec/gcc/arm-elf/4.1.0/;
/usr/libexec/gcc/arm-elf/;
/usr/lib/gcc/arm-elf/4.1.0/;/usr/lib/gcc/arm-elf/;
c:/devkitarm/bin/../lib/gcc/arm-elf/4.1.0/../../../../arm-elf/bin/arm-elf/4.1.0/;
c:/devkitarm/bin/../lib/gcc/arm-elf/4.1.0/../../../../arm-elf/bin/;
e:/devkitPro/devkitARM/arm-elf/bin/arm-elf/4.1.0/;
e:/devkitPro/devkitARM/arm-elf/bin/

libraries: =
c:/devkitarm/bin/../lib/gcc/arm-elf/4.1.0/;
c:/devkitarm/bin/../lib/gcc/;
e:/devkitPro/devkitARM/lib/gcc/arm-elf/4.1.0/;
/usr/lib/gcc/arm-elf/4.1.0/;
c:/devkitarm/bin/../lib/gcc/arm-elf/4.1.0/../../../../arm-elf/lib/arm-elf/4.1.0/;
c:/devkitarm/bin/../lib/gcc/arm-elf/4.1.0/../../../../arm-elf/lib/;
e:/devkitPro/devkitARM/arm-elf/lib/arm-elf/4.1.0/;
e:/devkitPro/devkitARM/arm-elf/lib/


I can work around this for now by configuring with a c:/ prefix but is 
there a better way?

Dave



More information about the Gcc mailing list