Компиляция x86 из под x64: skipping incompatible when searching for -lmysqlclient

109
23 сентября 2019, 20:20

Пытаюсь из под Debian(x64) скомпилировать код для целевой платформы x86:

/usr/bin/ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libmysqlclient.so when searching for -lmysqlclient /usr/bin/ld: cannot find -lmysqlclient collect2: error: ld returned 1 exit status

На компьютере отсутствуют библиотеки для x86 MariaDBClient(mysqlclient), только для x64, попытки установить для x86 не дали результата - не дает установить пакет из-за архитектуры x64. В связи с чем немного смущен. Как в этих случаях поступают?

UPD

Сейчас у меня проблема такая: у меня настроена multiarch, при установке нужного мне пакета libmariadbclient-dev:i386 мне предлагается удалить libmariadbclient-dev:amd64. Как установить для i386, не удаляя для amd64?

Answer 1

Для установки на одну машину пакетов различных архитектур в debian используется такая штука, как multiarch. Для этого нужно сказать о новой архитектуре dpkg:

dpkg --add-architecture i386

Далее пакеты можно устанавливать из репозитариев как обычно, указав архитектуру через двоеточие:

apt-get update
apt-get install libmariadbclient-dev-compat:i386

Сейчас у меня проблема такая: у меня настроена multiarch, при установке нужного мне пакета libmariadbclient-dev:i386 мне предлагается удалить libmariadbclient-dev:amd64. Как установить для i386, не удаляя для amd64?

Судя по всему, полноценная поддержки сборки с помощью multiarch под другие архитектуры пока нет, за подробностями попыток реализации такого подхода см. MultiarchCross.

В качестве альтернативы можно воспользоваться cross-chroot'ом, где все необходимые пакеты устанавливаются в отдельный префикс, если в двух словах, то последовательность действий примерно следующая:

MY_CHROOT=/path/to/chroot/stretch-i386
debootstrap --arch i386 stretch "$MY_CHROOT"
cp -r my-project "$MY_CHROOT"/
mount -o bind /dev "$MY_CHROOT"/dev
mount -t proc none "$MY_CHROOT"/proc
chroot "$MY_CHROOT"
apt-get update
apt-get install libmariadbclient-dev-compat
cd my-project && make
READ ALSO
Можно ли добавить html класс через css?

Можно ли добавить html класс через css?

На сайте есть огромное количество кнопок которые используют класс btnМне нужно ко всем кнопкам добавить класс btn-outline

197
Позиция не правильная html или css

Позиция не правильная html или css

всем привет сделал форму и таблицу теперь не могу разобраться:

210
Accept для файла с расширением csv

Accept для файла с расширением csv

Суть проблемы: те пару файлов, с расширениемcsv, которые у меня есть, имеют mime-type application/vnd

135
Оптимальные размеры сайта

Оптимальные размеры сайта

Я хочу сделать оптимизацию сайта под несколько определенных разрешений( width = 1366 \ 1920 \ 1280 \ 960 )

131