While trying to emerge sdl-perl I ran into the following problem Calculating dependencies ...done! >>> emerge (1 of 1) dev-perl/sdl-perl-1.20.3-r1 to / >>> md5 files ;-) sdl-perl-1.20.3-r1.ebuild >>> md5 files ;-) sdl-perl-2.1.2-r1.ebuild >>> md5 files ;-) files/digest-sdl-perl-1.20.3-r1 >>> md5 files ;-) files/digest-sdl-perl-2.1.2-r1 >>> md5 files ;-) files/sdl-perl-1.20.3-pie-typo.patch >>> md5 src_uri ;-) SDL_perl-1.20.3.tar.gz >>> Unpacking source... >>> Unpacking SDL_perl-1.20.3.tar.gz to /var/tmp/portage/sdl-perl-1.20.3-r1/work * Applying sdl-perl-1.20.3-pie-typo.patch ... [ ok ] >>> Source unpacked. * Using ExtUtils::MakeMaker make: *** No targets specified and no makefile found. Stop. !!! ERROR: dev-perl/sdl-perl-1.20.3-r1 failed. !!! Function perl-module_src_compile, Line 119, Exitcode 2 !!! compilation failed !!! If you need support, post the topmost build error, NOT this status message. In order to emerge sdl-perl, you need to enable sdl-mixer (1.2.6), sdl-image (1.2.4), and smpeg (0.4.4-r1), which emerged cleanly, no special USE flags Reproducible: Always Steps to Reproduce: 1. 2. 3. !!! Relying on the shell to locate gcc, this may break !!! DISTCC, installing gcc-config and setting your current gcc !!! profile will fix this Portage 2.0.52-r1 (default-darwin/macos/10.4, gcc-4.0.0, libsystem-7.1-r0, 8.2.0 Power Macintosh) =============================================================== == System uname: 8.2.0 Power Macintosh powerpc macos-20041118 distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled] dev-lang/python: [Not Present] sys-apps/sandbox: [Not Present] sys-devel/autoconf: [Not Present] sys-devel/automake: [Not Present] sys-devel/binutils: [Not Present] sys-devel/libtool: [Not Present] virtual/os-headers: 7.1 ACCEPT_KEYWORDS="ppc-macos ~ppc-macos" AUTOCLEAN="yes" CBUILD="powerpc-apple-darwin" CFLAGS="-O2 -pipe" CHOST="powerpc-apple-darwin" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/ qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig collision-protect distlocks sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/ gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc emboss gdbm gif imagemagick nls png ppc-macos qt sdl slang tiff userland_Darwin kernel_Darwin elibc_Darwin" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
It's not keyworded ppc-macos at all...
> It's not keyworded ppc-macos at all... That's why I ekeyworded and ebuild digest the package before the actual emerge...
(In reply to comment #2) > > It's not keyworded ppc-macos at all... > That's why I ekeyworded and ebuild digest the package before the actual emerge... Uh. So submit a patch.
> Uh. So submit a patch. I have no patch. The problem looks like a missing dependency to perl-core/ExtUtils-MakeMaker. ExtUtils-MakeMaker (6.21) doesn't cleanly emerge on Mac OSX. >>> Completed installing ExtUtils-MakeMaker-6.21 into /var/tmp/portage/ExtUtils-MakeMaker-6.21/ image/ * checking 70 files for package collisions existing file /usr/bin/instmodsh is not owned by this package * spent 0.00849914550781 seconds checking for file collisions * This package is blocked because it wants to overwrite * files belonging to other packages (see messages above). * If you have no clue what this is all about report it * as a bug for this package on http://bugs.gentoo.org package perl-core/ExtUtils-MakeMaker-6.21 NOT merged
(In reply to comment #4) > I have no patch. > The problem looks like a missing dependency to perl-core/ExtUtils-MakeMaker. > > ExtUtils-MakeMaker (6.21) doesn't cleanly emerge on Mac OSX. Yes, and it does not have a ppc-macos keyword either; besides, perl ebuilds are not collision-protect compliant (and won't be - see Bug 71659), so kindly disable collision-protect and stop reopening this bug.
CLOSED.
Ok. Next try. Mac OS Tiger has included a proper ExtUtils-MakeMaker, so no need to emerge it (beside that it oesn't work anyway). The build sequence has to be changed from cd /var/tmp/portage/sdl-perl-1.20.3-r1/work to cd /var/tmp/portage/sdl-perl-1.20.3-r1/work/SDL_perl-1.20.3 Next, you need to change the Makefile.PL and add support for the "darwin" platform, as in the attached Makefile.PL.diff. This references a Makefile.darwin, which implements the proper platform specific checks. I attach a basic Makefile.darwin. Currently OpenGL support is disabled, no idea about how to get this to work on MacOSX, yet. The Makefile.darwin implements some configuration checks using 'sdl-config', I assume this makes it rather Gentoo specific. With the attached files, the package at least compiles.
Created attachment 69525 [details, diff] patch to add support for the darwin platform
Created attachment 69526 [details] Darwin specific configuration
media-libs/sdl-gfx is a dependency of this ebuild which is not yet keyworded. smpeg and libsdl have recently been fixed ;)
> media-libs/sdl-gfx is a dependency of this ebuild which is not yet keyworded. Compiles and emerges fine on ppc-macos. USE="mmx" is not supported on ppc
>=media-libs/sdl-net-1.2.4 (can be keyworded) >=media-libs/sdl-mixer-1.2.5 (fails)
>>=media-libs/sdl-mixer-1.2.5 (fails) I get gcc -dynamiclib -o .libs/libSDL_mixer-1.2.0.2.4.dylib .libs/load_aiff.o .libs/load_voc.o .libs/ load_ogg.o .libs/mixer.o .libs/music.o .libs/music_cmd.o .libs/music_ogg.o .libs/wavestream.o .libs/ effect_position.o .libs/effect_stereoreverse.o .libs/effects_internal.o .libs/libSDL_mixer.lax/ libtimidity.a/common.o .libs/libSDL_mixer.lax/libtimidity.a/controls.o .libs/libSDL_mixer.lax/ libtimidity.a/filter.o .libs/libSDL_mixer.lax/libtimidity.a/instrum.o .libs/libSDL_mixer.lax/libtimidity.a/ mix.o .libs/libSDL_mixer.lax/libtimidity.a/output.o .libs/libSDL_mixer.lax/libtimidity.a/playmidi.o .libs/ libSDL_mixer.lax/libtimidity.a/readmidi.o .libs/libSDL_mixer.lax/libtimidity.a/resample.o .libs/ libSDL_mixer.lax/libtimidity.a/sdl_a.o .libs/libSDL_mixer.lax/libtimidity.a/sdl_c.o .libs/ libSDL_mixer.lax/libtimidity.a/tables.o .libs/libSDL_mixer.lax/libtimidity.a/timidity.o .libs/ libSDL_mixer.lax/libnativemidi.a/native_midi_common.o .libs/libSDL_mixer.lax/libnativemidi.a/ native_midi_mac.o .libs/libSDL_mixer.lax/libnativemidi.a/native_midi_win32.o .libs/libSDL_mixer.lax/ libsmpeg.a/bitwindow.o .libs/libSDL_mixer.lax/libsmpeg.a/decoders.o .libs/libSDL_mixer.lax/ libsmpeg.a/filter.o .libs/libSDL_mixer.lax/libsmpeg.a/filter_2.o .libs/libSDL_mixer.lax/libsmpeg.a/ floatdct.o .libs/libSDL_mixer.lax/libsmpeg.a/gdith.o .libs/libSDL_mixer.lax/libsmpeg.a/huffmantable.o .libs/libSDL_mixer.lax/libsmpeg.a/jrevdct.o .libs/libSDL_mixer.lax/libsmpeg.a/mmxflags_asm.o .libs/ libSDL_mixer.lax/libsmpeg.a/mmxidct_asm.o .libs/libSDL_mixer.lax/libsmpeg.a/motionvector.o .libs/ libSDL_mixer.lax/libsmpeg.a/MPEG.o .libs/libSDL_mixer.lax/libsmpeg.a/MPEGaudio.o .libs/ libSDL_mixer.lax/libsmpeg.a/MPEGfilter.o .libs/libSDL_mixer.lax/libsmpeg.a/mpeglayer1.o .libs/ libSDL_mixer.lax/libsmpeg.a/mpeglayer2.o .libs/libSDL_mixer.lax/libsmpeg.a/mpeglayer3.o .libs/ libSDL_mixer.lax/libsmpeg.a/MPEGlist.o .libs/libSDL_mixer.lax/libsmpeg.a/MPEGring.o .libs/ libSDL_mixer.lax/libsmpeg.a/MPEGstream.o .libs/libSDL_mixer.lax/libsmpeg.a/MPEGsystem.o .libs/ libSDL_mixer.lax/libsmpeg.a/mpegtable.o .libs/libSDL_mixer.lax/libsmpeg.a/mpegtoraw.o .libs/ libSDL_mixer.lax/libsmpeg.a/MPEGvideo.o .libs/libSDL_mixer.lax/libsmpeg.a/parseblock.o .libs/ libSDL_mixer.lax/libsmpeg.a/readfile.o .libs/libSDL_mixer.lax/libsmpeg.a/smpeg.o .libs/ libSDL_mixer.lax/libsmpeg.a/util.o .libs/libSDL_mixer.lax/libsmpeg.a/vhar128.o .libs/ libSDL_mixer.lax/libsmpeg.a/video.o -framework QuickTime /usr/lib/libvorbisfile.dylib /usr/lib/ libm.dylib /usr/lib/libvorbis.dylib /usr/lib/libogg.dylib -framework Cocoa -framework OpenGL - lSDLmain /usr/lib/libSDL.dylib -install_name /usr/lib/libSDL_mixer-1.2.0.dylib -Wl,- compatibility_version -Wl,3 -Wl,-current_version -Wl,3.4 ld: Undefined symbols: __ZdaPv __ZdlPv __Znam __Znwm ___cxa_pure_virtual which can possibly helped by http://www.macuser.de/forum/archive/index.php/t-98878.html
for sdl-mixer see bug #107815 (I created a bug for it) (I can read german too by the way ;) )
I can't get libsdl to compile. Undefined symbols in the linking phase.
even with help from here: http://trac.macports.org/browser/trunk/dports/perl/p5-sdl_perl/ I can't get it to do something more useful then dying on: Can't use an undefined value as an ARRAY reference at make/lib/SDL/Build.pm line 154 Reopen if you have a working system somehow.