Closed ghost closed 6 years ago
if modern FB Alpha uses C++11 now, then unfortunately it will no longer compile with the PS3 SDK. We'd have to backport relevant stuff to FBA 2012 then, which was still on C++98.
I'll let @barbudreadmon comment though in case I am getting it wrong here.
Also ,long time no see, @CaptainCPS !
Hey! Thanks for the quick reply, yeah I had some difficulties in life, and the job I have wont give me much free time, but recently I was able to get another PS3 and been slowly trying to get back into my old projects, or at least update them, been thinking about updating FB Alpha Retro Loader.
I hope something can be done at some point to build this for PS3, there have been so many fixes and additions in this one.
Thanks for your time @twinaphex !! I appreciate it! š
No problem, good to see you're still around and that the old timers haven't yet all left the building yet.
I don't think there is any c++11 code enabled in the current libretro-fbalpha code. The only c++11 code in current upstream release should be for midway hardware, which is disabled in libretro.
Le 14 aoƻt 2017 5:25 AM, "Twinaphex" notifications@github.com a Ʃcrit :
No problem, good to see you're still around and that the old timers haven't yet all left the building yet.
ā You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/libretro/fbalpha/issues/148#issuecomment-322092095, or mute the thread https://github.com/notifications/unsubscribe-auth/AJ6O4eL8qOyTVUQj7oSRrsxmkDZ8-_wLks5sX74ugaJpZM4O14tT .
Yay! I don't know how it will work, but I was able to compile it (platform=ps3) after doing a few changes in the makefile, removing <math.h>
from "driver.h" and adding it on the source files that needed it (like 7 files). I am tired and will go to bed in a few, but if it works, tomorrow I'll add the changes to my fork after I come from work.
EDIT: Had to add "defined(__CELLOS_LV2__)
" to ioapi.c to avoid RetroArch linking errors as well. Now I just have to see if it runs xD lol
EDIT2: Since I couldn't build the PS3 PKG (shaders, etc) I used the one released recently and repackaged it with my new compiled core, replacing the 2012 one, so far I tested Street Fighter 2, Metal Slug, Metal Slug 4 and Street Fighter 3 (sfiii3r1) and they all work well. I will do more tests when I get more free time, I really need to sleep now xD.
Btw, I'm on Rebug REX (CEX) CFW v4.81.2
EDIT3: I just figured out that there are other repos for rdb, assets, shaders, etc, I was cracking my head last night LOL, I'm heading out for work now, but after I come back in the night I will clean up everything and make my changes available in my RetroArch / FBAlpha libretro forks.
Here are the minimal version of the changes to fix the PS3 build, idk if it breaks other builds, but at least for me is good xD.
Tested compilation on:
https://github.com/CaptainCPS/fbalpha/commit/4e8c27775e0e5ecfd2c9ca998dc691d2a8fbeacb
@twinaphex @barbudreadmon
SeeYa! :)
Just confirm me that moving math.h is necessary then i will do the needed changes
It seems weird moving math.h from driver.h to burnint.h , but I just confirmed that leaving it as it was will cause this build error on all 3 environments (Cygwin, Msys and Msys2).
Edit: Attached screenshot as well.
c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1368: error: declaration of C function 'long double std::round(long double)' conflicts with c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1016: error: previous declaration 'float std::round(float)' here c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1373: error: declaration of C function 'long double std::scalbn(long double, int)' conflicts with c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1021: error: previous declaration 'float std::scalbn(float, int)' here c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1378: error: declaration of C function 'long double std::scalbln(long double, long int)' conflicts with c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1026: error: previous declaration 'float std::scalbln(float, long int)' here c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1383: error: declaration of C function 'long double std::tgamma(long double)' conflicts with c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1031: error: previous declaration 'float std::tgamma(float)' here c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1388: error: declaration of C function 'long double std::trunc(long double)' conflicts with c:/usr/local/cell/host-win32/ppu/bin/../../../target/ppu/include/math.h:1036: error: previous declaration 'float std::trunc(float)' here /c/usr/local/cell/host-win32/ppu/bin/ppu-lv2-g++.exe -std=gnu++98 -O3 -DNDEBUG -Wno-write-strings -DGIT_VERSION=\"" 2d6355d"\" -DPTR64 -DEXTERNAL_ZLIB -DINCLUDE_7Z_SUPPORT -D__LIBRETRO__ -DWORDS_BIGENDIAN -D__CELLOS_LV2__ -DINLINE="static inline" -DSH2_INLINE="static inline" -D__LIBRETRO_OPTIMIZATIONS__ -DUSE_SPEEDHACKS -DFASTCALL -U__fastcall -D__fastcall="" -DTOAPLAN_SOUND_SAMPLES_HACK -fforce-addr -finline-limit=1200 -fcheck-new -Wall -W -Wshadow -Wno-long-long -Wno-write-strings -Wunknown-pragmas -Wundef -Wno-conversion -Wno-missing-braces -Wno-multichar -Wuninitialized -Wpointer-arith -Wno-inline -Wno-unused-value -Wno-sequence-point -Wno-extra -Wno-strict-aliasing -DFRONTEND_SUPPORTS_RGB565 -Isrc/burner/win32 -Isrc/burner/libretro -Isrc/burner/libretro/tchar -Isrc/burn -Isrc/cpu -Isrc/burn/snd -Isrc/burn/devices -Isrc/intf -Isrc/intf/input -Isrc/intf/cd -Isrc/intf/audio -Isrc/burner -Isrc/cpu -Isrc/cpu/i8039 -Isrc/cpu/i8051 -Isrc/cpu/tms32010 -Isrc/cpu/upd7725 -Isrc/cpu/upd7810 -Isrc/cpu/v60 -Isrc/dep/libs/zlib -Isrc/dep/libs/lib7z -Isrc/burn/drv/capcom -Isrc/burn/drv/konami -Isrc/burn/drv/dataeast -Isrc/burn/drv/cave -Isrc/burn/drv/neogeo -Isrc/burn/drv/psikyo -Isrc/burn/drv/sega -Isrc/burn/drv/toaplan -Isrc/burn/drv/taito -Isrc/dep/generated -Isrc/dep/libs -c src/burn/burn_memory.cpp -o src/burn/burn_memory.o make: *** [makefile.libretro:692: src/burn/hiscore.o] Error 1 make: *** Waiting for unfinished jobs....
In the following days I will publish my changes at psx-place dev forums so others can test these changes too. I feel like there might be something else in the makefile that needs to be modded in order to avoid moving math.h, but so far I haven't figured out what is it.
@barbudreadmon @twinaphex
SeeYa! :)
There is something very wrong about this, it basically says your math.h is in conflict with himself, could you upload your math.h somewhere so i can take a look ?
sure, when I get home I'll upload it :), btw I think probably is something defined in driver.h or somewhere else that makes it conflict. Because I find it weird that when included from burnint.h it behaves properly. maybe there is some declaration that when includes math is interpreting it as multiple variations, just a theory.
And it doesn't conflict on fbalpha 2012 repo, I will compare the headers when I get home as well to try and see if there is something going on.
Thanks for you time!
Reverted changes at "burn/driver.h", there was no need to comment "#include
https://github.com/CaptainCPS/fbalpha/commit/34d0c3a80d41d42d95919a503d99624a3b761469
I will call it fixed on my end, it shouldn't break anything :P. Now I will continue to test romsets and see if problems previously reported on older FB Alpha 2012 are fixed in this build.
SeeYa! :)
What about moving this "#include
Btw, don't expect any reply from me for the next 2 days, i won't be at home.
Oh I will try that! thanks! :)
EDIT: Yeah that worked as well. In the makefile I will add a condition to the warning flags that I commented to be specific for ps3 build, to avoid issues with other builds.
SeeYa! :)
Is it still building successfully for ps3 ? Can i close ?
I just compiled 'fbalpha2012' just fine for PS3, but this one wont compile, I think there is something wrong in the makefile.