# [emerge]error al compilar(cannot find -lpng12){SOLUCIONADO}

## upszot

Buenos dias

ayer tras actualizar el world me pidio hacer un "preserved-rebuild" y pude emerger varios paquetes pero me quedaron una pequeña lista que me falla la compilación.. *Quote:*   

> M1530 upszot # emerge  -p @preserved-rebuild
> 
> These are the packages that would be merged, in order:
> 
> Calculating dependencies... done!
> ...

  intente solucionarlo haciendo un "lafilefixer --justfixit" y tambien un "env-update" pero al realizar el "emerge  @preserved-rebuild" me siguen pinchando...

 (por lo que pude apreciar los errores en los distinntos paquetes son todos con el mismo archivo...)

dejo un fragmento de uno de los logs... *Quote:*   

> libtool: link: /usr/bin/nm -B  .libs/gdk.o .libs/gdkapplaunchcontext.o .libs/gdkcairo.o .libs/gdkcolor.o .libs/gdkcursor.o .libs/gdkdisplay.o .libs/gdkdisplaymanager.o .libs/gdkdnd.o .libs/gdkdraw.o .libs/gdkevents.o .libs/gdkfont.o .libs/gdkgc.o .libs/gdkglobals.o .libs/gdkimage.o .libs/gdkkeys.o .libs/gdkkeyuni.o .libs/gdkoffscreenwindow.o .libs/gdkpango.o .libs/gdkpixbuf-drawable.o .libs/gdkpixbuf-render.o .libs/gdkpixmap.o .libs/gdkpolyreg-generic.o .libs/gdkrectangle.o .libs/gdkregion-generic.o .libs/gdkrgb.o .libs/gdkscreen.o .libs/gdkselection.o .libs/gdkvisual.o .libs/gdkwindow.o .libs/gdkwindowimpl.o .libs/gdkenumtypes.o .libs/gdkmarshalers.o   x11/.libs/libgdk-x11.a | sed -n -e 's/^.*[    ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[  ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libgdk-x11-2.0.exp
> 
> libtool: link: /bin/grep -E -e "^[^_].*" ".libs/libgdk-x11-2.0.exp" > ".libs/libgdk-x11-2.0.expT"
> 
> libtool: link: mv -f ".libs/libgdk-x11-2.0.expT" ".libs/libgdk-x11-2.0.exp"
> ...

 

Alguien tiene idea de como solucionarlo??

----------

## Inodoro_Pereyra

Te has topado con la actualización de libpng  :Very Happy: , me pasó lo mismo la semana pasada. lafilefixer no hace nada al respecto de los archivos .so como parece ser tu caso. Lo solucioné siguiendo estas instrucciones.

Salud!

----------

## upszot

Gracias inodoro...

según lo que entiendo por mi poco ingles ...

 *AM088 wrote:*   

> Just wanted to let everyone know that a new major version of libpng appeared in portage today, and if you update mindlessly, you will have massive breakage since libpng is used by practically all graphical packages.
> 
> So, if you choose to update to it, you will need to either:
> 
> - Rebuild a whole lot of major packages (51 in my case) with revdep-rebuild. (Portage 2.2 won't save you due to the block)
> ...

 tendría que volver a instalar la versión mas vieja en otro slot y generar un link a mano para la misma en /usr/lib... es correcto?

pero al revisar que versión tengo instalado me encuentro con esto... *Quote:*   

> M1530 upszot # equery list -i  |grep 'media-libs/libpng'
> 
> media-libs/libpng-1.2.44
> 
> media-libs/libpng-1.4.3   

 y viendo un poco en /usr/lib  *Quote:*   

> M1530 upszot # ls -l /usr/lib |grep libpng    
> 
> lrwxrwxrwx  1 root root       10 Jul  1 02:03 libpng.a -> libpng14.a
> 
> lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.la -> libpng14.la
> ...

 

lo q no entiendo bien es como debería d estar el link...

----------

## upszot

Hola gente...

aca estoy de nuevo... bueno probé crear un link... y como no sabia contra que ni con que nombre... estuve probando hasta que logre que compilara...  :Razz:   jeje

ahora mi pregunta es:  ...lo que hice esta bien? ...o esto compilo de pepe   :Confused:   alguien me puede iluminar y decirme para que son los archivos .so ??

```

M1530 lib # ln -s libpng12.so.0 lpng12

M1530 lib # ls -l |grep png

lrwxrwxrwx  1 root root       10 Jul  1 02:03 libpng.a -> libpng14.a

lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.la -> libpng14.la

lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.so -> libpng14.so

-rwxr-xr-x  1 root root   145108 Jul  1 02:04 libpng12.so.0

-rw-r--r--  1 root root   177042 Jul  1 02:03 libpng14.a

-rw-r--r--  1 root root      933 Jul  1 02:03 libpng14.la

lrwxrwxrwx  1 root root       18 Jul  1 02:03 libpng14.so -> libpng14.so.14.3.0

lrwxrwxrwx  1 root root       18 Jul  1 02:03 libpng14.so.14 -> libpng14.so.14.3.0

-rwxr-xr-x  1 root root   144992 Jul  1 02:03 libpng14.so.14.3.0

lrwxrwxrwx  1 root root       13 Jul 22 23:10 lpng12 -> libpng12.so.0

#(aca mande a compilar y volvio a tirar el error...)

M1530 lib # mv lpng12 lpng12.so

M1530 lib # ls -l |grep png

lrwxrwxrwx  1 root root       10 Jul  1 02:03 libpng.a -> libpng14.a

lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.la -> libpng14.la

lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.so -> libpng14.so

-rwxr-xr-x  1 root root   145108 Jul  1 02:04 libpng12.so.0

-rw-r--r--  1 root root   177042 Jul  1 02:03 libpng14.a

-rw-r--r--  1 root root      933 Jul  1 02:03 libpng14.la

lrwxrwxrwx  1 root root       18 Jul  1 02:03 libpng14.so -> libpng14.so.14.3.0

lrwxrwxrwx  1 root root       18 Jul  1 02:03 libpng14.so.14 -> libpng14.so.14.3.0

-rwxr-xr-x  1 root root   144992 Jul  1 02:03 libpng14.so.14.3.0

lrwxrwxrwx  1 root root       13 Jul 22 23:10 lpng12.so -> libpng12.so.0

#  (otra vez probe compilar y nada)

M1530 lib # mv lpng12.so libpng12.so 

M1530 lib # ls -l |grep png

lrwxrwxrwx  1 root root       10 Jul  1 02:03 libpng.a -> libpng14.a

lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.la -> libpng14.la

lrwxrwxrwx  1 root root       11 Jul  1 02:03 libpng.so -> libpng14.so

lrwxrwxrwx  1 root root       13 Jul 22 23:10 libpng12.so -> libpng12.so.0

-rwxr-xr-x  1 root root   145108 Jul  1 02:04 libpng12.so.0

-rw-r--r--  1 root root   177042 Jul  1 02:03 libpng14.a

-rw-r--r--  1 root root      933 Jul  1 02:03 libpng14.la

lrwxrwxrwx  1 root root       18 Jul  1 02:03 libpng14.so -> libpng14.so.14.3.0

lrwxrwxrwx  1 root root       18 Jul  1 02:03 libpng14.so.14 -> libpng14.so.14.3.0

-rwxr-xr-x  1 root root   144992 Jul  1 02:03 libpng14.so.14.3.0

M1530 lib #
```

y por ultimo de esa forma me termino compilando... aunque me quedan las dudas si quedo todo bien... y lo que hice esta bien.

saludos

----------

## aj2r

¿Al actualizar a la 1.4.x ejecutaste el script /usr/sbin/libpng-1.4.x-update.sh como aconseja el propio ebuild de libpng? Con eso debería haberte bastado.

----------

## upszot

 *aj2r wrote:*   

> ¿Al actualizar a la 1.4.x ejecutaste el script /usr/sbin/libpng-1.4.x-update.sh como aconseja el propio ebuild de libpng? Con eso debería haberte bastado.

   Graciass... se me habia pasado...

 me puse a revizar los logs y el paquete lo habia instalado el 01/07... en el log decia justamente lo que me pusiste aca.. pero se ve que en su momento se me paso por alto y no lo ejecute... ahora ya lo ejecute asi me queda todo bien..

doy por cerrado el post

----------

