Transfer compiled lr cores from one machine to another?
Big thanks to everyone involved in this project! Me and the Mrs. have spent many, many hours playing classics thanks to you guys.
Ive run into an issue where my main x86 build cannot compile lr-ppsspp failing at missing a file libretro.so and whats really strange is that its just this one machine - i cannot reproduce it anywhere else.
I do not have the log/machine on me at this time to post, but i do have another idea instead since im not concerned with updating this particular core at any point anyhow.
What im trying to do is transfer a compiled and confirmed working x86 core from one machine to the other, but im not sure how i should go about getting the run command to recognize this core or where the script for it might be.
I found the files in /opt/retropie/libretrocores so i have gotten this far, but that last little bit that makes it work not so much.
Has anyone had any experience with this? Am i overthinking it and maybe all i need to do is copy the files over and call it a day?
@Parabolaralus It depends - the better option would be to investigate and see why it's failing, fixing the problem. Normally, if the 2 systems would be identical, you could copy the
.sofile over without any issues. However, copying from an Ubuntu release to another or - even worse - from a 32 bit install to a 64 bit install will most certainly not work.
Note that any action performed from the RetroPie-Setup - including setting up new emulators - is logged in the
$HOME/RetroPie-Setup/logsfolder, so you can open the install log, unpack it and then upload it to pastebin.com to see why it fails installing.
Thanks Mitu, when i get home i can upload the logs later.
The OSes used in my tests are identical and completely up to date as of 8am this morning so i think it should be fine, however hardware is not. Ubuntu 18.10 minimal install 64 bit with nothing other then retropie installed.
Hardware on the failing unit is:
CPU: AMD Phenom x6 1090t
GPU: Nvidia GTX 660 using prop driver 390.xx
On the other which works:
CPU: Intel i7 3632QM
What about copying the cores over? Is this even possible?
What about copying the cores over? Is this even possible?
Yes, it should be.
However now I realise it's not sufficient, because the installing script will also configure the new system (add
pspto ES's list of systems) and create the system's configuration files (
retroarch.cfg), without which the emulator and the system would not be usable in Emulationstation.
Let's give it a shot of installing it one more time on the failing system and looking at the log file. If that doesn't work, we'll find a way to transfer it.
ppsspp works on the machine so psp does show up in ES. So what im gathering here is that if i ultimately go this route i still need to edit emulators.cfg and retroarch.cfg under their respective psp folders copying the part from the working machine which points to lr-ppsspp core and config!
...and for the record as well as to anyone reading this im also gathering that this is not the way to go about this at all. I easily see this breaking some things later on and becoming a huge nightmare that no one would want to deal with...
Ill post the logs later and hopefully be able to find a proper solution later on.
That's fine, the log shows that the module compilation fails at the last stage
g++ -o ppsspp_libretro.so [....] -fPIC -lpthread -lGL /usr/bin/ld: cannot find -lGL collect2: error: ld returned 1 exit status
I think we had a similar topic recently with the someone that installed the nVidia video driver manually, which had exactly the same problem. Did you install he driver manually or via the Ubuntu software center or one of their PPAs ?
I installed it via additional drivers and thought that might be the case so I reverted to nouveau and tried building again last night...no luck. Also thought it could be a permission issue in the build folder and that also is not it either. I could throw an AMD card in there and see what happens I guess.
I found that retroarch and lr-mupen64plus stop compiling at the same stage, but I forgot that when I initially set it up I did have and AMD card in there and swapped in the Nvidia card later.
@Parabolaralus Seems something similar to https://askubuntu.com/questions/485157/cannot-find-lgl-but-ive-installed-the-nvidia-driver. Do you have the
libgl1-mesa-devpackage installed ?
@mitu I think you're right on the money here. What did you google to find that? I looked all over using the keywords -lGL after going through the logs and came up dry BUT i did not combine it with nvidia which it may be. I seem to recall seeing that package when i did an apt autoremove command at one point so i likely do not even need to switch cards and should just be able to apt install it!
I wont know until tonight though...
BTW i also did try copying the core over as well as configs and as you suggested it did not work out...it just kicks you back to ES. It was a bad idea from the getgo so i didnt bother troubleshooting it and just reverted everything back the way it was before.
Aha, so you probably removed the package after installing RetroPie. That package should have been installed by the RetroArch package installation, so try re-installing RetroArch and then installing
lr-ppsspp. No card switching should be needed.
Thats why i think i need to just apt install libgl1-mesa-dev because retroarch also fails to compile at the same spot! Its still installed i just did a couple tests light night doing an update on packages.
Hm, the RA package should install that package anyway, so you're right. Just to check, you have the
nvidia-driver-390package installed, right ?
Seems like you'd be hitting this situation. Try installing the recommended package -
libglvnd-devand see if installation works this time.
Thank you for all the help, but i gave in last night after spending another couple hours install --reinstalling everything i could think of. That particular package wasnt in my list, but good to know in the future.
Obviously i did something that caused this and it seems to be related to the nvidia driver used so theres a pretty good chance ill run into this again at some point since all my workstations (including at work) run linux with some that do have nvidia cards.
I wish i knew exactly how i did it though...I even went as far as setting up another workstation retracing my steps exactly as i thought i did at home and could not reproduce the issue.
I believe i also had a couple ports open running to the machine for when it ran windows, but i dont think theyre open by default in ubuntu (666, 3389) so maybe, but maybe not...
Anyhow thank you for much for the help!