Libretro won't compile?
#16
libretro-fceu.so is segfaulting. there's a bug in the emulator, but I don't know why it would be affecting the other roms. I'll download fceu and do some tests

I'm re-doing the add-on repo, adding a bit more infrastructure by making most of the emulator add-on "fluff" auto-generated. I'll be able to compile and upload new versions weekly by simply changing two or three lines in an xml file, versus the whole add-on repacking process (which I had already partially mechanized). The frequency of updates will even make feedback more useful for those awesome people developing these emulators. Crashes, like this one, may soon be slightly less common.
Reply
#17
It's not just that one emulator but all that segfault I just clipped that one as an example. Also I'm running 32bit linux.

Code:
Aug 14 19:03:30 kernel: [609745.057015] xbmc.bin[8045]: segfault at 0 ip a5e006a3 sp bff20d60 error 4 in libretro-snes9x-next.so[a5c32000+205000]
Aug 14 19:09:23 kernel: [610097.661756] xbmc.bin[8714]: segfault at 0 ip a5bff6c4 sp bfb1f380 error 4 in libretro-fceu.so[a5bfb000+90000]

It also segfaults just installing the emulators
Reply
#18
drivesoslow, can you try older versions of the emulators? They're available here: https://github.com/garbear/repository.li...32/release

I uploaded freshly compiled 32-bit versions on 2013/07/10, so maybe all the new versions have a problem with the libretro ABI.
Reply
#19
(2013-08-15, 22:26)garbear Wrote: drivesoslow, can you try older versions of the emulators? They're available here: https://github.com/garbear/repository.li...32/release

I uploaded freshly compiled 32-bit versions on 2013/07/10, so maybe all the new versions have a problem with the libretro ABI.

I reverted back to 1.0.2 with no luck. I'm deleting my local repo and I'm cloning from scratch to see if something has got into my build tree.

UPDATE

I cloned a fresh copy of the repo and built it from scratch. I no longer get a segfault but XBMC still crashes whenever I try to load a rom.

http://pastebin.com/T9yhtrwU
Reply
#20
Thanks for the debug log. The most recent commit should fix the crash.
Reply
#21
(2013-08-16, 07:19)garbear Wrote: Thanks for the debug log. The most recent commit should fix the crash.

Pulled the changes and rebuilt but it still crashes with a slightly different error:

http://pastebin.com/xRYnxPpQ

I also compiled the latest 32bit emulators and posted them here if you'd like to update your repo: https://dl.dropboxusercontent.com/u/1521...-32bit.zip
Reply
#22
The error now is a red herring, a placeholder for when I actually defined variables. Right after the "error", RetroPlayer loads the game and that's where the crash is occurring. I tried with FCEU and had mixed success:

win32: 0.98.13 uploaded 2013-02-16: worked
win32: 0.98.14 uploaded 2013-04-23: crashed
win32: 0.98.15 uploaded 2013-08-09: crashed
linux: 0.98.13 uploaded 2013-02-16: worked

I recently re-structured the add-on repo, all FCEU versions are now available here: https://github.com/garbear/repository.li...er/release

My compile jobs failed last time I tried libretro-super script on linux x64. I've reformatted since then, so I'll give it another go. If I can get the most recent version to compile and crash, I'll try pulling it up in the debugger and seeing if I can track down the problem.

EDIT: I found the problem, I'm asking Squarepusher about it now
Reply
#23
(2013-08-16, 15:51)drivesoslow Wrote: I also compiled the latest 32bit emulators and posted them here if you'd like to update your repo: https://dl.dropboxusercontent.com/u/1521...-32bit.zip

Thanks, I'll get those updated. I also need the date of the last commit, as I use this in the changelog and it helps give a sense of when the last update was. The script I wrote is: list-rev.sh. I just ran the script, so I don't need the dates this time.

EDIT: And make sure to do a fresh pull on libretro-super, they shuffle stuff around pretty often and it's good to keep all platforms in sync with the latest libretro-super.

The emulator repo, https://github.com/garbear/repository.libretro, has just been re-structured and is now mostly generated from a python script. Updating the add-ons is as simple as creating a new version folder e.g. 0.98.15, copying the .so and creating a meta.xml file. A sample meta.xml folder (currently) is:
Code:
<meta>
    <date>2013-07-10</date>
    <extensions>fds|nes|unif|zip</extensions>
    <pretty_version>v0.98.13mm (SVN)</pretty_version>
    <allowvfs>false</allowvfs>
    <blockextract>false</blockextract>
    <changelog>Updated to 26a2579 @ 2013-05-19</changelog>
</meta>

Most of the time, the meta.xml file is just copied from a previous version changing the date and changelog to whatever list-rev.sh spits out. If the other fields need to be changed (they very rarely do), XBMC will fail to load the .so and explain the correct value in the debug log, so it's pretty to catch stale info.

Submitting a PR to repository.libretro.git should now be an easy (and easily-reviewable) way to update the repo if anyone wants to contribute freshly compiled versions.
Reply
#24
The link I put up was pulled and built on the 16th. In the zip file there is a version.txt that returns the git version of each. I have this all automated so I will add your script to my batch so that next time you get a date stamp for each, but here is from my last build:

Code:
2adde626a1565a4132ce896e9a113bd656f6b185 / 2013-05-18 / libretro-bnes
fe8bd6b9543eb951ced1f5e33698b04e9e8ef09d / 2013-08-13 / libretro-bsnes
40f9af581277aad3fbe5c33a7e2f87571deaed60 / 2013-08-13 / libretro-desmume
9c195a7096efaef4d428f84b97194f4aa305839d / 2013-05-22 / libretro-dosbox
f16b31655bbd7b86bd8730e92b80237a3221b54b / 2013-08-04 / libretro-fba
06b48f031320a53af19f662812d5bc971fe2e003 / 2013-07-14 / libretro-fceu
ff69a309bae659c08c9d89a0c2970b19263daffc / 2013-07-14 / libretro-gambatte
d973d7d39e1ee884e9476fbb27cdbe164e020437 / 2013-07-14 / libretro-genplus
d9805250300321b80856b30df0a17ef82d3845bb / 2013-08-13 / libretro-mame078
74682ebac4fbd2914787970ae43904f8ce585c03 / 2013-08-10 / libretro-mednafen
e877cf0f4cd146d1e67ef47311b8b201aaba8283 / 2013-05-18 / libretro-meteor
11650e8385b85bb6e3cf4f34726f5833d1b87766 / 2013-08-07 / libretro-nestopia
4070c26a22c094650cc3ebe002a162ff69dc9297 / 2013-07-13 / libretro-nx
c6c27ccd79789a05b0b3f2b5007e55083ab38032 / 2013-07-25 / libretro-pcsx-rearmed
bfe7c227adf9a0173d25502c1618108d40369dcb / 2013-08-14 / libretro-prboom
bc2846d6fa8269a8d6dc9ace1d24b158f3db740c / 2013-07-31 / libretro-quicknes
f99daae5fb4cd023881c4400dc6351c3c20f4895 / 2013-07-15 / libretro-s9x
1228cb2003b215db2ad3b193cee68ac86f9a68db / 2013-08-09 / libretro-s9x-next
3a1b9c581f1963d85d26f437ebc054ffd592a053 / 2013-07-24 / libretro-scummvm
d74c6bbfe0499badccb99393878b8577a6a646ae / 2013-07-31 / libretro-stella
66a5d56480c380d3c1e41b2ad6a536704dcdc419 / 2013-07-13 / libretro-tyrquake
efc06a65cef51fdab1a5430c005d255134c6c55f / 2013-08-16 / libretro-vba
93a55035fdcf3879a6d8bf7520e94a520a67bb64 / 2013-04-18 / libretro-virtualjaguar
b6755b24af7f92557f97855979adf36d1c3f4978 / 2013-05-18 / libretro-yabause
Reply
#25
FCEU has been fixed in fceu-nex/66eb5fb
Reply
#26
I updated the 32bit emulator libs:

https://dl.dropboxusercontent.com/u/1521...-32bit.zip
Reply
#27
Before I update those, I wanna make sure I didn't make any c/p errors with the current versions. drivesoslow, can you uninstall all your emus (and clear the addons/packages folder of gameclient.* zips) and then try installing all of the emulators from the repo in the add-on manager? If any have errors loading the DLL, upload your debug log and I'll fix them. Thanks! We'll probably repeat the process once I update the ones you just uploaded Smile
Reply
#28
there were a bunch of emulators with error loading DLLs, and FCEU is listed as broken in the repo:

http://xbmclogs.com/show.php?id=46821
Reply
#29
Where does the addons/packages folder live in Linux? I took an update and want to try getting a fresh install of the emulators
Reply
#30
go to userdata, then go one directory up. on OpenELEC, I have a /storage/.xbmc/userdata directory and a /storage/.xbmc/addons/packages directory.

linux32 emulators are broken until I get some time to update the repo, but linux and win32 work for me.
Reply

Logout Mark Read Team Forum Stats Members Help
Libretro won't compile?0