RHEL6 시스템에서 최신 버전의 Android SDK를 실행하려고 합니다. GLIBC 2.14가 필요하다는 오류가 발생합니다. 그래서 /opt/glibc-2.14에 GLIBC 2.14를 설치했습니다.
설정을 완료했습니다 LD_LIBRARY_PATH=/opt/glibc-2.14/lib
. 이제 GLIBC 2.14가 설치되지 않았다는 메시지가 표시되지 않고 Android SDK 도구를 실행할 수 있습니다. 하지만 Android APK를 빌드하기 위해 Gradle 빌드를 실행하려고 하면 작동이 중단됩니다.
LD_LIBRARY_PATH
Gradle 작업 실행을 삭제하고 실패하면 GLIBC 2.14가 설치되지 않았음을 나타냅니다. GLIBC 2.14로 설정한 java --version
경우 LD_LIBRARY_PATH
와 같이 명령을 실행할 때에도 동일한 해결되지 않은 문제가 있습니다 .
이 문제를 해결할 방법이 있나요?
답변1
Jenkins 빌드 파이프라인을 통해 Gradle을 사용할 때도 동일한 문제가 발생했습니다.
/opt/glibc-2.14에서 glibc 2.14를 수동으로 컴파일했습니다. LD_LIBRARY_PATH를 설정하면 Android SDK가 제대로 작동하지만 Gradle 빌드 호출이 "futex" 오류 메시지(strace에 표시됨)와 함께 실패합니다.
stacktrace 옵션으로 gradle을 실행해도 출력이 없습니다.
Gradle을 실행할 수 있는 유일한 방법은 redsleeve.org에서 다음 RPM을 설치하는 것입니다.
wget http://ftp.redsleeve.org/pub/steam/glibc-2.15-60.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/glibc-common-2.15-60.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/glibc-devel-2.15-60.el6.x86_64.rpm
wget http://ftp.redsleeve.org/pub/steam/glibc-headers-2.15-60.el6.x86_64.rpm
rpm -Uvh glibc-2.15-60.el6.x86_64.rpm glibc-common-2.15-60.el6.x86_64.rpm glibc-devel-2.15-60.el6.x86_64.rpm glibc-headers-2.15-60.el6.x86_64.rpm
업데이트된 glibc-packages를 설치한 후 CentOS 6.9(x64) 시스템에서 Gradle 빌드가 제대로 실행됩니다.
이는 테스트 환경에 유용하지만 시스템 업데이트의 경우 전체 업데이트 프로세스가 중단될 수 있습니다. 수동으로 컴파일된 버전을 사용하여 더 나은 방법을 찾으려고 노력 중입니다.
~건배