저는 최근에 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에 하드 링크가 있었다에서