1

(64 replies, posted in General)

-- Maratis Player Segmantation Fault:
   It seems that there is a problem when creating a window with fullscreen mode.
   The segmentation fault appears in line 96 of Maratis/Player/main.cpp :

   

window->create("Maratis", width, height, 32, fullscreen == 1);

    When setting the last parameter to false, it runs correctly.
    [EDIT] Oops. I didn't see your edited comment. It seems you have spotted the error smile [/EDIT]

-- openal and libsndfile
   After inspecting the final executables (i.e. ldd MaratisPlayer) on my system, it seems
   that the compiler chooses to link against the system-wide libraries instead of the already
   provided ones. It seems that the linker gives priority to system-wide libraries if they are
   already installed (it makes sense). On my system, both of the libraries are already installed
   and the executables are linked against them. (that's why I didn't have any problems).

   I have made some changes to the build system for openal, following the configuration of
   libsndfile.so in order to copy libopenal.so in the final directories as well. You can give it
   a try on your system and let me know if it works. This is the first time I am messing
   around with scons, so I don't know if there is a better/cleaner way to do things.

   Link to patch

2

(64 replies, posted in General)

Hello. I am an Arch Linux user and I have successfully compiled maratis after making some changes in the
build scripts and the source code. I haven't had the time to thoroughly test them, but all the executables
seem to work fine *.

Link to patch

Question*: Is the Maratis Player executable supposed to be executed directly by the user or
                is it used internally by the Maratis Player? I am asking because if i try to execute
                it directly I get a 'Segmentation fault'. I haven't had the time to inspect the source
                code and figure out what it does.

Summary of changes:

-- libbullet:
    - append '-fpermissive' flag to support compilation on newer versions of gcc (3rdparty/bullet/SConscript)

-- libsndfile:
    - changed the library filename from 'libsndfile.so.1.0.23' to 'libsndfile.so' to reflect the one which
      appears in the repository (trunk/dev/var/scons/thirdparty/libsndfile.py)

-- Executables:
    - linked with 'GL' and 'Xxf86vm' system libraries

-- Executables & Libraries:
    - included '/usr/include' path in CPPPATH in order to locate system-wide header files

-- MGui
    - included build rules to collect the X11 related source code
    - included 'string.h' for the definition of strcpy() (trunk/dev/MSDK/MGui/Sources/X11/MX11Window.cpp)
    - commented code for the printing of captured input events (trunk/dev/MSDK/MGui/Sources/X11/MX11Window.cpp)
    - changed the FocusIn and FocusOut mouse events to set the focus/unfocus state
      of the window instead of changing the active/inactive state in order to avoid
      terminating the executables (Editor, etc..) when a window of another application is selected
      (trunk/dev/MSDK/MGui/Sources/X11/MX11Window.cpp)
    - Included building rules (commented at the moment) to build as a shared library

-- Maratis Editor:
    - defined SCRIPT_READER preprocessor definition to gvim when building under linux
      (trunk/dev/Maratis/Editor/Maratis/MaratisUI.cpp)

-- General linker flags
    - added the '-Wl,-rpath,.' flag to inject the current working directory in the final executables
      to locate shared libraries located in the same directory as the executables
      (trunk/dev/var/scons/EnvConfig)