ошибка сборки Android на Ubuntu 11.10 - PullRequest
4 голосов
/ 10 января 2012

Я столкнулся с проблемой при попытке собрать Android 2.3 на Ubuntu 11.10

Первая ошибка -

frameworks / base / libs / utils / RefBase.cpp: 483: 67: ошибка: передача 'const android :: RefBase :: weakref_impl' в качестве аргумента 'this' для void android :: RefBase :: weakref_impl :: trackMe (bool, bool) 'отбрасывает квалификаторы [-fpermissive]

make: * [out / host / linux-x86 / obj / STATIC_LIBRARIES / libutils_intermediates / RefBase.o] Ошибка 1

make: * Ожидание незавершенных работ ....

Я решил это, изменив,

каркасы / базовые / LIBS / Utils / Android.mk LOCAL_CFLAGS + = -DLIBUTILS_NATIVE = 1 $ (TOOL_CFLAGS) LOCAL_CFLAGS + = -DLIBUTILS_NATIVE = 1 $ (TOOL_CFLAGS) -пропускная

Но после выполнения вышеуказанной модификации появилась новая ошибка,

host SharedLib: libneo_cgi (out / host / linux-x86 / obj / lib / libneo_cgi.so)

хост C ++: libutils <= frameworks / base / libs / utils / Asset.cpp </p>

хост C ++: libutils <= frameworks / base / libs / utils / AssetDir.cpp </p>

хост C ++: libutils <= frameworks / base / libs / utils / AssetManager.cpp </p>

g ++: ошибка: нераспознанная опция "--fpermissive"

make: * [out / host / linux-x86 / obj / STATIC_LIBRARIES / libutils_intermediates / Asset.o] Ошибка 1 make: * В ожидании незавершенных работ ....

g ++: ошибка: нераспознанная опция "--fpermissive" g ++: ошибка: нераспознанная опция «--fpermissive»

make: * [out / host / linux-x86 / obj / STATIC_LIBRARIES / libutils_intermediates / AssetDir.o] Ошибка 1

make: * [out / host / linux-x86 / obj / STATIC_LIBRARIES / libutils_intermediates / AssetManager.o]

Конфигурация сборки: Ubuntu 11.10 Пробовал с обеими версиями gcc, 4.4 и 4.6 но ничего не получается, пожалуйста, помогите мне вырваться из борьбы за прошедший день

Опции команд, используемые для построения,

$. строить / envsetup.sh

$ обед 1

$ make -j4

GCC - версия

gcc -v Используя встроенные спецификации. COLLECT_GCC = НКА COLLECT_LTO_WRAPPER = / USR / Библиотека / GCC / i686-Linux-ГНУ / 4.6.1 / LTO-обертка Цель: i686-linux-gnu Настраивается с помощью: ../src/configure -v --with-pkgversion = 'Ubuntu / Linaro 4.6.1-9ubuntu3' --with-bugurl = file: ///usr/share/doc/gcc-4.6/README. Ошибки --enable-languages ​​= c, c ++, fortran, objc, obj-c ++, go --prefix = / usr --program-суффикс = -4.6 --enable-shared --enable-linker-build-id - with-system-zlib --libexecdir = / usr / lib - без включенного-gettext --enable-threads = posix --with-gxx-include-dir = / usr / include / c ++ / 4.6 --libdir = / usr / lib --enable-nls --with-sysroot = / --enable-clocale = gnu --enable-libstdcxx-debug --enable-libstdcxx-time = да --enable-plugin --enable-objc-gc --enable-target = all --disable-werror --with-arch-32 = i686 --with-tune = универсальный --enable-проверочный = выпуск --build = i686-linux-gnu --host = i686- linux-gnu --target = i686-linux-gnu Модель потока: posix gcc версия 4.6.1 (Ubuntu / Linaro 4.6.1-9ubuntu3)

-------------------------------------------- -------------------- РЕДАКТИРОВАТЬ 2-

Думаю, проблема в версии gcc, а не в том, что она движется в лучшем темпе, но теперь я получаю эту ошибку. cmd - make CC=gcc-4.4 CXX=g++-4.4

ошибка - host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1

1 Ответ

2 голосов
/ 14 января 2012

Я попробовал это решение, и оно решило проблему, о которой вы упомянули: Как устранить проблему несовместимости между GCC 4.6 и Android 2.3 (Gingerbread) .

Однако я не могу связать послевсе скомпилировано.Я собираю 2.2 с gcc-4.6 на Linux Mint.

В любом случае это должно помочь вам.

...