After attempting to compile/install, I get these errors: gcc PsxBios.o PsxCounters.o PsxDma.o Spu.o PsxHw.o PsxMem.o Misc.o R3000A.o PsxInterpreter.o PsxHLE.o spu/spu.o xmms/xmms.o -o libsexypsf.so -shared -lz gcc: PsxBios.o: No such file or directory gcc: PsxCounters.o: No such file or directory gcc: PsxDma.o: No such file or directory gcc: Spu.o: No such file or directory gcc: PsxHw.o: No such file or directory gcc: PsxMem.o: No such file or directory gcc: Misc.o: No such file or directory gcc: R3000A.o: No such file or directory gcc: PsxInterpreter.o: No such file or directory gcc: PsxHLE.o: No such file or directory gcc: spu/spu.o: No such file or directory make: *** [sexypsf] Error 1 I've discovered that this doesn't happen if I simply flip the build order -- build the plugin first, then the commandline app. Attaching a patch as soon as it lets me...
Created attachment 77302 [details, diff] Patch to sexypsf-0.4.7.ebuild Builds the commandline app after the plugin, instead of the other way around. Makes sexypsf actually compile for me, on my amd64.
Thanks for the patch, but it's a workaround, and not a fix, because it then uses the object files built with -fPIC to generate the application (only the library should be built with -fPIC). I can build it just fine here, so I'm not really sure this is the problem, but could you please instead try changing (in the original ebuild, of course) emake CPU="${CPU}" XMMSCONF="${XMMSCONF}" clean sexypsf || die "emake failed" to make clean || die "make clean failed" emake CPU="${CPU}" XMMSCONF="${XMMSCONF}" sexypsf || die "emake failed" (moving the 'clean' to a separate 'make' invocation) and report back whether that fixes it? If it doesn't fix it, could you please provide your emerge --info, and the full output of `emerge sexypsf` ?
Please re-open when you get the chance to test.
Harald, I get the same error as David with the original ebuild (I think it is related to the xmms or bmp plugin, it compiles without them), so I tested your fix and it works, you can commit it. Cheers
Thanks, and done.