2016-08-06 11 views
0

Я недавно пытался скомпоновать dropbear для 64-битных Android-устройств. У меня есть программа для компиляции и запуска, но когда я вхожу на сервер, она отталкивает меня с ошибкой.Изменить PATH для LIBS

Я настроил & составлен следующим образом:

cp ../config.guess ../config.sub . 
./configure --build=x86_64-windows --host=arm-linux-androideabi \ 
--disable-zlib --disable-largefile --disable-loginfunc \ 
--disable-shadow --disable-utmp --disable-utmpx --disable-wtmp \ 
--disable-wtmpx --disable-pututline --disable-pututxline --disable-lastlog \ 
CFLAGS='-Os -W -Wall -fPIE' LDFLAGS='-fPIE -pie' 

make dropbear  

Ошибка:

CANNOT LINK EXECUTABLE: "/system/lib/libc++.so" is 32-bit instead of 64-bit 
page record for 0x7f800b8010 was not found (block_size=32) 

Я считаю, что ошибка вызвана Dropbear связывающей ш и другие исполняемые файлы в библиотеку в неправильном месте.

Устройство имеет два места для LIBC++

#1 /system/lib/libc++.so 
    #2 /system/lib64/libc++.so 

Как я могу сказать/заставить скомпилированный двоичный использовать LIB (ы) в

/sytem/lib64 

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

ответ

0

Оказывается, там была жесткая связь в SRV-chansession.c, что необходимо модифицировать

От:

addnewvar("LD_LIBRARY_PATH", "/system/lib"); 

To:

addnewvar("LD_LIBRARY_PATH", "/system/lib64"); 

Это может быть на самом деле лучше прокомментируйте эту строку и позвольте андроидам-линкерам позаботиться об этом.

Теперь у меня есть рабочий сервер sb sb на моем 64-битном Android-устройстве.

 Смежные вопросы

  • Нет связанных вопросов^_^