urho3d/urho3d

Dockerize-web broken

yiown opened this issue · 2 comments

yiown commented

1- The cmake version was set to 1.15 in the CMakeList.txt, but the docker image has cmake 1.14 .
2- For "rake build install" the libx11-dev package is needed, but the docker image does not have it. (X11/Xlib.h missing)
3- For "rake build install" the libgl1-mesa-dev is needed, but the docker image does not have it. (ld can't find -lGL)

Extra bonus: the docker image is based on ubuntu which has the oldest gcc (7.5 from 2017). I tried compiling Urho3D in Fedora with the modern gcc (12.2 from 2022) and it won't take it. Many of the SDL files are too old for the compiler (ISO C99 and later do not support implicit int).

Also if you could add the Dockerfiles to the repo, I could have sent the patch, but I couldn't find them even in dockerhub.

Thanks !

yiown commented

Ok so it was never compiling the WEB build. It turns out "scripts/dockerized.sh web rake build install" actually compiles dockerized-linux targets.

I made a clean "git clone" and used "scripts/dockerized.sh web bash" to start a clean build.
Using bash inside the docker web I tried "/scripts/cmake_emscripten.sh ." and didn't work because EMSCRIPTEN_ROOT_PATH is not defined anywhere.
I defined it to /emsdk-master and cmake_emscripten went through.
After that I used "rake new[UrhoApp,demo]" and it worked creating the example files.
Then I cd to demo/UrhoApp I tried "rake build" it failed because it tried to find dockerized-linux files.
So then I used "scrips/cmake_emscripten.sh ." it failed because URHO3D_HOME is not declared... so I declared it.
Then I ran "make -j8" and it worked !!! created the wasm and html files and I could see the small mushroom rotating.

To reenter the docker bash I had to go back to the Urho3d directory and docker web bash there and then:
$ cd demo/UrhoApp/
$ export EMSCRIPTEN_ROOT_PATH=/emsdk-master
$ export URHO3D_HOME=/home/yiown/Documents/Urho3D
$ ./script/cmake_clean.sh .
$ ./script/cmake_emscripten.sh .
$ make -j8
So I kinda leave that open ...

1vanK commented

Docker images support will be removed, because they are obsolete and there is no one to support them