libpng warning: Versão libpng incompatível no aplicativo e biblioteca

2
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 depende do png : link
A tentativa de executar o código RgoogleMaps em Qt resultou nos erros acima.

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                  

A execução do executável Qt com ldd resulta em:

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)

Informação 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).

A desinstalação do libpng12 diz que você terá que instalar uma versão de 32 bits do R-patched !

O que fazer?

    
por Aquarius_Girl 20.07.2012 / 09:27

1 resposta

1

Não tenho usado o suse por um tempo realmente longo, mas no geral eu tentaria estas etapas:

  • Assegure-se de que não apenas a biblioteca para libpng 1.4 esteja instalada, mas também todos os cabeçalhos. Isso pode estar em um pacote de desenvolvimento separado ou similar.
  • Remova a biblioteca R e reinstale-a a partir da origem. Ele deve compilar essas fontes usando os cabeçalhos instalados no seu sistema, esperamos que a versão 1.4. Dê uma olhada nos comandos de compilação e veja se há alguma informação sobre a versão da libpng usada.
  • Pode haver um executável chamado libpng-config em algum lugar do seu caminho. Provavelmente é um link simbólico, e mudar esse link simbólico pode mudar a versão da libpng usada para compilações.
  • Veja também para onde o link simbólico /usr/lib*/libpng.so aponta. Pode muito bem ser que o qtR binário carregue essa biblioteca dinamicamente pelo nome, sem incluir o número da versão ABI nesse nome.
por 23.07.2012 / 18:58