On Sun, Nov 11, 2018 at 5:01 PM Thawra Kadeed <[email protected]> wrote: > > On 2018-11-11 17:41, Ciro Santilli wrote: > > When a problem is not gem5 specific, you are more likely to get help > > on the respective project mailing list or Stack Overflow. > > > > I know little about Fodora, but after a quick Googling for error > > message and testing in Docker, it appears that it has separate > > packages for gcc and glibc, e.g. gcc-arm-linux-gnu and > > glibc-arm-linux-gnu exist for arm. > > Thanks a lot Ciro for your quick answer! > > I installed both on Fedora and then used: > > arm-linux-gnu-gcc /home/kadeed/Gem5/tests/test-progs/hello/src/hello.c > -o helloo -static > > But I got the same error: > /usr/bin/arm-linux-gnu-ld: skipping incompatible > /usr/lib/gcc/arm-linux-gnueabi/8/libgcc_eh.a when searching for -lgcc_eh > /usr/bin/arm-linux-gnu-ld: cannot find -lgcc_eh > collect2: error: ld returned 1 exit status > > > could you please write exactly the command you used to generate binary > hello using these libraries, and then on wich Fedora distribution did > you try that? I am using Fedora28 on intel core i5. >
Ah, adding the -static on fedora then it fails with the "when searching for -lgcc_eh". It has been asked on Stack overflow but no one answered: https://unix.stackexchange.com/questions/193864/how-to-fix-skipping-incompatible-usr-lib-libc-a try searching the web further and reporting a bug on the Fedora bug tracker. Failure can be reproduced with: cat << 'EOF' >a.c #include <stdio.h> int main(void) { puts("asdf"); return 0; } EOF sudo docker run -it --name fd28 -w "/host/$(pwd)" -v "/:/host" fedora:28 bash yum install gcc-arm-linux-gnu glibc-arm-linux-gnu arm-linux-gnu-gcc -static a.c So the easy solution is to just replace fedora:28 with ubuntu:18.04 on the above, image which I have tested thoroughly as explained in the Stack Overflow answer. You'll likely want to read a Docker tutorial as well. > Thanks > > > > If I install both of them it I can cross compile a hello world > > successfully. > > > > For aarch64 however, I cannot find the glibc package... so there are > > two options: > > > > - compile your own. crosstool-NG is the best method: > > https://stackoverflow.com/questions/48959349/how-to-solve-fatal-kernel-too-old-when-running-gem5-in-syscall-emulation-se-m > > - come to the light side of Ubuntu where it just works: > > https://stackoverflow.com/questions/53085048/how-to-compile-and-run-an-executable-in-gem5-syscall-emulation-mode-with-se-py/53085049#53085049 > > On Sun, Nov 11, 2018 at 2:12 PM Thawra Kadeed <[email protected]> > > wrote: > >> > >> Hello everyone, > >> > >> I am using fedora28 64bit as a host machine running on Intel core i5. > >> > >> I am trying to install arm cross compiler to compile c programs and > >> run > >> it on Gem5 built for ARM in SE mode. > >> > >> I did several attempts: > >> > >> aarch64-linux-gnu-gcc simple.c -o simple1 -static > >> > >> I got: fatal error: stdio.h: No such file or directory #include > >> <stdio.h> > >> > >> x86_64-linux-gnu-gcc simple.c -o simple1 -static > >> fatal error: stdio.h: No such file or directory #include <stdio.h> > >> > >> arm-linux-gnu-gcc > >> /home/kadeed/Gem5/tests/test-progs/hello/src/hello.c > >> -o helloo -static > >> > >> /usr/bin/arm-linux-gnu-ld: skipping incompatible > >> /usr/lib/gcc/arm-linux-gnueabi/8/libgcc_eh.a when searching for > >> -lgcc_eh > >> /usr/bin/arm-linux-gnu-ld: cannot find -lgcc_eh > >> collect2: error: ld returned 1 exit status > >> > >> No package worked for me! > >> > >> could anyone give me a hint about what would be exactly the right arm > >> cross compiler I need on Fedora28 to compile sources for Gem5 in SE > >> mode? > >> > >> Thanks in advance, > >> Thawra > >> > >> > >> _______________________________________________ > >> gem5-users mailing list > >> [email protected] > >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
