mikrosimage/duke

Sfml related compile failures

instinct-vfx opened this issue · 29 comments

Hey there,

i was wanting to give duke a try. I am windows based (win7 x64, but building x32 for starters).

Things went a bit up and down on me, but i was able to resolve most problems. Now i am currently stuck with what i don't think is a compile environment problem anymore. I am seeing a lot if these (and similar) errors:

src\duke\libraries\dukerenderer\plugin/utils/SfmlProtobufUtils.h:293:37: Fehler: ╗const class sf::Event½ hat kein Element namens ╗Key½

(translates to Error: sf::Event does not have an element named Key)

These errors seem to be mostly renderer related. Any ideas?

Regards,
Thorsten

After some more research these methods seem to be gone in sfml 2.0. I used the commit linked from the repo tho. Will try a 1.6 build

Resorting to the correct commit of SFML did the trick to compile. But i can't get it to display anything. Tried jpg and exr and always see errors like this:

C:\temp\OCEANMAP>\GIT\ext-duke\dist\release\duke.exe --renderer ogl oceanMap.000
0.exr
invalid command line : [Playlist] The provided argument is not supported : C:\te
mp\OCEANMAP\oceanMap.0000.exr

Also i always have to specify the renderer (is -ogl correct at all?) otherwise i will get an error to specify the renderer.

Regards,
Thorsten

As a side note i managed to get dukex to run but loads and loads of "No descriptor for messsage of type AsciiSmiley" errors pop up in the console and i can't get it to load any file.

Hi Thorsten,

Thx for your interest in Duke : )
And thx for your perseverance too. As of now Duke is not as easy to compile as we want but we're working on it.

The cmd line should be something like duke.exe --renderer plugin_renderer_ogl.dll oceanMap.0000.exr

And yes in this version you have to specify the renderer as we wanted to support both OGL and DirectX.
For the next release though we will drop DirectX because it's too much work to maintain and for no real benefit.

You were correct regarding the version of SFML, you have to take a special version ( it's written in the INSTALL.md file ). But we'll get rif of SFML in the next release also to keep Qt for both duke and dukex. The less dependencies the better.

Try loading a jpeg sequence for now as I suspect our exr reader to be a bit broken.

I downloaded the last master version and recompiled it, it works perfectly for a jpeg sequence, with duke and dukex altough I'm on Linux

./dukex --renderer plugin_renderer_ogl.so ~/jpeg_sequence_folder
./duke --renderer plugin_renderer_ogl.so ~/jpeg_sequence_folder

i asume not having plugin_renderer_ogl.dll explains a little ;) Back to compiling!

Thanks a lot for the quick response!

i asume not having plugin_renderer_ogl.dll explains a little ;)

It does ^__^
but it should have compiled if you used a command line similar to %BOOST_ROOT%\b2 --toolset=gcc --user-config=path\to\your\user-config.jam dist -j4 within duke directory.

  • b2 or bjam depending on you Boost version. I think beginning with 1.48 or 1.49 they started calling the executable b2 instead of bjam
  • --toolset=gcc if you're using mingw ( I haven't tested with cygwin neither with visual which is the default under windows )
  • -j4 to use 4 threads for the compilation ( feel free to use more if you have an octocore =) )
  • dist instruct boost.build to compile everything : duke, dukex, the renderers ( DirectX and OpenGL ), the readers ( jpeg, dpx and exr if available ), have a look at Jamroot for available targets.

Thanks a lot for the quick response!

Unfortunately due to heavy load right now at Mikrosimage I'm not going to be as reactive as I'd want. I will mostly answer on my spare time. @nrondaud and I will get back at Duke full steam ASAP - but for now, it's going to be reduced service. But anyway, keep me updated with your progress and I'll do my best to help.

Thanks again! I did compile using

build-windows-mingw.bat --user-config=config/user-config.jam.windows

with the user config beeing a modified windows sample. I had tinkered quite a bit with the jamfiles in order to fix other compile issues and removing d3d altogether to start with. I think i managed to revert the changes i made there. Now it is picking up the oglrenderer target again. But failing due to unresolved references. Seems to miss the opengl lib or one of the assorted ones. Now i am not sure if i accidentally commented them out in one of the jam files, or if i fubared my config. More investigation to come.

Regards,
Thorsten

(missed the "dist release" part on copy pasting. But used it when building.

I'll check tomorrow our Windows machine but I think we got the opengl libraries with Nvidia's Cg. I keep you updated.

Here is the user-config.jam we're using on our Windows continuous integration machine. Hope that helps !

project user-config ;

# This file configures the external libraries needed by duke.


#---------------------------#
#    Mandatory libraries    #
#---------------------------#
local MINGW_ROOT = L:/MinGW32 ;
lib mwingw_runtime : :  <file>$(MINGW_ROOT)/bin/libgcc_s_sjlj-1.dll
                        <file>$(MINGW_ROOT)/bin/libstdc++-6.dll
                        ;

#-----------------------------------------------------------------------------#
# name     : Google Protocolbuffer
# purpose  : Defines duke's protocol to communicate internally and with other
#            applications  
#
# website  : http://code.google.com/p/protobuf/
# download : http://code.google.com/p/protobuf/downloads/list
#-----------------------------------------------------------------------------#
constant PROTO_ROOT : L:/protobuf-2.4.1 ;

lib protobuf : : <file>$(PROTO_ROOT)/lib/libprotobuf.a
                 <link>static
             : : <include>$(PROTO_ROOT)/include ;

lib protobuf : : <file>$(PROTO_ROOT)/bin/libprotobuf-7.dll
                 <file>$(PROTO_ROOT)/lib/libprotobuf.dll.a
                 <link>shared
             : : <include>$(PROTO_ROOT)/include ;

constant PROTOC : $(PROTO_ROOT)/bin/protoc.exe ; # expected by duke build system

explicit protobuf ; # prevent building by default

#-----------------------------------------------------------------------------#
# name     : SFML2
# purpose  : Window creation and sound management
#
# website  : http://www.sfml-dev.org/
# download : http://www.sfml-dev.org/download.php
#
# NB : SFML will need openal32 and libsndfile libraries
#
#-----------------------------------------------------------------------------#

local SFML_ROOT = L:/SFML ;
local SFML_LIB = $(SFML_ROOT)/lib ;

local SFML_EXTLIB = $(SFML_ROOT)/extlibs/bin/x86 ;

lib sfml-graphics   : : <file>$(SFML_LIB)/sfml-graphics-2.dll 
                        <file>$(SFML_LIB)/libsfml-graphics.a ; 
lib sfml-system     : : <file>$(SFML_LIB)/sfml-system-2.dll
                        <file>$(SFML_LIB)/libsfml-system.a ;
lib sfml-window     : : <file>$(SFML_LIB)/sfml-window-2.dll 
                        <file>$(SFML_LIB)/libsfml-window.a ;
lib sfml-audio      : : <file>$(SFML_EXTLIB)/openal32.dll
                        <file>$(SFML_EXTLIB)/libsndfile-1.dll
                        <file>$(SFML_LIB)/sfml-audio-2.dll 
                        <file>$(SFML_LIB)/libsfml-audio.a
                        ;

alias sfml : sfml-graphics sfml-system sfml-window sfml-audio 
           : : : <include>$(SFML_ROOT)/include ;

# prevent building by default
explicit sfml sfml-graphics sfml-system sfml-window sfml-audio openal32 libsndfile ;

#-----------------------------------------------------------------------------#
# name     : Cg
# purpose  : Graphical toolkit
#
# website  : http://developer.nvidia.com/cg-toolkit
# download : http://developer.nvidia.com/cg-toolkit-download
#
#-----------------------------------------------------------------------------#

local CG_ROOT = "L:/NVIDIA Corporation/Cg" ;

lib cg : : <file>$(CG_ROOT)/lib/cg.lib
           <file>$(CG_ROOT)/bin/cg.dll
       : : <include>$(CG_ROOT)/include ;


explicit cg ; # prevent building by default

#---------------------------#
#    Optional  libraries    #
#---------------------------#

#-----------------------------------------------------------------------------
# name     : CgGL
# purpose  : Graphical toolkit - OpenGL backend
#-----------------------------------------------------------------------------
local GLEW_ROOT = L:/glew-1.6.0 ;

lib opengl32 ;

lib gdi32 ;

lib cggl : gdi32 opengl32 : 
             <file>$(CG_ROOT)/lib/CgGL.lib
             <file>$(CG_ROOT)/lib/glut32.lib
             <file>$(CG_ROOT)/bin/CgGL.dll 
             <file>$(GLEW_ROOT)/lib/libglew32.dll.a
             <file>$(GLEW_ROOT)/lib/glew32.dll
         : : <include>$(GLEW_ROOT)/include ;


#-----------------------------------------------------------------------------#
# name     : CgD3D - DirectX9 backend ( windows only )
#-----------------------------------------------------------------------------#

# CGD3D
local DX_SDK_ROOT = "L:/Microsoft DirectX SDK (February 2010)" ;
local DX_SDK_LIB  = $(DX_SDK_ROOT)/Lib/x86 ;

lib cgd3d : : <file>$(CG_ROOT)/lib/cgD3D9.lib
              <file>$(CG_ROOT)/bin/cgD3D9.dll
              <file>$(DX_SDK_LIB)/d3d9.lib
              <file>$(DX_SDK_LIB)/d3dx9.lib
          : : <include>$(DX_SDK_ROOT)/Include ;

explicit cgd3d ; # prevent building by default

#-----------------------------------------------------------------------------#
# name     : TurboJpeg
# purpose  : adds support for jpeg (plugin)
#
# website  : http://sourceforge.net/projects/libjpeg-turbo/
# download : http://sourceforge.net/projects/libjpeg-turbo/files/1.1.1/
#-----------------------------------------------------------------------------#
local TURBO_JPEG_ROOT = L:/libjpeg-turbo-gcc ;

lib turbojpeg : : <file>$(TURBO_JPEG_ROOT)/lib/libturbojpeg.a
              : : <include>$(TURBO_JPEG_ROOT)/include ;

explicit turbojpeg ; # prevent building by default

#-----------------------------------------------------------------------------
# name     : Qt
# purpose  : GUI framework used by DukeX
# website  : http://qt.nokia.com
# download : http://qt.nokia.com/downloads
#-----------------------------------------------------------------------------
using qt4 : L:/QtSDK/Desktop/Qt/4.8.0/mingw ;

#-----------------------------------------------------------------------------#
# Congratulations ! You're done : )
# Uncomment the following line.
#-----------------------------------------------------------------------------#
constant duke_user_configuration : true ;

Thanks a lot, from a quick glance i am pretty sure i know the main differences. I'll try and let you know. I guess the windows example could need a little update to add the bare necessities it is currently missing. I'll report asap!

So after compiling glew from scratch using mingw (standard binaries are VC6), tweaking the config file etc. i managed to update all targets. It does crash now on launch tho :/

Next up i will start from scratch including dependencies, rebuild everything using mingw and see where i might have gone wrong.

You can specify -a on Boost.Build's cmd line to rebuild all the dependencies. Might help.

Regarding glew, I don't think we recompiled it. I think VC6 binaries are fine because it's C so you won't have name mangling issues. You might want to try with the binaries.

From your config file i would guess glew was recompiled. Because the binaries from the homepage are named differently and in different folders. I get the same as in your config if i compile them from mingw.

Well it might be, I can't remember actually. Are you making any progress ? I can send you our binaries if you want.

So i went through the whole process, in a clean new spot, i also logged down everything i did. The resulting build still crashes:

I can start dukex, and when i move the mouse over the window i get
"No descriptor for message of type☺"
and LOTS of them in the console. After a bit it crashes. If i try to open an image directly then i a lot of OpenGL errors to:

▼ps_rgbatobgra_|imageDim|sampler↕Ø☺
▼ps_rgbatobgra_|imageDim|sampler ► ↕▼ps_rgbatobgra_|imageDim|sampler"O↕M↕B↕▼ps_
rgbatobgra_|imageDim|sampler→▼ps_rgbatobgra_|imageDim|sampler↑☺2♣plane

Here's what i did:

*Grab a source copy of glew 1.6.0 (http://sourceforge.net/projects/glew/files/glew/1.6.0/glew-1.6.0.zip/download)
*Build using the provided build.bat from mingw

*Grab and install a copy of CG http://http.developer.nvidia.com/Cg/cg_3_1_0010.html (make sure you check 64bit support if you plan to vuild 64bits)

*Grab a copy of protobug 2.4.1 (http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.zip&can=2&q=)
*Build using mingw (./configure, make, make install)

*Grab a copy of Qt 4.8.2 mingw and install (defaults to c:\qt\

*Check out commit 92f14fa8538fd8c1db93e4dcfb130a60dbafd651of SFML (https://github.com/LaurentGomila/SFML)
*Build from mingw using cmake (cmake -G "MINSYS Makefiles", make, make install)

*Grab and install OpenAL (http://connect.creativelabs.com/openal/Downloads/oalinst.zip)

*Grab and install libjpeg turbo gcc (http://sourceforge.net/projects/libjpeg-turbo/files/1.2.1/libjpeg-turbo-1.2.1-gcc.exe/download)

*grab and install libsndfile (http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25-w32-setup.exe)

(*grab OIIO commit 513d0dd5af6568111e88e65c15e77470e2ae6d82 (https://github.com/OpenImageIO/oiio)
(*build OIIO from mingw

- checkout a copy of duke to folder duke\
- make sure the submodules are cloned, or add them manually
- add provided config file to the config subfolder
- set locations properly in the file
- turn off oiio and dx9 in project-config.jam (unless you properly set them up in the config and have the deps available)

build using build-windows-mingw.bat --user-config=config/user-config.jam.windows dist release

Here's my config:

project user-config ;

# This file configures the external libraries needed by duke.
# See README for more details.

############ warning for windows users ############
# -> Paths
#
# if your path is C:\PATH\TO\FILE
# you must write it C:/PATH/TO/FILE
#
# -> dll redistribution
#
# you don't need to add path to your dlls but doing
# so will automatically add them to the dist folder
# easing the distribution process
###################################################

## Locations
local MINGW_ROOT = C:/MinGW ;
local PROTOBUF_ROOT = C:/GIT/duke-dependencies/protobuf-2.4.1 ;
local SFML_ROOT = C:/GIT/duke-dependencies/SFML ;
local SNDFILE_ROOT = C:/GIT/duke-dependencies/SFML ;
local OPENAL_ROOT = C:/GIT/duke-dependencies/SFML ;
local CG_ROOT = "C:/Program Files (x86)/NVIDIA Corporation/Cg" ;
local GLEW_ROOT = C:/GIT/duke-dependencies/glew-1.6.0 ;
local TURBOJPEG_ROOT = C:/GIT/duke-dependencies/libjpeg-turbo-gcc ;
local QT_ROOT = C:/Qt/4.8.2 ;


#----------------------------------------#
#    Mandatory libraries                 #
#----------------------------------------#



lib mwingw_runtime : :  <file>$(MINGW_ROOT)/bin/libgcc_s_dw2-1.dll
                        <file>$(MINGW_ROOT)/bin/libstdc++-6.dll
                        ;

#-----------------------------------------------------------------------------
# name     : Google Protocolbuffer
# purpose  : Defines duke's protocol to communicate internally and with other
#            applications  
# website  : http://code.google.com/p/protobuf/
# download : http://code.google.com/p/protobuf/downloads/list
#-----------------------------------------------------------------------------

lib protobuf : : <file>$(PROTOBUF_ROOT)/src/.libs/libprotobuf.a
                 <file>$(PROTOBUF_ROOT)/src/.libs/libprotobuf-7.dll
             : : <include>$(PROTOBUF_ROOT)/src ;

# expected by duke build system
constant PROTOC : $(PROTOBUF_ROOT)/src/protoc.exe ; 


#-----------------------------------------------------------------------------
# name     : SFML2
# purpose  : Window creation and sound management
# website  : http://www.sfml-dev.org/
# download : http://www.sfml-dev.org/download.php
#-----------------------------------------------------------------------------
lib sfml-graphics  : : <file>$(SFML_ROOT)/lib/sfml-graphics-2.dll
                       <file>$(SFML_ROOT)/lib/libsfml-graphics.a ;
lib sfml-system    : : <file>$(SFML_ROOT)/lib/sfml-system-2.dll
                       <file>$(SFML_ROOT)/lib/libsfml-system.a ;
lib sfml-window    : : <file>$(SFML_ROOT)/lib/sfml-window-2.dll
                       <file>$(SFML_ROOT)/lib/libsfml-window.a ;
lib sfml-audio     : : <file>$(SFML_ROOT)/extlibs/bin/x86/openal32.dll
                       <file>$(SFML_ROOT)/extlibs/bin/x86/libsndfile-1.dll
                       <file>$(SFML_ROOT)/lib/sfml-audio-2.dll
                       <file>$(SFML_ROOT)/lib/libsfml-audio.a ;

alias sfml : sfml-graphics sfml-system sfml-window sfml-audio 
           : : : <include>$(SFML_ROOT)/include ;


#-----------------------------------------------------------------------------
# name     : Cg
# purpose  : Graphical toolkit
# website  : http://developer.nvidia.com/cg-toolkit
# download : http://developer.nvidia.com/cg-toolkit-download
#-----------------------------------------------------------------------------
lib cg : : <file>$(CG_ROOT)/lib/cg.lib
           <file>$(CG_ROOT)/bin/cg.dll
       : : <include>$(CG_ROOT)/include ;



#----------------------------------------#
#   Optional  libraries                  #
#----------------------------------------#

# you can build either the OpenGL or DirectX9 backend ( or both )

#-----------------------------------------------------------------------------#
# name     : CgGL - OpenGL backend
#-----------------------------------------------------------------------------#
lib opengl32 ;

lib gdi32 ;

lib cggl : gdi32 opengl32 : 
             <file>$(CG_ROOT)/lib/CgGL.lib
             <file>$(CG_ROOT)/lib/glut32.lib
             <file>$(CG_ROOT)/bin/CgGL.dll 
             <file>$(GLEW_ROOT)/lib/libglew32.dll.a
             <file>$(GLEW_ROOT)/lib/glew32.dll
         : : <include>$(GLEW_ROOT)/include ;

#-----------------------------------------------------------------------------#
# name     : CgD3D - DirectX9 backend                 
#-----------------------------------------------------------------------------#

# CGD3D
lib cgd3d : : <file>C:/PATH/TO/CG_LIB/cgD3D9.lib
              <file>C:/PATH/TO/CG_DLL/cgD3D9.dll
              <file>C:/PATH/TO/DX_SDK_LIB/d3d9.lib
              <file>C:/PATH/TO/DX_SDK_DLL/d3d9.dll
              <file>C:/PATH/TO/DX_SDK_LIB/d3dx9.lib
              <file>C:/PATH/TO/DX_SDK_DLL/d3dx9.dll
          : : <include>C:/PATH/TO/CG_ROOT/include <include>C:/PATH/TO/DX_SDK/Include ;

#-----------------------------------------------------------------------------
# name     : TurboJpeg
# purpose  : adds support for jpeg (plugin)
# website  : http://sourceforge.net/projects/libjpeg-turbo/
# download : http://sourceforge.net/projects/libjpeg-turbo/files/1.1.1/
#-----------------------------------------------------------------------------
lib turbojpeg : : <file>$(TURBOJPEG_ROOT)/lib/libturbojpeg.a
              : : <include>$(TURBOJPEG_ROOT)/include ;


#-----------------------------------------------------------------------------
# name     : OpenImageIO
# purpose  : adds support for various file format (plugin)
# website  : https://sites.google.com/site/openimageio/home
# download : https://github.com/OpenImageIO/oiio
#-----------------------------------------------------------------------------
lib oiio : : <file>C:/PATH/TO/OPENIMAGEIO-LIB/libOpenImageIO.a
             <file>C:/PATH/TO/ADDITIONAL-DLL/png.dll
         : : <include>C:/PATH/TO/OPENIMAGEIO/include ;


#-----------------------------------------------------------------------------
# name     : Qt
# purpose  : GUI framework used by DukeX
# website  : http://qt.nokia.com
# download : http://qt.nokia.com/downloads
#-----------------------------------------------------------------------------
using qt4 : $(QT_ROOT) ;


#-----------------------------------------------------------------------------
## prevent building targets by default
## more info here http://www.boost.org/boost-build2/doc/html/bbv2/reference/rules.html
explicit protobuf sfml sfml-graphics sfml-system sfml-window sfml-audio cg cggl turbojpeg oiio d3dx9 d3d9 cgd3d ;
#-----------------------------------------------------------------------------


#---------------------------------------#
#    Congratulations ! You're done :)   #
#    Uncomment the following line.      #
#---------------------------------------#
constant duke_user_configuration : true ;

Ok it's unclear what's going wrong here...
The error message have to do with protocol buffer. It's like there's an issue with the serialization process but I think it's linked to the main issue - which is - duke doesn't work. dukex is simply a GUI for duke so if duke crashes I suspect dukex's trying to communicate with duke but fails resulting in a magma of protobuf messages.

Could you send me your binaries so I can investigate ? ( via sendspace or something similar )
I'll try to spend a bit of time on that tomorrow if I can find a windows machine. Is it 32 or 64 bits builds ?
Thx !

Hey there,

sorry for the delay. I got completely distracted by a bunch of urgent stuff. Anyways. Here's the binaries i created. I also included the Qt DLLs. I had to add them to the folder.

http://leviathan-entertainment.de/temp/Duke_dist_mingw.rar

Kind regards and thanks for all the support,
Thorsten

Hey,

It might take time before I can actually test the executable. In the meantime, can I ask you to test the develop branch ? We fixed it yesterday and I think it should compile ( again not tested on Windows for the moment ).

In this version there is still a lot of unplugged features, so the timeline is not working as well as the colorspace but it should compile and play a dpx sequence out of the box. You'll have jpeg and oiio if you add the libraries of course.

A new cmd line flag has been introduced so duke launches the graphical interface by default (no more dukex) and you can use --no-gui to get a bare window without the fancy buttons and widgets (space to play, f to change fitting mode, arrows, etc...). Also there's no more need to add the --renderer.

The user-config is much simpler ( we got rid of SFML, openAL, libsndfile ) so please have a look at user-config.jam.windows-example to update yours.

We will plug back much of the functionnalities ASAP.

Hi there,

i just gave this i try and ran into "unable to find file or target named /user-config//Qt"

I tried renaming qt4 to Qt, but the error is still popping up.

Ooop's my bad.
I forgot to change the Qt section of the windows user-config file. I just pushed a fix for user-config.jam.windows-example

Thanks for the quick fix. Building on mingw i also had to add

lib mwingw_runtime : :  <file>C:/MinGW/bin/libgcc_s_dw2-1.dll
                        <file>C:/MinGW/bin/libstdc++-6.dll ;

to the mandantory section.

The build starts fine now. It fails here tho:

gcc.compile.c++ bin\src\duke\libraries\dukeengine\dukeengine\gcc-mingw-4.6.2\rel
ease\link-static\strip-on\threading-multi\renderer\DukeWidget.o
In file included from src\duke\libraries\dukeengine\dukeengine\renderer\/DukeEng
ine.h:19:0,
                 from src\duke\libraries\dukeengine\dukeengine\renderer\DukeWidg
et.cpp:10:
bin\src\duke\libraries\protobuf\serialize\gcc-mingw-4.6.2\release\strip-on\threa
ding-multi/protocol.pb.h:119:23: Fehler: expected unqualified-id before numeric
constant

Well, it's failing in protobuf's generated source... According to the log it fails at the following line on the DELETE token.

static const Action DELETE = MessageHolder_Action_DELETE;

My guess is that something on your system is probably redefining DELETE. Maybe a macro... This is very weird though.

Can you check the line too on your side ? The file should be in the bin directory :

duke\bin\src\duke\libraries\protobuf\serialize\gcc-mingw-4.6.2\release\strip-on\threading-multi/protocol.pb.h

I would need a Windows system to investigate more. I'll try to add a VM to see what's going on.

Thx for the MinGW lines, I'll add them to the user-config.

Here's the line and the surrounding 2

  static const Action UPDATE = MessageHolder_Action_UPDATE;
  static const Action DELETE = MessageHolder_Action_DELETE;
  static const Action CLOSE_CONNECTION = MessageHolder_Action_CLOSE_CONNECTION;

I am not familiar with protobuf so i am unsure what to look out for to be honest.

Regards,
Thorsten

Ok, I spent the week trying to compile duke in a VM but I finally succeeded.
The exe I managed to compile does not work in the VM because of OpenGL being not available but apart from that I think it's ok.

Can you please pull the develop branch ? You will find an updated config/user-config.jam.windows-example and an INSTALL-MINGW.mdfile which details the installation process.

Thx a lot for your obstinacy : )

Thanks a lot. Given this is the "not as reactive as i'd want" support it is more than kick-ass!

With the new changes i was able to compile without errors after doing the Qt Compile. It crashes
on start (after "using default shaders"). But i just gave it a really quick go via RDP. Will take a closer
look tomorrow or the day after.

Regards,
Thorsten

Hello Thorsten,

I did check here : running Duke through RDP as well as in a Virtual Machine crashes the app due to OpenGL being unavailable. However the exe produced by our Windows XP CI machine runs just fine.

Have you succeeded in running Duke on the Windows 7 box ? Obviously the next step would be to compile OIIO to have exr support and other file format.

Best,
.:G:.

Hey there,

sorry for dropping silent. I got completely swamped in other work. So just to confirm that, duke is running when launched without RDP in between. Thanks again for all the help so far!

Great : )

We really need to improve the functionnalities by now and simplify the project further more. Anyway I'm very happy you succeeded in compiling it. Too bad we're so busy because I would really love to have some more time to work on this project.