Я уже задал этот вопрос на Так, но кажется, что проблема, вероятно, с компоновщиком.
Так, вопрос:
Я пытаюсь разработать проект, с помощью $ 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
P.S. Ubuntu 10.04 LTS, работая на Lenovo ThinkPad SL500, Core 2 Duo ЦП.
Это кажется, что я разрешил эту проблему. Я заменил свой jdk6 солнцем-jdk5 (добавил repo Jaunty), и заменил мое значение по умолчанию jdk6 им:
sudo update-java-alternatives --set java-1.5.0-sun
Я оставил свою компиляцию ноутбука в течение выходных, и теперь это кажется, за которым это следовало.
У меня есть эта та же проблема о моей Lenovo Netbook s10e Intel Atom рабочий выпуск нетбука Ubuntu 10.04. После бесчисленных часов поиска сети для ответов я слышу, что это имеет что-то к проверке Java6 и принуждению сборки на 64 бита в Clearsilver для систем на 32 бита. Решение состояло в том, чтобы откатывать путь clearsilver, расположенный здесь: http://android.git.kernel.org/?p=platform/external/clearsilver.git;a=commitdiff;h=d36910a8110d8377b22301274d2b5131a732a72b
к сожалению, я не уверен, как точно сделать это. я использовал функцию отказа в repo для удаления тех перечисленных ссылок .mk, но это не изменило ошибку.
был бы очень признателен за некоторую справку.