Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 104221 - In sdl-perl-2.1.2-r1, ld complains "cannot find -lSDL -lpthread"
Summary: In sdl-perl-2.1.2-r1, ld complains "cannot find -lSDL -lpthread"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Elfyn McBratney (beu) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-29 21:04 UTC by Michael Hill
Modified: 2005-10-18 21:08 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
This fixes the build (sdl-libs.patch,649 bytes, patch)
2005-09-18 04:57 UTC, Rodolfo Boer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Hill 2005-08-29 21:04:25 UTC
$ emerge info
Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1,
2.6.11-gentoo-r11 i686)
=================================================================
System uname: 2.6.11-gentoo-r11 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.12.0_pre6
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5, 2.4.1-r1
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c
/etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig buildpkg ccache digest distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://www.gtlib.cc.gatech.edu/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X acpi alsa apm audiofile avi bcmath berkdb bitmap-fonts bzlib
calendar caps cdb cdr crypt cscope ctype cups curl dba dbase dbx dedicated dga
dlloader doc dvd dvdr eds emboss encode esd exif fbcon fftw flac flatfile
font-server foomaticdb freetds ftp gd gif ginac gmp gnutls gpm gtk gtk2 hardened
hardenedphp imagemagick imlib inifile jack jpeg kde libwww logrotate logwatch
mbox memlimit mhash mikmod milter mime mmap mmx mng mozilla mp3 mpeg mpi mysql
ncurses nocardbus nocd nomotif odbc ogg oggvorbis opengl oss pam pcntl pcre pda
pdflib perl php pic pie plotutils png posix ppds python qt quicktime readline
real samba sdl shared sharedmem simplexml sndfile sockets speex spell spl sse
ssl svg sysvipc tcltk tcpd tidy tiff tokenizer truetype truetype-fonts
type1-fonts usb vhosts videos vorbis wmf xine xml xml2 xmlrpc xmms xpm xsl xv
xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS


Attempting to 'emerge sdl-perl' (which I already had installed; I'm trying to
rebuild it) gives:

orial/Animation.pm
lib/SDL/Rect.pm -> blib/lib/SDL/Rect.pm
lib/SDL/Surface.pm -> blib/lib/SDL/Surface.pm
lib/SDL/Palette.pm -> blib/lib/SDL/Palette.pm
lib/SDL/MPEG.pm -> blib/lib/SDL/MPEG.pm
lib/SDL/SFont.pm -> blib/lib/SDL/SFont.pm
lib/SDL/Tutorial/Drawing.pm -> blib/lib/SDL/Tutorial/Drawing.pm
lib/SDL/Tool/Graphic.pm -> blib/lib/SDL/Tool/Graphic.pm
lib/SDL/Cursor.pm -> blib/lib/SDL/Cursor.pm
lib/SDL/Video.pm -> blib/lib/SDL/Video.pm
lib/SDL/Event.pm -> blib/lib/SDL/Event.pm
lib/SDL/Tutorial.pm -> blib/lib/SDL/Tutorial.pm
lib/SDL/Sound.pm -> blib/lib/SDL/Sound.pm
lib/SDL/Mixer.pm -> blib/lib/SDL/Mixer.pm
lib/SDL/OpenGL.pm -> blib/lib/SDL/OpenGL.pm
lib/SDL.pm -> blib/lib/SDL.pm
lib/SDL/Timer.pm -> blib/lib/SDL/Timer.pm
lib/SDL/Font.pm -> blib/lib/SDL/Font.pm
lib/SDL/Music.pm -> blib/lib/SDL/Music.pm
lib/SDL/OpenGL/Constants.pm -> blib/lib/SDL/OpenGL/Constants.pm
lib/SDL/Color.pm -> blib/lib/SDL/Color.pm
lib/SDL/Config.pm -> blib/lib/SDL/Config.pm
lib/SDL/Tool/Font.pm -> blib/lib/SDL/Tool/Font.pm
lib/SDL_perl.pm -> blib/lib/SDL_perl.pm
lib/SDL/Cdrom.pm -> blib/lib/SDL/Cdrom.pm
lib/SDL/Tutorial/Images.pm -> blib/lib/SDL/Tutorial/Images.pm
lib/SDL/App.pm -> blib/lib/SDL/App.pm
lib/SDL/Constants.pm -> blib/lib/SDL/Constants.pm
lib/SDL/TTFont.pm -> blib/lib/SDL/TTFont.pm
src/SDL.xs -> src/SDL_perl.xs
src/SDL_perl.xs -> src/SDL_perl.c
gcc -I/usr/lib/perl5/5.8.7/i686-linux/CORE -fPIC -I/usr/X11R6/include
-I/usr/include/smpeg -I/usr/include/SDL -I/usr/include/SDL -D_REENTRANT
-DHAVE_PNG -DHAVE_SDL -DHAVE_SDL_TTF -DHAVE_SDL_NET -DHAVE_SDL_IMAGE
-DHAVE_SDL_GFX -DHAVE_JPEG -DHAVE_SMPEG -DHAVE_SDL_MIXER -fPIC -c
-fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-fno-stack-protector -o src/SDL_perl.o src/SDL_perl.c
src/SDL_perl.xs: In function `XS_SDL_NetResolveIP':
src/SDL_perl.xs:2448: warning: assignment discards qualifiers from pointer
target type
ExtUtils::Mkbootstrap::Mkbootstrap('src/SDL_perl')
gcc -shared -L/usr/local/lib -o blib/arch/auto/SDL_perl/SDL_perl.so
src/SDL_perl.o -L/usr/lib -L/usr/X11R6/lib -lSDL -lpthread -lpng -lSDL -lSDL_ttf
-lSDL_net -lSDL_image -lSDL_gfx -ljpeg -lsmpeg -lSDL_mixer
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../i686-pc-linux-gnu/bin/ld:
cannot find -lSDL -lpthread
collect2: ld returned 1 exit status
error building .so file from 'src/SDL_perl.o' at
/usr/lib/perl5/vendor_perl/5.8.6/Module/Build/Base.pm line 2565, <File0000> line
4188.

It looks to me like somehow the '-lSDL -lpthread' arguments are getting supplied
to ld as a single argument; I have both libSDL.so and libpthread.so in /usr/lib
.  So I don't know if that's an upstream bug that I should report to
sdl-devel@perl.org, but I thought maybe I should try here first.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-09-04 04:12:22 UTC
Mass re-assign.
Comment 2 Michael Tharp 2005-09-17 10:44:31 UTC
I've tracked down the problem, notably three places in _build/note             
                                     'extra_linker_flags' => [
                                                                             
'-L/usr/lib',
                                                                             
'-lSDL -lpthread',
                                                                             
'-lSDL_image',
                                                                             
'-lSDL'
                                                                            ],
which appears in three places in the main SDL build file, I'm assuming elsewhere
as well... There are other similar occurances, ie '-I/usr/include/SDL
-D_REENTRANT' that are probably causing similar problems. It looks to me like a
problem with the lib sdl-perl is using to manage its build scripts.
Comment 3 Rodolfo Boer 2005-09-18 04:57:02 UTC
Created attachment 68727 [details, diff]
This fixes the build

This patch (a simple hack) fixes the bug. Mind that I *don't* know perl, so a
review is in order.
Comment 4 Andrej Kacian (RETIRED) gentoo-dev 2005-09-29 09:15:53 UTC
I'm affected by this as well.
Comment 5 (disabled) 2005-10-02 23:46:26 UTC
The same error occurs here, but the ebuild does not die. 
 
(...) 
ExtUtils::Mkbootstrap::Mkbootstrap('src/SDL_perl') 
x86_64-pc-linux-gnu-gcc -shared -o blib/arch/auto/SDL_perl/SDL_perl.so 
src/SDL_perl.o -L/usr/lib -L/usr/X11R6/lib -lSDL -lpthread -lpng -lSDL 
-lSDL_ttf -lSDL_net -lSDL_image -lSDL_gfx -ljpeg -lsmpeg -lSDL_mixer 
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: 
cannot find -lSDL -lpthread 
collect2: ld returned 1 exit status 
error building .so file from 'src/SDL_perl.o' 
at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 2583. 
>>> Test phase [not enabled]: dev-perl/sdl-perl-2.1.2-r1 
 
>>> Install sdl-perl-2.1.2-r1 into /var/tmp/portage/sdl-perl-2.1.2-r1/image/ 
category dev-perl 
x86_64-pc-linux-gnu-gcc -shared -o blib/arch/auto/SDL_perl/SDL_perl.so 
src/SDL_perl.o -L/usr/lib -L/usr/X11R6/lib -lSDL -lpthread -lpng -lSDL 
-lSDL_ttf -lSDL_net -lSDL_image -lSDL_gfx -ljpeg -lsmpeg -lSDL_mixer 
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.4/../../../../x86_64-pc-linux-gnu/bin/ld: 
cannot find -lSDL -lpthread 
collect2: ld returned 1 exit status 
error building .so file from 'src/SDL_perl.o' 
at /usr/lib/perl5/vendor_perl/5.8.7/Module/Build/Base.pm line 2583. 
man: 
>>> Completed installing sdl-perl-2.1.2-r1 
into /var/tmp/portage/sdl-perl-2.1.2-r1/image/ 
 
>>> Merging dev-perl/sdl-perl-2.1.2-r1 to / 
--- /usr/ 
--- /usr/share/ 
--- /usr/share/doc/ 
--- /usr/share/doc/sdl-perl-2.1.2-r1/ 
>>> /usr/share/doc/sdl-perl-2.1.2-r1/README.gz 
>>> /usr/share/doc/sdl-perl-2.1.2-r1/MANIFEST.gz 
--- /usr/share/perl/ 
--- /usr/share/perl/gentoo-pods/ 
--- /usr/share/perl/gentoo-pods/5.8.7/ 
>>> Safely unmerging already-installed instance... 
--- !mtime obj /usr/share/doc/sdl-perl-2.1.2-r1/README.gz 
--- !mtime obj /usr/share/doc/sdl-perl-2.1.2-r1/MANIFEST.gz 
--- !empty dir /usr/share/perl/gentoo-pods/5.8.7 
--- !empty dir /usr/share/perl/gentoo-pods 
--- !empty dir /usr/share/perl 
--- !empty dir /usr/share/doc/sdl-perl-2.1.2-r1 
--- !empty dir /usr/share/doc 
--- !empty dir /usr/share 
--- !empty dir /usr 
>>> original instance of package unmerged safely. 
>>> Regenerating /etc/ld.so.cache... 
>>> dev-perl/sdl-perl-2.1.2-r1 merged. 
Comment 6 SpanKY gentoo-dev 2005-10-18 21:08:16 UTC
fixed in cvs, thanks for the patch