Project

General

Profile

Emulator Issues #5960

SFML in Externals is old+broken - should update to SFML 2.0 RC

Added by alucryd over 8 years ago. Updated over 5 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

This is somewhat related to issue 5585. Dolphin won't build against SFML 2.0 which is the default in Arch Linux.
We have an AUR package which installs SFML 1.6 in these dirs for compatibility issues: http://pastebin.com/DZEUHzzT.
CMake won't find the include dir by itself, I have to pass this:
-DSFML_INCLUDE_DIR=/usr/include/sfml1.6

The build process starts fine but leads to this error:

/home/alucryd/Packages/dolphin-emu-git/src/dolphin-emu/Source/Core/Core/Src/NetPlay.h:9:28: fatal error: SFML/Network.hpp: No such file or directory
compilation terminated.
make[2]: *** [Source/Core/Core/CMakeFiles/core.dir/Src/NetPlay.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....

It seems to be looking in /usr/include instead of /usr/include/sfml1.6. I can tell because it finds the files when SFML 2.0 is installed in /usr/include, however it is not compatible yet and the build fails too.

History

#1 Updated by alucryd over 8 years ago

Okay, I have found a workaround:

cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-2.9 -DwxWidgets_wxrc_EXECUTABLE=/usr/bin/wxrc-2.9 -DSFML_INCLUDE_DIR=/usr/include/sfml1.6 -DCMAKE_CXX_FLAGS=" -I/usr/include/sfml1.6"
sed -i 's|-lsfml-network|-lsfml1.6-network|g' Source/Core/DolphinWX/CMakeFiles/dolphin-emu.dir/link.txt

This allows dolphin to be built against the 1.6 libs. BTW, while trying to figure out what was wrong, I noticed SFML includes in 3 files were defined within "", and not <>. I have uploaded a git patch here: http://pastebin.com/WG04HvRM

#2 Updated by alucryd over 8 years ago

Nevermind that, I have had some reports (which I could confirm) that using 1.6 screws up the build, games will freeze as soon as 3D things show up (safety launch screen are fine). I'll stick with building 1.5 from the externals.

#3 Updated by alucryd over 8 years ago

Hmm weird thing is, it doesn't happen with all games. Super Mario Galaxy will hang right after the white info page, before the logo appears, SMG2 too, however Zelda Skyward Sword is absolutely fine.

#4 Updated by Billiard26 over 8 years ago

  • Status changed from New to Questionable

Is SFML still breaking its API every 3 days or can we safely switch to 2.0 RC now?

hmm, I'd rather replace SFML with some other lib, anyways. :/

#6 Updated by alucryd over 8 years ago

I believe you can safely switch, but you're right, you'd probably be better off with sth else.

#7 Updated by Billiard26 over 8 years ago

  • Issue type set to Bug

#8 Updated by danialhorton about 8 years ago

If you choose to do so Billard, can you get in touch with bgK to organise continued joybus compatibility.

#9 Updated by frostwork1 almost 7 years ago

just wanted to emerge dolphin after a long time and noticed that this bug is still open. a quick google search brought be to this very own dolphin forum thread, where a friendly guy "WinterKnight" uploaded a patch which finally gets rid of the old sfml-1.6 stuff. would rock if this is going into upstream:
https://forums.dolphin-emu.org/Thread-patch-use-sfml-2-1

#10 Updated by frostwork1 almost 7 years ago

me again :}
I updated above patch to apply against 4.0.2 (haven't checked current master).
the 2nd patch adds sfml-system to the linked libraries, else I got several undefinded references. probably would be better to also look with cmake if sfml-system is available though.
with both patches applied 4.0.2 builds fine, the resulting binary seems to work

#11 Updated by ZephyrSurfer over 5 years ago

This should probably be labeled as fixed as Dolphin now uses SFML 2.1

#12 Updated by JosJuice over 5 years ago

  • Status changed from Questionable to Fixed

Also available in: Atom PDF