2012-09-10 34 views
6

Jestem cross-kompilacją cscope, ale niespodziewanie się nie udało. Jednak udało mi się zbudować ctags bez błędów, więc dlaczego kompilacja cscope kończy się niepowodzeniem?Kompilacja Cscope kończy się niepowodzeniem z komunikatem o błędzie "Nie można odczytać symboli: Plik w niewłaściwym formacie"

Komunikat o błędzie jest następujący:

`sh cflags "optimize='-O2'" doop.o` doop.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" doio.o` doio.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" regexec.o` regexec.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" utf8.o` utf8.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" taint.o` taint.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" deb.o` deb.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" universal.o` universal.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" xsutils.o` xsutils.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
`sh cflags "optimize='-O2'" generate_uudmap.o` generate_uudmap.c 
      CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -O2 -Wall -ansi -pedantic -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -DPERL_GCC_PEDANTIC 
mips-openwrt-linux-uclibc-gcc -o generate_uudmap -L/usr/local/lib generate_uudmap.o -lnsl -ldl -lm -lcrypt -lutil -lc 
/home/mirror0/sdk/sdk/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/bin/ld: generate_uudmap.o: Relocations in generic ELF (EM: 62) 
/home/mirror0/sdk/sdk/staging_dir/toolchain-mips_gcc-4.3.3+cs_uClibc-0.9.30.1/bin/../lib/gcc/mips-openwrt-linux-uclibc/4.3.3/../../../../mips-openwrt-linux-uclibc/bin/ld: generate_uudmap.o: Relocations in generic ELF (EM: 62) 
generate_uudmap.o: could not read symbols: File in wrong format 
collect2: ld returned 1 exit status 
make[4]: *** [generate_uudmap] Error 1 
make[4]: Leaving directory `/home/mirror0/sdk/sdk/build_dir/target-mips_uClibc-0.9.30.1/perl' 
make[3]: *** [/home/mirror0/sdk/sdk/build_dir/target-mips_uClibc-0.9.30.1/perl/.built] Error 2 
make[3]: Leaving directory `/home/mirror0/sdk/sdk/package/perl' 
make[2]: *** [package/perl/compile] Error 2 
make[2]: Leaving directory `/home/mirror0/sdk/sdk' 
make[1]: *** [/home/mirror0/sdk/sdk/staging_dir/target-mips_uClibc-0.9.30.1/stamp/.package_compile] Error 2 
make[1]: Leaving directory `/home/mirror0/sdk/sdk' 
make: *** [world] Error 2 

real 0m51.846s 
user 1m27.489s 
sys  0m38.462s 
+1

Myślę, że jest to związane z NASM. możesz spróbować zmienić opcje 64-bitowe. – Farsheed

Odpowiedz

8

To mogłaby być spowodowane ze starych plików obiektowych (na inny cel) z poprzedniej kompilacji. Spróbuj uruchomić pakiet make clean lub odpowiednik dla tego pakietu i spróbuj ponownie skompilować.

+0

to nie problem czyszczenia, dlaczego nie można odczytać symboli: Plik w złym formacie? – thinke365

+0

@ thinke365 Napotkałem ten sam błąd, gdy miałem pliki .o skompilowane dla różnych celów w katalogu pakietów. make clean powinno je usunąć, a tym samym może pomóc. – jhonkola

+1

oczyścić, a następnie zrobić, ten sam komunikat o błędzie pojawia się – thinke365