Building with MinGW/mSYS gcc 7.1.0

Post Reply
DJuego
Posts: 3
Joined: Fri Nov 16, 2007 6:18 pm

Building with MinGW/mSYS gcc 7.1.0

Post by DJuego »

Hi to all! Fantastic creation!! Congratulations! :-)

(Windows 10 x64) I use CMake 3.9.0.

I have built the bullet library (default options, .git master) in Visual Studio 2017 succesfully.

Now I am trying to build (default options, .git master) with (MinGW gcc 7.1.0) I tested with the MSYS2 distribution and MinGW-Builds distribution.

The same problem. Earlier this year I was able to build multiple times with MinGW-Builds. Any idea? Thanks in advance!

I get:

Code: Select all

[ 11%] Built target BulletCollision
[ 15%] Built target BulletDynamics
[ 16%] Built target LinearMath
[ 16%] Built target App_HelloWorld
[ 17%] Built target App_BasicExample
[ 19%] Built target OpenGLWindow
[ 20%] Built target Bullet3Common
[ 20%] Built target AppBasicExampleGui
[ 22%] Built target BulletExampleBrowserLib
[ 23%] Built target BussIK
[ 31%] Built target gwen
[ 33%] Built target BulletInverseDynamicsUtils
[ 34%] Built target BulletInverseDynamics
[ 35%] Built target BulletSoftBody
[ 50%] Built target App_ExampleBrowser
[ 50%] Built target BulletFileLoader
[ 50%] Built target BulletWorldImporter
[ 50%] Linking CXX executable App_RobotSimulator_d.exe
CMakeFiles/App_RobotSimulator.dir/objects.a(win32.obj): In function `enet_initialize':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ThirdPartyLibs/enet/win32.c:30: undefined reference to `__imp_timeBeginPeriod'
CMakeFiles/App_RobotSimulator.dir/objects.a(win32.obj): In function `enet_deinitialize':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ThirdPartyLibs/enet/win32.c:38: undefined reference to `__imp_timeEndPeriod'
CMakeFiles/App_RobotSimulator.dir/objects.a(win32.obj): In function `enet_time_get':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ThirdPartyLibs/enet/win32.c:46: undefined reference to `__imp_timeGetTime'
CMakeFiles/App_RobotSimulator.dir/objects.a(win32.obj): In function `enet_time_set':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ThirdPartyLibs/enet/win32.c:52: undefined reference to `__imp_timeGetTime'
CMakeFiles/App_RobotSimulator.dir/objects.a(host.obj): In function `enet_host_create':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ThirdPartyLibs/enet/host.c:80: undefined reference to `__imp_timeGetTime'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `BindFont':
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:36: undefined reference to `glGenTextures'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:37: undefined reference to `glBindTexture'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:38: undefined reference to `glPixelStorei'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:39: undefined reference to `glPixelStorei'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:40: undefined reference to `glPixelStorei'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:41: undefined reference to `glPixelStorei'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:42: undefined reference to `glPixelStorei'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj):P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:43: more undefined references to `glPixelStorei' follow
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `BindFont':
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:44: undefined reference to `glTexImage2D'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:45: undefined reference to `glTexParameterf'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:46: undefined reference to `glTexParameterf'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:47: undefined reference to `glTexParameterf'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:48: undefined reference to `glTexParameterf'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:49: undefined reference to `glBindTexture'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `OpenGLExampleBrowser::init(int, char**)':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ExampleBrowser/OpenGLExampleBrowser.cpp:990: undefined reference to `glGetError'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `OpenGLExampleBrowser::update(float)':
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ExampleBrowser/OpenGLExampleBrowser.cpp:1208: undefined reference to `glGetError'
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ExampleBrowser/OpenGLExampleBrowser.cpp:1247: undefined reference to `glClear'
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ExampleBrowser/OpenGLExampleBrowser.cpp:1283: undefined reference to `glPolygonMode'
p:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/ExampleBrowser/OpenGLExampleBrowser.cpp:1291: undefined reference to `glPolygonMode'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `GwenOpenGL3CoreRenderer::Begin()':
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:123: undefined reference to `glEnable'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:124: undefined reference to `glGetError'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:127: undefined reference to `glBlendFunc'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:129: undefined reference to `glGetError'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:131: undefined reference to `glGetError'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:133: undefined reference to `glDisable'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:134: undefined reference to `glGetError'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:139: undefined reference to `glBlendFunc'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:143: undefined reference to `glGetError'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:146: undefined reference to `glDisable'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:148: undefined reference to `glDisable'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:149: undefined reference to `glGetError'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:152: undefined reference to `glEnable'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:154: undefined reference to `glGetError'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `GwenOpenGL3CoreRenderer::End()':
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:158: undefined reference to `glDisable'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `GwenOpenGL3CoreRenderer::StartClip()':
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:173: undefined reference to `glGetIntegerv'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:177: undefined reference to `glScissor'
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:178: undefined reference to `glEnable'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `GwenOpenGL3CoreRenderer::EndClip()':
P:/Compilados/x32-x64/TRABAJO_MINGW_x64/MinGW-Builds/bullet-git/examples/OpenGLWindow/GwenOpenGL3CoreRenderer.h:188: undefined reference to `glDisable'
../../lib/libBulletExampleBrowserLib_Debug.a(OpenGLExampleBrowser.obj): In function `GwenOpenGL3CoreRenderer::RenderText(Gwen::Font*, Gwen::Point, std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&)':
Mako_energy02
Posts: 171
Joined: Sun Jan 17, 2010 4:47 am

Re: Building with MinGW/mSYS gcc 7.1.0

Post by Mako_energy02 »

A while back I attempted a full build of Bullet from Trunk as well and met a number of errors. I didn't save the results and don't recall explicitly what they were, BUT, I do recall the issues being related to the UI framework chosen by Bullet to show off the demos (GWEN). I tracked down some of the errors being related to GWEN assuming you were using MSVC if you were on windows rather than doing more detailed/useful checks if the features existed.

I made an issue for it:
https://github.com/garrynewman/GWEN/issues/102

However, since then it appears the library has been labeled as abandoned, so no official fix is expected. Patches are unlikely to be accepted. Ultimately I am just using the Bullet core libraries so I managed to get it to build by disabling all of the demos and python stuff. Going forward, I don't know what Bullet/Erwin wants to do about using an UI framework that is abandoned and was never coded to properly support MinGW in the first place.
Post Reply