From: Felipe B. C. <cav...@gm...> - 2010-07-02 21:18:27
|
Hello all, I am trying to cross-compile a program for use with my Gumstix Overo, however, I am having a serius problem with the GNU Linker (LD). I am getting the following messages: arm-angstrom-linux-gnueabi-ld: unrecognized option '-Wl,-rpath-link,/media/Data-Linux/overo/overo-oe/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib' arm-angstrom-linux-gnueabi-ld: use the --help option for usage information It seems that the installed ld doesn't understand the -Wl option, which is very common these days. So, anybody found a workarround? Maybe another version of LD is available? Thanks in advance, -Felipe Brandão Cavalcanti LARA - Automation and Robotics Laboratory Department of Electrical Engineering UnB - University of Brasília, Brazil http://www.lara.unb.br/~fbcavalcanti/ |
From: <sbt...@em...> - 2010-07-02 21:54:12
|
Felipe, I am not sure you have exactly the same problem as I had in trying to cross-compile Ultimate++ apps for the Overo but I want to throw out there this issue anyway. A few of the oldest shared library have old-style hard links, the two offending libraries I needed to change are libc.so and libpthread.so. These old-style link .so files will point to your desktop platform library directory and not to the cross-compiled library directories and therefore will give link errors. In my system I cross-compile from a de-compressed Overo file system sitting on my desktop and therefore these two .so linkage files were modified as follows in my case to expressly point to the proper .a or .so file. Note in the case below I used gedit to edit libc.so and libpthread.so to point to the proper so file locations in the de-compressed Overo file system... Hope this helps... Scott Tilden, PhD Chem Dept U of Arizona to get ultimate++ cross-compiling to work: copy the current root file system to overo-rfs on desktop CRITICAL - need to edit the following two files to properly cross-compile... scott@denton-desktop:~/Desktop/overo-rfs/overo/usr/lib$ gedit libc.so /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf32-littlearm) GROUP ( /home/scott/Desktop/overo-rfs/overo/lib/libc.so.6 /home/scott/Desktop/overo-rfs/overo/usr/lib/libc_nonshared.a AS_NEEDED ( /home/scott/Desktop/overo-rfs/overo/lib/ld-linux.so.3 ) ) scott@denton-desktop:~/Desktop/overo-rfs/overo/usr/lib$ gedit libpthread.so /* GNU ld script Use the shared library, but some functions are only in the static library, so try that secondarily. */ OUTPUT_FORMAT(elf32-littlearm) GROUP ( /home/scott/Desktop/overo-rfs/overo/lib/libpthread.so.0 /home/scott/Desktop/overo-rfs/overo/usr/lib/libpthread_nonshared.a ) Quoting Felipe Brand?o Cavalcanti <cav...@gm...>: > Hello all, > > I am trying to cross-compile a program for use with my Gumstix Overo, > however, I am having a serius problem with the GNU Linker (LD). I am getting > the following messages: > > arm-angstrom-linux-gnueabi-ld: unrecognized option > '-Wl,-rpath-link,/media/Data-Linux/overo/overo-oe/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib' > arm-angstrom-linux-gnueabi-ld: use the --help option for usage information > > It seems that the installed ld doesn't understand the -Wl option, which is > very common these days. So, anybody found a workarround? Maybe another > version of LD is available? > > Thanks in advance, > -Felipe Brand?o Cavalcanti > LARA - Automation and Robotics Laboratory > Department of Electrical Engineering > UnB - University of Bras?lia, Brazil > http://www.lara.unb.br/~fbcavalcanti/ |
From: Dave H. <dhy...@gm...> - 2010-07-03 05:32:32
|
Hi, 2010/7/2 Felipe Brandão Cavalcanti <cav...@gm...>: > Hello all, > > I am trying to cross-compile a program for use with my Gumstix Overo, > however, I am having a serius problem with the GNU Linker (LD). I am getting > the following messages: > > arm-angstrom-linux-gnueabi-ld: unrecognized option > '-Wl,-rpath-link,/media/Data-Linux/overo/overo-oe/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib' > arm-angstrom-linux-gnueabi-ld: use the --help option for usage information > > It seems that the installed ld doesn't understand the -Wl option, which is > very common these days. So, anybody found a workarround? Maybe another > version of LD is available? Try using arm-angstrom-linux-gnueabi-gcc (or arm-angstrom-linux-gnueabi-g++) 99% of the time, using ld directly is the wrong thing to do. Linking should alsmost always be performed using gcc or g++. -rpath is an ld option, and -Wl is a gcc option (not an ld option) to pass the following arguments through to ld. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Felipe B. C. <cav...@gm...> - 2010-07-03 21:56:44
|
On Sat, Jul 3, 2010 at 2:32 AM, Dave Hylands <dhy...@gm...> wrote: > Hi, > > 2010/7/2 Felipe Brandão Cavalcanti <cav...@gm...>: > > Hello all, > > > > I am trying to cross-compile a program for use with my Gumstix Overo, > > however, I am having a serius problem with the GNU Linker (LD). I am > getting > > the following messages: > > > > arm-angstrom-linux-gnueabi-ld: unrecognized option > > > '-Wl,-rpath-link,/media/Data-Linux/overo/overo-oe/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib' > > arm-angstrom-linux-gnueabi-ld: use the --help option for usage > information > > > > It seems that the installed ld doesn't understand the -Wl option, which > is > > very common these days. So, anybody found a workarround? Maybe another > > version of LD is available? > > Try using arm-angstrom-linux-gnueabi-gcc (or > arm-angstrom-linux-gnueabi-g++) > > 99% of the time, using ld directly is the wrong thing to do. Linking > should alsmost always be performed using gcc or g++. > > -rpath is an ld option, and -Wl is a gcc option (not an ld option) to > pass the following arguments through to ld. > I am actually trying to compile a patched version of the Linux kernel, and I didn't want to dig in a change the Makefiles... Here is the full error: | CC init/main.o | arm-angstrom-linux-gnueabi-ld: unrecognized option '-Wl,-rpath-link,/media/Data-Linux/overo/overo-oe/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/lib' | arm-angstrom-linux-gnueabi-ld: use the --help option for usage information | make[2]: *** [init/main.o] Error 1 | make[1]: *** [init] Error 2 | make[1]: Leaving directory `/media/Data-Linux/overo/overo-oe/tmp/work/armv7a-angstrom-linux-gnueabi/xenomai-2.5.3-r0/xenomai-2.5.3/linux' | make: *** [linux/all] Error 2 | FATAL: oe_runmake failed > > -- > Dave Hylands > Shuswap, BC, Canada > http://www.DaveHylands.com/ > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by Sprint > What will you do first with EVO, the first 4G phone? > Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first > _______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users > -- -Felipe Brandão Cavalcanti LARA - Automation and Robotics Laboratory Department of Electrical Engineering UnB - University of Brasília, Brazil http://www.lara.unb.br/~fbcavalcanti/ |