FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux User Repository

 
 
LinkBack Thread Tools
 
Old 07-16-2010, 04:52 PM
Michael Witten
 
Default Rebuild community/skype-call-recorder

The `skype-call-recorder' package in the `community' repository simply
needs to be rebuilt.

The current binary fails to run because it cannot load `libpng12'
(which no longer seems to exist officially and is indeed not required
by skype-call-recorder).

--------------------

The following may be of interest to the developer of
skype-call-recorder (who has been added to the Bcc list out of respect
for a seemingly keen interest for remaining private).

Interestingly, after rebuilding skype-call-recorder, the output of
this command (which gives the direct shared library dependencies):

readelf -d `which skype-call-recorder` | awk -F'[][]' '/NEEDED/ {print $2}'

went from this:

libmp3lame.so.0
libid3-3.8.so.3
libvorbisenc.so.2
libQtGui.so.4
libpng12.so.0
libSM.so.6
libICE.so.6
libXrender.so.1
libfreetype.so.6
libfontconfig.so.1
libXext.so.6
libX11.so.6
libQtDBus.so.4
libdbus-1.so.3
libQtXml.so.4
libQtNetwork.so.4
libssl.so.0.9.8
libQtCore.so.4
libz.so.1
libgthread-2.0.so.0
libglib-2.0.so.0
librt.so.1
libpthread.so.0
libdl.so.2
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
libvorbis.so.0
libogg.so.0

to this:

libmp3lame.so.0
libid3-3.8.so.3
libvorbisenc.so.2
libQtGui.so.4
libQtDBus.so.4
libQtNetwork.so.4
libQtCore.so.4
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
libvorbis.so.0
libogg.so.0

More interesting is that even some of these aren't actually direct
dependencies; the output of this command:

ldd -u `which skype-call-recorder`

is this:

Unused direct dependencies:

/usr/lib/libmp3lame.so.0
/usr/lib/libid3-3.8.so.3
/usr/lib/libvorbisenc.so.2
/usr/lib/libQtNetwork.so.4
/lib/libm.so.6
/usr/lib/libgcc_s.so.1
/lib/libc.so.6
/usr/lib/libvorbis.so.0

For instance, I imagine that `libc' is listed as unused because
skype-call-recorder is actually a C++ program that only depends
directly on `libstdc++'.

Perhaps the commands used to build skype-call-recorder can be cleaned up.

Sincerely,
Michael Witten
 
Old 07-16-2010, 05:12 PM
Ionuț Bîru
 
Default Rebuild community/skype-call-recorder

On 07/16/2010 07:52 PM, Michael Witten wrote:

The `skype-call-recorder' package in the `community' repository simply
needs to be rebuilt.

The current binary fails to run because it cannot load `libpng12'
(which no longer seems to exist officially and is indeed not required
by skype-call-recorder).

--------------------

The following may be of interest to the developer of
skype-call-recorder (who has been added to the Bcc list out of respect
for a seemingly keen interest for remaining private).

Interestingly, after rebuilding skype-call-recorder, the output of
this command (which gives the direct shared library dependencies):

readelf -d `which skype-call-recorder` | awk -F'[][]' '/NEEDED/ {print $2}'

went from this:


<snip>

no idea what version did you used but on x86_64 it doesn't link to
libpng12 and clearly doesn't link to so many libs.


scan skype-call-recorder
/usr/bin/skype-call-recorder -- libmp3lame.so.0
/usr/bin/skype-call-recorder -- libid3-3.8.so.3
/usr/bin/skype-call-recorder -- libvorbisenc.so.2
/usr/bin/skype-call-recorder -- libQtGui.so.4
/usr/bin/skype-call-recorder -- libQtDBus.so.4
/usr/bin/skype-call-recorder -- libQtNetwork.so.4
/usr/bin/skype-call-recorder -- libQtCore.so.4
/usr/bin/skype-call-recorder -- libpthread.so.0
/usr/bin/skype-call-recorder -- libstdc++.so.6
/usr/bin/skype-call-recorder -- libm.so.6
/usr/bin/skype-call-recorder -- libc.so.6
/usr/bin/skype-call-recorder -- libvorbis.so.0
/usr/bin/skype-call-recorder -- libogg.so.0




--
Ionuț
 
Old 07-16-2010, 05:52 PM
Evangelos Foutras
 
Default Rebuild community/skype-call-recorder

On 16/07/10 19:52, Michael Witten wrote:

The `skype-call-recorder' package in the `community' repository simply
needs to be rebuilt.

The current binary fails to run because it cannot load `libpng12'
(which no longer seems to exist officially and is indeed not required
by skype-call-recorder).


Hello there.

It appears that you are using a package of skype-call-recorder built
from the AUR before skype-call-recorder was moved to [community] and
also before --as-needed was added to our LDFLAGS.


We had a libpng rebuild at the beginning of this year, but
skype-call-recorder wasn't in the list because it was built with
--as-needed and as such, it didn't depend on libpng directly (which is a
dependency of Qt).


Quite a tricky timing issue. If --as-needed was introduced either before
you built the package from the AUR or after the libpng rebuild was
complete, it wouldn't have occurred. Well, I guess I could have bumped
the pkgrel during the move to [community], but it didn't occur to me. :P


Since you've already rebuilt the package, the issue should be resolved.
Otherwise, you could do a `pacman -S skype-call-recorder' to remedy that.


--------------------

The following may be of interest to the developer of
skype-call-recorder (who has been added to the Bcc list out of respect
for a seemingly keen interest for remaining private).

Interestingly, after rebuilding skype-call-recorder, the output of
this command (which gives the direct shared library dependencies):

readelf -d `which skype-call-recorder` | awk -F'[][]' '/NEEDED/ {print $2}'

went from this:

libmp3lame.so.0
libid3-3.8.so.3
libvorbisenc.so.2
libQtGui.so.4
libpng12.so.0
libSM.so.6
libICE.so.6
libXrender.so.1
libfreetype.so.6
libfontconfig.so.1
libXext.so.6
libX11.so.6
libQtDBus.so.4
libdbus-1.so.3
libQtXml.so.4
libQtNetwork.so.4
libssl.so.0.9.8
libQtCore.so.4
libz.so.1
libgthread-2.0.so.0
libglib-2.0.so.0
librt.so.1
libpthread.so.0
libdl.so.2
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
libvorbis.so.0
libogg.so.0

to this:

libmp3lame.so.0
libid3-3.8.so.3
libvorbisenc.so.2
libQtGui.so.4
libQtDBus.so.4
libQtNetwork.so.4
libQtCore.so.4
libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
libvorbis.so.0
libogg.so.0


This is thanks to the --as-needed flag that is passed to the linker (see
the LDFLAGS variable in /etc/makepkg.conf).



More interesting is that even some of these aren't actually direct
dependencies; the output of this command:

ldd -u `which skype-call-recorder`

is this:

Unused direct dependencies:

/usr/lib/libmp3lame.so.0
/usr/lib/libid3-3.8.so.3
/usr/lib/libvorbisenc.so.2
/usr/lib/libQtNetwork.so.4
/lib/libm.so.6
/usr/lib/libgcc_s.so.1
/lib/libc.so.6
/usr/lib/libvorbis.so.0

For instance, I imagine that `libc' is listed as unused because
skype-call-recorder is actually a C++ program that only depends
directly on `libstdc++'.

Perhaps the commands used to build skype-call-recorder can be cleaned up.


No idea why that is the case. :P


Sincerely,
Michael Witten
 

Thread Tools




All times are GMT. The time now is 03:02 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org