2016-08-06 5 views
0

저는 최근에 64 비트 아치 안드로이드 장치 용 dropbear를 컴파일하려고했습니다. 컴파일하고 실행할 프로그램이 있지만 서버에 로그인하면 오류가 발생합니다.LIBS에 대한 PATH 변경

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) 

나는 오류가 잘못된 위치에있는 라이브러리에 쉬와 다른 실행 파일을 연결 Dropbreak 내부에 의한 것으로 판단

나는과 같이 컴파일 &을 구성.

장치는 libc의 ++ 내가 예를주는 것은 저를 정확히 보여주십시오

/sytem/lib64 

에 lib 디렉토리 (들)를 사용하여 컴파일 된 바이너리를 강제로/어떻게 알 수

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

두 위치가 추가해야 할 부분이 있으므로 정보를 올바르게 적용 할 수 있습니다. 나는 그 수정이 간단하다고 확신하지만 나는 프로그래머가 아니다. 필사적으로 할 때 나는이 일을한다.

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

하려면 :

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

그것은 실제로 더 나은 수 있습니다에서

수정 될 필요가 SRV-chansession.c에 하드 링크가 있었다에서

답변

0

이 밝혀 졌 그 줄을 주석 처리하고 androids 링커가 처리하도록하십시오.

이제 내 64 비트 안드로이드 장치에서 작동하는 dropbear ssh 서버를 사용하고 있습니다.