2

Я уже задавал этот вопрос на SO, но похоже, что проблема, вероятно, с компоновщиком.

Итак, вопрос в следующем:

Я пытаюсь построить проект, используя $ make , но это не удается:

host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.so when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.3/../../../libz.a when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/libz.so when searching for -lz 
/usr/bin/ld: skipping incompatible /usr/lib/libz.a when searching for -lz 
/usr/bin/ld: cannot find -lz 
collect2: ld returned 1 exit status 
make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1

Теперь посмотрите на эту библиотеку:

$ ls -l /usr/lib/libz.so 
lrwxrwxrwx 1 root root 20 2010-07-07 17:08 /usr/lib/libz.so -> /lib/libz.so.1.2.3.3

$ file /lib/libz.so.1.2.3.3
/lib/libz.so.1.2.3.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

и я имею:

$ arch
i686

Я установил эту библиотеку так:

sudo apt-get install libz-dev

Так.. Как мне пройти через это? И как я могу заставить Ubuntu загружать правильные библиотеки в будущем? И я на самом деле не уверен: это настоящая проблема или это где-то еще?

Я также не могу установить некоторые необходимые пакеты:

E: Couldn't find package lib32z1-dev
E: Couldn't find package lib32ncurses5-dev

PS Ubuntu 10.04 LTS, работающая на Lenovo ThinkPad SL500, процессор Core 2 DUO.

4 ответа4

1

У меня возникла такая же проблема на моем нетбуке Lenovo Atom Intel 1010 с нетбуком 10.04. После бесчисленных часов поиска в сети ответов, я слышал, что это что-то проверяет в Java6 и заставляет 64-битную сборку в Clearsilver для 32-битных систем. Решение состояло в том, чтобы откатить путь clearsilver, расположенный здесь: http://android.git.kernel.org/?p=platform/external/clearsilver.git;a=commitdiff;h=d36910a8110d8377b22301274d2b5131a732a72b

к сожалению, я не уверен, как именно это сделать. Я использовал функцию отмены в репозитории, чтобы удалить перечисленные ссылки .mk, но это не изменило ошибку.

был бы очень признателен за помощь.

0

Кажется, ваша система в порядке, но процесс сборки может быть нарушен. Make говорит вам команду, которую он использует для сборки?

0

Канонические (не "канонические") имена пакетов для Lucid Lynx: zlib1g-dev и libncurses5 .

Просто любопытно, вы изобрели имя libz-dev или какая-то документация привела вас к этому?

0

Кажется, я решил эту проблему. Я заменил свой jdk6 на sun-jdk5 (добавил репозиторий Jaunty) и заменил им свой jdk6 по умолчанию:

sudo update-java-alternatives --set java-1.5.0-sun

Я оставил свой ноутбук на компиляции на выходные, и теперь кажется, что это удалось.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .