Trying to build "develop" branch on ubuntu 12.04
fabiencastan opened this issue · 14 comments
Hi,
I don't achieved to build duke "develop" branch on my ubuntu 12.04.
I have installed all dependencies and creates a "user-config.jam" based on the example "config/user-config.jam.linux-example".
Build errors:
http://pastebin.com/GGvzv8Vi
My user-config.jam:
http://pastebin.com/cYLbT8mx
Fabien
Any idea?
Hmm looks weird to me.
Can you try to force a full build in case it's some old files getting caugth in the process ?
./build-linux-gcc.sh --user-config=user-config.jam dist -a
If that does not help, please can you also provide the full compilation log for further investigation ( compilation output with -a ). Thx !
Hey Fabien,
@nrondaud and I just updated develop
and removed some libraries. Can you give it one more try whenever you can ?
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.
A new cmd line flag has been introduced so duke
launches the graphical interface and you can use --no-gui
to get a bare window without the fancy buttons and widgets.
We will plug back much of the functionnalities ASAP.
I get this error without modification to my user-config.jam.
error: Unable to find file or target named
error: '/user-config//Qt'
error: referred from project at
error: 'src/duke/libraries/dukeengine/dukeengine'
In my user-config.jam, qt4 is defined.
#-----------------------------------------------------------------------------
name : Qt
purpose : GUI framework used by DukeX
website : http://qt.nokia.com
download : http://qt.nokia.com/downloads
#-----------------------------------------------------------------------------
using qt4 : /opt/QtSDK/Desktop/Qt/474/gcc ;
Yes in order to build on MacOSX we had to change the name of the target for Qt, also there's an additional GLEW target.
We updated the corresponding config/user-config.jam.XXX-example
so have a look to update yours.
Ok. Done.
Now, I get a new error on a lot of files. Maybe because I'm using boost 1.50.0 ?
gcc.compile.c++ bin/src/duke/app/gcc-4.6/debug/threading-multi/Configuration.o
In file included from /home/fab/dev/extern/boost_1_50_0/boost/system/error_code.hpp:14:0,
from /home/fab/dev/extern/boost_1_50_0/boost/system/system_error.hpp:14,
from /home/fab/dev/extern/boost_1_50_0/boost/thread/exceptions.hpp:22,
from /home/fab/dev/extern/boost_1_50_0/boost/thread/pthread/mutex.hpp:11,
from /home/fab/dev/extern/boost_1_50_0/boost/thread/mutex.hpp:16,
from src/duke/submodules/concurrent_utils/concurrent/details/queue_base.hpp:12,
from src/duke/submodules/concurrent_utils/concurrent/queue.hpp:4,
from src/duke/libraries/dukeapi/dukeapi/MessageQueue.h:5,
from src/duke/libraries/dukeapi/dukeapi/io/InteractiveMessageIO.h:5,
from src/duke/app/Configuration.cpp:9:
/home/fab/dev/extern/boost_1_50_0/boost/system/config.hpp:33:3: erreur: #error Must not define both BOOST_SYSTEM_DYN_LINK and BOOST_SYSTEM_STATIC_LINK
Hmm looks like yes. We're using Boost 1.49.0 right now.
Go back to boost_1_49_0. But now get some linking troubles, libGL and libdl are missing.
gcc.link dist/debug/duke
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glFogfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glFogf'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexEnvfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glClipPlane'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glColor3f'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glGetDoublev'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glStencilFunc'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glXGetCurrentDisplay'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glNormal3fv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLightModeliv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glClearStencil'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexGeni'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexParameterf'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glDepthMask'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glColorMask'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glVertex3fv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glScissor'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLineWidth'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glXQueryExtensionsString'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glPolygonOffset'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glDepthRange'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glColor4fv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glXGetCurrentContext'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glGetFloatv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glVertex2f'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glStencilMask'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLoadMatrixf'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLightf'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glColorMaterial'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLightfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glGetIntegerv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLineStipple'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexGenfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glPointSize'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glGetBooleanv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glFogi'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glFrontFace'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glXGetProcAddressARB'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glDepthFunc'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glGetString'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glMaterialf'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLightModeli'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexParameterfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexEnvf'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glNormal3f'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glCullFace'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glStencilOp'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glDisableClientState'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glPolygonMode'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLogicOp'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glMaterialfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glColorPointer'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glNormalPointer'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glTexEnvi'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glColor3fv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glLightModelfv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glVertex2fv'
/usr/lib/i386-linux-gnu/libCgGL.so: error: undefined reference to 'glVertex4fv'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:20: error: undefined reference to 'glGetError'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:69: error: undefined reference to 'glClearDepth'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:70: error: undefined reference to 'glClearColor'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:73: error: undefined reference to 'glEnable'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:74: error: undefined reference to 'glEnable'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:75: error: undefined reference to 'glEnable'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:77: error: undefined reference to 'glShadeModel'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:78: error: undefined reference to 'glDisable'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:79: error: undefined reference to 'glHint'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:80: error: undefined reference to 'glPixelStorei'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:83: error: undefined reference to 'glMatrixMode'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:84: error: undefined reference to 'glLoadIdentity'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:85: error: undefined reference to 'glMatrixMode'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:86: error: undefined reference to 'glClear'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:160: error: undefined reference to 'glEnableClientState'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:161: error: undefined reference to 'glVertexPointer'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:165: error: undefined reference to 'glEnableClientState'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:166: error: undefined reference to 'glTexCoordPointer'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:173: error: undefined reference to 'glEnableClientState'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:179: error: undefined reference to 'glDrawArrays'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:182: error: undefined reference to 'glDrawArrays'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:185: error: undefined reference to 'glDrawArrays'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:188: error: undefined reference to 'glDrawArrays'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:204: error: undefined reference to 'glDrawElements'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:207: error: undefined reference to 'glDrawElements'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:210: error: undefined reference to 'glDrawElements'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:213: error: undefined reference to 'glDrawElements'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:281: error: undefined reference to 'glEnable'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:283: error: undefined reference to 'glDisable'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:286: error: undefined reference to 'glBlendFunc'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:288: error: undefined reference to 'glAlphaFunc'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:300: error: undefined reference to 'glBindTexture'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:303: error: undefined reference to 'glTexParameteri'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:321: error: undefined reference to 'glViewport'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:355: error: undefined reference to 'glClearColor'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:356: error: undefined reference to 'glClear'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLRenderer.cpp:358: error: undefined reference to 'glLoadIdentity'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:17: error: undefined reference to 'glGenTextures'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:20: error: undefined reference to 'glBindTexture'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:21: error: undefined reference to 'glTexImage2D'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:23: error: undefined reference to 'glBindTexture'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:30: error: undefined reference to 'glDeleteTextures'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:39: error: undefined reference to 'glBindTexture'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:44: error: undefined reference to 'glTexSubImage2D'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:54: error: undefined reference to 'glTexSubImage2D'
src/duke/libraries/dukeengine/dukeengine/renderer/ogl/OGLTexture.cpp:62: error: undefined reference to 'glGetError'
src/duke/submodules/dukeplugins/src/libraries/dukehost/PluginBinary.cpp:84: error: undefined reference to 'dlerror'
src/duke/submodules/dukeplugins/src/libraries/dukehost/PluginBinary.cpp:70: error: undefined reference to 'dlopen'
src/duke/submodules/dukeplugins/src/libraries/dukehost/PluginBinary.cpp:74: error: undefined reference to 'dlclose'
src/duke/submodules/dukeplugins/src/libraries/dukehost/PluginBinary.cpp:78: error: undefined reference to 'dlsym'
collect2: ld a retourné 1 code d'état d'exécution
"g++" -L"/opt/QtSDK/Desktop/Qt/474/gcc/lib" -Wl,-R -Wl,"/opt/QtSDK/Desktop/Qt/474/gcc/lib" -Wl,-rpath-link -Wl,"/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/filesystem/build/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/iostreams/build/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/program_options/build/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/system/build/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/thread/build/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/other/duke/bin/src/duke/libraries/dukeui/dukeui/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/other/duke/bin/src/duke/libraries/protobuf/player/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/other/duke/bin/src/duke/libraries/protobuf/playlist/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/home/fab/dev/other/duke/bin/src/duke/libraries/protobuf/serialize/gcc-4.6/debug/threading-multi" -Wl,-rpath-link -Wl,"/usr/lib" -Wl,-rpath-link -Wl,"/usr/lib/i386-linux-gnu" -o "dist/debug/duke" -Wl,--start-group "bin/src/duke/app/gcc-4.6/debug/threading-multi/Configuration.o" "bin/src/duke/app/gcc-4.6/debug/threading-multi/main.o" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/program_options/build/gcc-4.6/debug/threading-multi/libboost_program_options.so.1.49.0" "bin/src/duke/libraries/dukeui/dukeui/gcc-4.6/debug/threading-multi/libdukeui.so" "bin/src/duke/libraries/dukeengine/dukeengine/gcc-4.6/debug/link-static/threading-multi/libdukeengine.a" "/usr/lib/i386-linux-gnu/libCgGL.so" "/usr/lib/i386-linux-gnu/libCg.so" "/usr/lib/libGLEW.so.1.5" "bin/src/duke/libraries/dukeapi/dukeapi/gcc-4.6/debug/link-static/threading-multi/libdukeapi.a" "src/duke/submodules/sequenceparser/src/sequence/parser/bin/gcc-4.6/debug/link-static/threading-multi/libsequence_parser.a" "src/duke/submodules/sequenceparser/bin/src/sequence/gcc-4.6/debug/link-static/threading-multi/libsequence.a" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/thread/build/gcc-4.6/debug/threading-multi/libboost_thread.so.1.49.0" "src/duke/submodules/dukeplugins/bin/src/libraries/dukehost/gcc-4.6/debug/link-static/threading-multi/libdukehost.a" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/filesystem/build/gcc-4.6/debug/threading-multi/libboost_filesystem.so.1.49.0" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/system/build/gcc-4.6/debug/threading-multi/libboost_system.so.1.49.0" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/iostreams/build/gcc-4.6/debug/threading-multi/libboost_iostreams.so.1.49.0" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/chrono/build/gcc-4.6/debug/link-static/threading-multi/libboost_chrono.a" "/home/fab/dev/extern/boost_1_49_0/bin.v2/libs/system/build/gcc-4.6/debug/link-static/threading-multi/libboost_system.a" "bin/src/duke/libraries/protobuf/serialize/gcc-4.6/debug/threading-multi/libserialize_pb.so" "bin/src/duke/libraries/protobuf/playlist/gcc-4.6/debug/threading-multi/libplaylist_pb.so" "bin/src/duke/libraries/protobuf/player/gcc-4.6/debug/threading-multi/libplayer_pb.so" "/usr/lib/libprotobuf.so.7" -Wl,-Bstatic -Wl,-Bdynamic -lQtOpenGL -lQtGui -lQtCore -lrt -Wl,--end-group -g -pthread
Launching the g++ command line manually with -lGL and -ldl works. But I don't know how to put it in bjam.
Sweet.
I have an Ubuntu on my laptop so I'll reproduce your installation and change the Boost.Build configuration accordingly.
Thx for your feedback
Well it's weird because I didn't have to do anything special on my Ubuntu to get it working.
I just understand the difference between us... I have changed the default linker to use gold. It doesn't care about link option order but seems more strict...
So, in all case, it could be great to declare all used dependencies.
Indeed switching to gold exhibited the issue.
I opened a new bug report.