Ошибка формата файла в 32-битной системе Ubuntu, хотя мой файл 32-битный - PullRequest
1 голос
/ 23 октября 2019

Я собрал свою библиотеку OpenSSL на 32-битной машине, и вот формат файла:

$ file /home/amy/ssl/lib/libcrypto.so.1.0.0
/home/amy/ssl/lib/libcrypto.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=98127fe038c1ee9e61b7ad7650cf1f8be7168058, not stripped

Очевидно, что это 32-битная библиотека.

MyВерсия ОС показана ниже:

$ uname -ra
Linux ubuntu32 4.15.0-65-generic #74~16.04.1-Ubuntu SMP Wed Sep 18 09:52:05 UTC 2019 i686 i686 i686 GNU/Linux

Моя ошибка:

*** Linking Stage
/home/amy/ssl/lib/libcrypto.so.1.0.0: could not read symbols: File in wrong format
collect2: error: ld returned 1 exit status

Показаны форматы компилятора и компоновщика:

$ file /home/amy/arm-linux-gcc-4.9.1-glibc-2.19/x-tools/arm-aspeed-linux-gnueabi/bin/arm-aspeed-linux-gnueabi-gcc-4.9.1
/home/amy/arm-linux-gcc-4.9.1-glibc-2.19/x-tools/arm-aspeed-linux-gnueabi/bin/arm-aspeed-linux-gnueabi-gcc-4.9.1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib, for GNU/Linux 2.6.24, BuildID[sha1]=b9380d0235052cfc8b364dc1e98e315602830776, stripped

$ file /home/amy/arm-linux-gcc-4.9.1-glibc-2.19/x-tools/arm-aspeed-linux-gnueabi/bin/arm-aspeed-linux-gnueabi-ld
/home/amy/arm-linux-gcc-4.9.1-glibc-2.19/x-tools/arm-aspeed-linux-gnueabi/bin/arm-aspeed-linux-gnueabi-ld: POSIX shell script, ASCII text executable

Из того, что я выделил краснымВ режиме онлайн возникают ошибки формата файлов, когда вы не соответствуете между 32-битными и 64-битными файлами. Но в моем случае все 32-битные. Кто-нибудь может предложить другие возможные причины, почему я вижу эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...