A few days ago I downloaded Solaris because I figured it'd be fun to check out another OS and see if I could get SFML to build in it, since I'm very curious as to how portable C++ code really is across all the *nixes. The short version is it didn't work (as I expected), but since I don't see any other Solaris threads (ignoring a few from before SFML 2.0 came out), and the errors I got were much stranger than I expected, I thought someone might either be interested in what happened to me or be able to tell me some simple thing I did horribly wrong.
So here's a brief summary of the procedure I went through:
1) Download Oracle's Solaris 11 pre-made VM for VirtualBox. For some reason it was marked as .gz even though it was supposed to be a .tgz, so I had to manually add the tar part before I could extract the .ova file you're supposed to give VirtualBox.
1a) Make sure you enable 3D hardware acceleration (or else OpenGL won't do much) as well as audio (or else OpenAL won't do much). The default ICH audio chip worked fine for me. I believe these are the only VirtualBox settings you should have to mess with.
2) Boot and install Solaris like any other OS.
3) Inside Solaris, download the CMake package, the GLEW sources and the OpenAL Soft sources. Compile GLEW and OpenAL Soft yourself, then copy the headers and libraries into any of the standard *nix directories for them so that CMake can locate them. (this part took me days to figure out even though in retrospect it was pretty straightforward and easy; let's just say it was a very educational experience)
3a) For some reason Solaris' CMake has a curses interface instead of regular GUI. Fortunately, adapting to it is really easy, since the interface essentially includes a tutorial.
4) Change various bits of the SFML code that won't compile on Solaris. Since this was just for fun, not a serious porting effort, I naively removed what didn't seem to work.
a) Comment out all Joystick-related code.
b) Remove the FD_ZERO macro wherever it caused a "'memset' not declared in this scope" error. I believe this rendered the entire networking module unusable (lol).
c) Change Config.cmake and Config.hpp so that SFML won't simply refuse to compile on an OS it doesn't recognize. I decided to try #define SFML_SYSTEM_FREEBSD since that was the only *nix-but-not-Linux system the files had a macro for.
d) In Linux/WindowImplX11.cpp the one line that calls basename() gets a "'basename' not declared in this scope" error, which I had no idea what to do with so I simply commented it out. In retrospect this seems like the most obvious potential source of the weird crashes I got, though all my googling efforts failed to turn up any hint as to where this basename() function comes from, so I had no idea how to resolve the scope error.
5) Now simply build SFML and its examples using CMake per the usual tutorial. Change the CMakeLists.txt file in the examples folder so that the networking examples don't get built. All the other examples I built without a single error or warning.
6) Test the examples and watch what breaks!
The opengl and window examples run perfectly fine, until you close them. Then VirtualBox crashes.
The shader example crashes VirtualBox on startup.
The sound example seems to hang for a little while and then exit without doing anything. Note that other sources of audio (eg, the terminal beeping at me whenever tab-completion fails) were working just fine for me.
The pong example seems to do nothing but open a window and immediately close it again. It continues doing this even after I remove all the window-related code (or literally all of the code except main()) and rebuild it.
Just to clarify, I was expecting this to fail. This is not meant as a help request, which is why it's not in the help section. It'd be cool if someone actually has an idea how to make the non-networking examples work, but I didn't have my heart set on doing any Solaris porting in the near future. It just seems like a good idea to at least have one thread about this topic somewhere.