libpng 경고: 응용 프로그램 및 라이브러리에서 호환되지 않는 libpng 버전

libpng 경고: 응용 프로그램 및 라이브러리에서 호환되지 않는 libpng 버전
libpng warning: Application was compiled with png.h from libpng-1.2.39
libpng warning: Application  is  running with png.c from libpng-1.4.0
libpng warning: Incompatible libpng version in application and library

Rgooglemaps다음에 따라 다릅니다 png.http://cran.r-project.org/web/packages/RgoogleMaps/index.html
RgoogleMaps코드를 실행하려고 하면 Qt위의 오류가 발생합니다.


linux-y3pi: # zypper what-provides libpng

Loading repository data...
Warning: Repository 'Updates for openSUSE 11.3 11.3-1.82' appears to outdated. Consider using a different mirror or server.
Reading installed packages...
S | Name        | Type    | Version      | Arch   | Repository                         
--+-------------+---------+--------------+--------+------------------------------------
v | libpng12-0  | package | 1.2.46-7.3.1 | x86_64 | Updates for openSUSE 11.3 11.3-1.82
i | libpng12-0  | package | 1.2.44-2.1   | x86_64 | openSUSE-11.3-Oss                  
i | libpng12-0  | package | 1.2.44-2.1   | x86_64 | openSUSE-11.3 11.3-1.82            
v | libpng12-0  | package | 1.2.46-7.3.1 | i586   | Updates for openSUSE 11.3 11.3-1.82
v | libpng12-0  | package | 1.2.44-2.1   | i586   | openSUSE-11.3-Oss                  
v | libpng14-14 | package | 1.4.3-3.3.1  | x86_64 | Updates for openSUSE 11.3 11.3-1.82
i | libpng14-14 | package | 1.4.3-2.1    | x86_64 | openSUSE-11.3-Oss                  
i | libpng14-14 | package | 1.4.3-2.1    | x86_64 | openSUSE-11.3 11.3-1.82            
v | libpng14-14 | package | 1.4.3-3.3.1  | i586   | Updates for openSUSE 11.3 11.3-1.82
v | libpng14-14 | package | 1.4.3-2.1    | i586   | openSUSE-11.3-Oss                  

Qt실행 파일을 실행하면 ldd결과는 다음과 같습니다.


anisha@linux-y3pi:~/Desktop/abc/qtR> ldd qtR

        linux-vdso.so.1 =>  (0x00007fff5312c000)
        libR.so => /usr/lib64/R/lib/libR.so (0x00007f1cf838b000)
        libRblas.so => /usr/lib64/R/lib/libRblas.so (0x00007f1cf815f000)
        libRlapack.so => /usr/lib64/R/lib/libRlapack.so (0x00007f1cf7de5000)
        libRcpp.so => /usr/lib64/R/library/Rcpp/lib/libRcpp.so (0x00007f1cf7b94000)
        libRInside.so => /usr/lib64/R/library/RInside/lib/libRInside.so (0x00007f1cf797f000)
        libQtWebKit.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtWebKit.so.4 (0x00007f1cf61ab000)
        libQtSvg.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtSvg.so.4 (0x00007f1cf5f4b000)
        libQtXml.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtXml.so.4 (0x00007f1cf5cff000)
        libQtGui.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtGui.so.4 (0x00007f1cf4f82000)
        libQtNetwork.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtNetwork.so.4 (0x00007f1cf4c44000)
        libQtCore.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtCore.so.4 (0x00007f1cf4761000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1cf4544000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f1cf423a000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f1cf3fe3000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1cf3dcd000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f1cf3a6d000)
        libreadline.so.6 => /lib64/libreadline.so.6 (0x00007f1cf3826000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f1cf361d000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f1cf3419000)
        libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007f1cf320b000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f1cf899a000)
        libgfortran.so.3 => /usr/lib64/libgfortran.so.3 (0x00007f1cf2f25000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007f1cf2d1a000)
        libphonon.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libphonon.so.4 (0x00007f1cf2aba000)
        libQtDBus.so.4 => /home/anisha/qtsdk-2010.05/qt/lib/libQtDBus.so.4 (0x00007f1cf2832000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007f1cf25fb000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f1cf2372000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f1cf215c000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f1cf1f49000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f1cf1c09000)
        libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f1cf1a04000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f1cf1720000)
        libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007f1cf1517000)
        libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007f1cf12fa000)
        libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f1cf10a5000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f1cf0e7b000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f1cf0c5e000)
        libpcre.so.0 => /lib64/libpcre.so.0 (0x00007f1cf0a30000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f1cf082b000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f1cf0627000)

R 정보:

> sessionInfo ()
R version 2.15.1 (2012-06-22)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
> 

uname -a

anisha@linux-y3pi:~> uname -a && cat /etc/issue
Linux linux-y3pi 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 x86_64 x86_64 GNU/Linux
Welcome to openSUSE 11.3 "Teal" - Kernel \r (\l).

여기에 이미지 설명을 입력하세요.

libpng12를 제거하면 32비트 버전을 설치해야 함을 나타냅니다 R-patched!

무엇을 해야 할까요?

답변1

아직 수세를 사용하지 않았습니다진짜오랜 시간이 걸렸지만 일반적으로 다음 단계를 시도합니다.

  • libpng 1.4용 라이브러리뿐만 아니라 모든 헤더도 설치되어 있는지 확인하세요. 이는 별도의 개발 패키지 또는 유사한 개발 패키지에 있을 수 있습니다.
  • R 라이브러리를 제거하고 소스에서 다시 설치하십시오. 시스템에 설치된 헤더를 사용하여 이러한 소스를 컴파일해야 합니다(1.4 버전 권장). 사용된 libpng 버전에 대한 정보가 있는지 확인하려면 컴파일 명령을 자세히 살펴보세요.
  • libpng-config아마도 경로 어딘가에 호출되는 실행 파일이 있을 것입니다. 이는 심볼릭 링크일 수 있으며 심볼릭 링크를 변경하면 빌드에 사용되는 libpng 버전이 변경될 수 있습니다.
  • 또한 /usr/lib*/libpng.so심볼릭 링크가 가리키는 위치를 확인하세요. qtR이름에 ABI 버전 번호를 포함하지 않고 바이너리가 이름별로 라이브러리를 동적으로 로드할 수 있습니다 .

관련 정보