Я пытаюсь создать версию пакетов fontconfig для i386, и сценарию configure не удается найти библиотеку экспатов, которая установлена для обеих архитектур. Сбой команды сборки тестового приложения:
> gcc-4.8 -m32 -o conftest expat.test.c -lexpat
/usr/bin/ld: cannot find -lexpat
collect2: error: ld returned 1 exit status
Exit 1
ldd: ./conftest: No such file or directory
Тем не менее, когда я передаю полный путь к библиотеке вместо -lexpat, команда завершается успешно:
> gcc-4.8 -m32 -o conftest expat.test.c /lib/i386-linux-gnu/libexpat.so.1 ; ldd conftest
linux-gate.so.1 => (0xf7759000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf76f8000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7549000)
/lib/ld-linux.so.2 (0xf775a000)
Пакет lib32gcc-4.8-dev установлен.
Может ли это быть связано с тем, что мне пришлось создавать i686-linux-gnu-objcopy вручную и символьные ссылки для ditto-strip с / usr / bin / {objcopy, strip}, а также отсутствовал i686-linux-gnu- команда gcc?
Я нашел еще лучшее решение: Я создал свой собственный PPA на панели запуска. Вы переходите через обручи только однажды, чтобы настроить ключ и установить необходимые дополнительные пакеты, но тогда можно полагаться на buildbots для установки требований на 32 бита каждый раз, когда сборки на 32 бита требуются. Они решили ту проблему при помощи виртуальных машин на 32 бита и на 64 бита, тот способ, которым они не сталкиваются с конфликтами мультидуги или незначительными сбоями.
У меня была та же самая проблема о 64-разрядном Linux. Разрешенный путем установки expat1-dev
для 32-разрядного
Вот является командой
sudo apt-get install libexpat1-dev:i386