2017-10-19 2 views
0

내가 autotools를 구성 프로젝트를 유지하고있어, 나는 일반 autotool 설정에서 나타났습니다 :설정 automake에 활용하는 방법을 LIBDIR를/usr/lib64에 듀얼 아치 리눅스 플랫폼에서

libtoolize --verbose --copy --force 
aclocal --verbose -I m4 -Wall 
autoheader -Wall --verbose 
autoconf -Wall --verbose 
automake --add-missing --force-missing --copy --warnings=override -Wall 
./configure --prefix=/usr 
make 
make install 
Installing libexample.so in /usr/lib 

그 (x86_64 아치, 리눅스에서) 내 빌드에서 생성 된 설치는 생성 라이브러리를 $prefix/lib에 넣습니다.

$LIBDIR$prefix/lib64으로 설정되어 있어야합니다.

  • 뭔가 내가 다르게해야 있는가, 또는
  • 이 작업을 자동으로 결정하는 '비밀'M4 매크로가, 또는
  • 은은 예상 된 동작입니다?
+0

최신 버전의 autotools에서는'configure'의'--host' 플래그를 검사하여'/ usr/lib' 또는'/ usr/lib64'에 설치할지 여부를 결정합니다. 사용중인 autotools의 버전을 말하지 않았습니다. – ldav1s

+0

언제든지 -target 플래그를 의미하지 않습니까? –

+0

Autoconf 2.63이 문제의 버전입니다. Automake 1.11 –

답변

2

CentOS 6.9에서 재현 할 수있었습니다. 안타깝게도 official Upstream Vendor response to having a reasonable config.site installed은 CLOSED WONTFIX입니다. CentOS 7.4에서도 재현 할 수있었습니다.

config.site은 대부분의 배포판에서 작동하는 일반적인 방법입니다. 해결 방법에 대한 제안을 제공합니다. 기본적으로 Fedora의 config.site이 수행하는 작업을 백 포트하십시오.

FWIW,이 수출하여이를 수행 작동 내가 현재 사용하고 배포판 CONFIG_SITE/etc/profile.d/site.sh에서 :

CONFIG_SITE="/usr/share/site/x86_64-unknown-linux-gnu" 
export CONFIG_SITE 

/usr/share/site/x86_64-unknown-linux-gnu의 관련 부분은 같은 무언가를 : 비슷한

if test "$libdir" = '${exec_prefix}/lib' ; then 
     ac_config_site_64bit_host=NONE 

     case "$host" in 
     "") 
     ... sort through 32-bit cross-compilation ... 

     *x86_64* | ... other 64-bit architectures ...) 
       ac_config_site_64bit_host=YES 
       ;; 
     esac 

     if test "x$ac_config_site_64bit_host" = xYES; then 
       libdir='${exec_prefix}/lib64' 
     fi 
    fi 

뭔가 당신을 위해 일할 수 있습니다.

또는 --libdir을 RPM 패키지처럼 지정할 수 있습니다.

관련 문제