Kodi Community Forum
Libretro won't compile? - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292)
+--- Thread: Libretro won't compile? (/showthread.php?tid=170822)

Pages: 1 2 3


Libretro won't compile? - LostCosmonaut - 2013-08-08

So I'm trying to install this for the first time, from the latest commit. It looks like the make command is failing when it gets to LibretroEnvironment.cpp - any idea why this might be the case? Let me know if there's anything I can do to provide a more descriptive error, I'm pretty new to Linux

Code:
make[1]: *** [LibretroEnvironment.o] Error 1
make: *** [xbmc/games/libretro/libretro.a] Error 2



RE: Libretro won't compile? - drivesoslow - 2013-08-08

Same issue here, log file: http://pastebin.com/6dP5Fk4S


RE: Libretro won't compile? - LostCosmonaut - 2013-08-08

Yeah, that's exactly what I was seeing


RE: Libretro won't compile? - ShaneB - 2013-08-10

That normally occurs when stdlib hasnt been included.. but there is a trail all the way up through the headers in that log.

EDIT: I am getting the same on an Ubuntu 13.04 compile.


RE: Libretro won't compile? - ShaneB - 2013-08-10

Was doing some hunting and found this in the configure logs (config.log)

Code:
configure:17048: checking for size_t
configure:17048: gcc -c -O2  -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -W
all  conftest.c >&5
configure:17048: $? = 0
configure:17048: gcc -c -O2  -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -g -D_DEBUG -W
all  conftest.c >&5
conftest.c: In function 'main':
conftest.c:60:21: error: expected expression before ')' token
configure:17048: $? = 1
configure: failed program was:
| /* confdefs.h */

and there are a few of them through the config.log - still a newb to this but it could be related.


RE: Libretro won't compile? - ShaneB - 2013-08-10

I got it to compile but I am fairly sure my solution is a complete hack.

I added

#include <stdlib.h>
#include <stdint.h>

to the top of the LibretroEnvironment.cpp file

- Shane


RE: Libretro won't compile? - ShaneB - 2013-08-10

And success! After working my way through the Rom Collection Browser and getting it to work and getting all the cores I can now successfully run games through the ROM Collection Browser through libretro. So though it looks a bit nasty the fix specified above will work. A couple of things:

1. I had to delete the main repository.libretro-linux and repository.libretro-win32 from the xbmc folder under /usr/local/share/
2. I had to manually copy the gameclients from the gears repository after first fixing the location of the repository in the libretro addon

but it seems successful so far (now for the XBox Controller usage with XBMC)


RE: Libretro won't compile? - drivesoslow - 2013-08-10

That does fix it. I was looking yesterday to see in there was a header file that already included those references that had not been included but I did not find one.

The only issues I have had with joysticks is that sometimes it doesn't work until you got to input devices under settings and uncheck and the recheck joystick support.


RE: Libretro won't compile? - LostCosmonaut - 2013-08-10

So where did you copy the gameclients from and to? I'm getting the Incompatible DLL error any time I install them through XBMC


RE: Libretro won't compile? - ShaneB - 2013-08-11

Hi LC. I got them from a repository hosted by the maintainer of RetroPlayer....

https://github.com/garbear/repository.libretro/tree/master/linux32

Make sure you add the Linux (32bit) addon for Libretro, or if you are on 64 bit just go back on level and git clone the entire repository ( which is what I did )

- Shane


RE: Libretro won't compile? - LostCosmonaut - 2013-08-12

Just got the SNES emulator up and running, thanks! Although for some reason Genesis games want me to download the 64-bit client and are ignoring the 32-bit one I have installed. Is there any way I can remove the 64 bit repository and emulators completely?


RE: Libretro won't compile? - garbear - 2013-08-12

Try deleting $XBMC_DIR/addons/repository.libretro-linux

Don't worry, binary add-ons are on their way and will put an end to the 32- vs. 64-bit hassles


RE: Libretro won't compile? - garbear - 2013-08-13

(2013-08-08, 07:07)LostCosmonaut Wrote: So I'm trying to install this for the first time, from the latest commit. It looks like the make command is failing when it gets to LibretroEnvironment.cpp - any idea why this might be the case? Let me know if there's anything I can do to provide a more descriptive error, I'm pretty new to Linux

Code:
make[1]: *** [LibretroEnvironment.o] Error 1
make: *** [xbmc/games/libretro/libretro.a] Error 2

Fixed (finally) in Commit:fb4bf92

Compile from retroplayer8 if you want XBMC Gotham Alpha 6 (see June and July update summary), compile from retroplayer7 if you want XBMC Gotham Alpha 4. retroplayer7 got the fix above, so the two branches are functionally equivalent from RetroPlayer's perspective (for now).

EDIT: retroplayer6 was based on Alpha 3, retroplayer7 is actually an unstable nightly two weeks before alpha 5, not alpha 4. Moral of the story: just use the latest branch Smile


RE: Libretro won't compile? - LostCosmonaut - 2013-08-14

Awesome, glad to be of assistance.


RE: Libretro won't compile? - drivesoslow - 2013-08-15

So I was able to compile but XBMC crashes whenever I launch a rom (no matter which emulator) and unfortunately there is nothing in the xbmc logs. I have done a full clean and rebuild with no luck, is anyone else having issues?

dmesg shows a segfault
Code:
[610062.618767] [fglrx:firegl_get_console_mode_info] *ERROR* Get Console Mode failed
[610063.295518] [fglrx:firegl_apl_loadDatabase] *ERROR* APL: apl initialize fail.
[610063.299211] [fglrx:firegl_apl_loadDatabase] *ERROR* APL: apl initialize fail.
[610063.877137] [fglrx:firegl_apl_loadDatabase] *ERROR* APL: apl initialize fail.
[610063.880795] [fglrx:firegl_apl_loadDatabase] *ERROR* APL: apl initialize fail.
[610097.661756] xbmc.bin[8714]: segfault at 0 ip a5bff6c4 sp bfb1f380 error 4 in libretro-fceu.so[a5bfb000+90000]