Hello again I am posting this a second time because I only subscribed to this list after I first posted my compiler issue. So I dont know if the first message ended up anywhere or nowhere. Anyway.
I checked the List of errors again, and it seems that src/Equalizer/eq/client/channel.cpp is the one source that pulls all definitions twice. All definitions in the lines 86, 88, 89, 91, 93, 94, 97, 98, 99, 100, 101, 102, 105, 107, 109 are already defined elsewhere in object files from equalizer. There are no direct function definitions of glew-calls in these lines. I am using the gcc 4.6.3, is this code compatible with this compiler? Thanks again Lennart -------------------------- FIRST MESSAGE Hello I am having some issues compiling Equalizer with Buildyard on my 64 Bit Gentoo Linux. I am building with git clone Buildyard; cd Buildyard; make release; after some minor errors the scripts start compiling Equalizer, which then fails to link the object files with a ton of multiple-definition-errors of glew functions. I grep-ed the occurrences of glew.h and glewmx, I verified that my system's libGLEWmx is used, and there shouldn't be any other libraries linked to libGLEWmx, at least according to the configuration files. I found the Macros EQ_GL_CALL and EQ_CALL_ERROR in file eq/client/gl.h which might lead to multiple definitions due to first included header code that is compiled later; that way the linked would be the first one to notice multiple defined functions. On the other hand I only got errors for multiple defined glew functions. Does anyone have an idea what might cause this error or had to deal with it too? Do you have an idea where else these definitions might come from? Thanks Lennart ---------------------------------------------------------------------- This is my last compiler call and the final linker call: [ 25%] Building CXX object eq/client/CMakeFiles/Equalizer.dir/compressor/compressorYUV.cpp.o cd /home/lennart/BUILDS/Eyescale-Buildyard/Debug/Equalizer/eq/client && /usr/bin/c++ -DBOOST_ALL_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_TEST_DYN_LINK -DBoost_NO_BOOST_CMAKE -DCXX_ARRAY_SUPPORTED -DCXX_AUTO_SUPPORTED -DCXX_NULLPTR_SUPPORTED -DCXX_SHAREDPTR_SUPPORTED -DCXX_TUPLE_SUPPORTED -DCXX_UNORDERED_MAP_SUPPORTED -DEQUALIZER_DSO_NAME=\"libEqualizer.so.171\" -DEQUALIZER_LITTLEENDIAN -DEQUALIZER_SHARED -DEQUALIZER_USE_BOOST -DEQUALIZER_USE_COLLAGE -DEQUALIZER_USE_DISPLAYCLUSTER -DEQUALIZER_USE_GLEW_MX -DEQUALIZER_USE_GLSTATS -DEQUALIZER_USE_HWSD -DEQUALIZER_USE_LUNCHBOX -DEQUALIZER_USE_OPENCV -DEQUALIZER_USE_OPENGL -DEQUALIZER_USE_OPENSCENEGRAPH -DEQUALIZER_USE_VMMLIB -DEQUALIZER_USE_VRPN -DEQUALIZER_USE_X11 -DEQUALIZER_VERSION=1.7.1 -DEQ_1_0_API -DEQ_BUILD_DIR=\"/home/lennart/BUILDS/Eyescale-Buildyard/Debug/Equalizer/\" -DEQ_FOUND_GLEW_MX -DEQ_INSTALL_DIR=\"/home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/\" -DEQ_PLUGIN_BUILD -DEQ_SOURCE_DIR=\"/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/\" -DEqualizer_EXPORTS -DGLEW_MX -DGLEW_NO_GLU -DGLX -DLinux -DOPENCV_INSTALL_PATH=\"/usr\" -Wall -Wextra -Winvalid-pch -Winit-self -Wno-unknown-pragmas -Wno-unused-parameter -Wnon-virtual-dtor -Wsign-promo -Wshadow -fno-strict-aliasing -Werror -std=c++0x -fopenmp -g -fPIC -I/home/lennart/BUILDS/Eyescale-Buildyard/Debug/Equalizer/include -I/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer -isystem /usr/include/opencv -I/home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/include -isystem /usr/include/boost-1_49 -fPIC -o CMakeFiles/Equalizer.dir/compressor/compressorYUV.cpp.o -c /home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/compressor/compressorYUV.cpp Linking CXX shared library ../../lib/libEqualizer.so cd /home/lennart/BUILDS/Eyescale-Buildyard/Debug/Equalizer/eq/client && /usr/bin/cmake -E cmake_link_script CMakeFiles/Equalizer.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -Wall -Wextra -Winvalid-pch -Winit-self -Wno-unknown-pragmas -Wno-unused-parameter -Wnon-virtual-dtor -Wsign-promo -Wshadow -fno-strict-aliasing -Werror -std=c++0x -fopenmp -g -shared -Wl,-soname,libEqualizer.so.171 -o ../../lib/libEqualizer.so.1.7.1 CMakeFiles/Equalizer.dir/canvas.cpp.o CMakeFiles/Equalizer.dir/channel.cpp.o CMakeFiles/Equalizer.dir/channelStatistics.cpp.o CMakeFiles/Equalizer.dir/client.cpp.o CMakeFiles/Equalizer.dir/commandQueue.cpp.o CMakeFiles/Equalizer.dir/compositor.cpp.o CMakeFiles/Equalizer.dir/computeContext.cpp.o CMakeFiles/Equalizer.dir/config.cpp.o CMakeFiles/Equalizer.dir/configEvent.cpp.o CMakeFiles/Equalizer.dir/configStatistics.cpp.o CMakeFiles/Equalizer.dir/cudaContext.cpp.o CMakeFiles/Equalizer.dir/dc/eventHandler.cpp.o CMakeFiles/Equalizer.dir/dc/proxy.cpp.o CMakeFiles/Equalizer.dir/detail/cvTracker.cpp.o CMakeFiles/Equalizer.dir/event.cpp.o CMakeFiles/Equalizer.dir/eventHandler.cpp.o CMakeFiles/Equalizer.dir/eventICommand.cpp.o CMakeFiles/Equalizer.dir/frame.cpp.o CMakeFiles/Equalizer.dir/frameData.cpp.o CMakeFiles/Equalizer.dir/gl.cpp.o CMakeFiles/Equalizer.dir/glException.cpp.o CMakeFiles/Equalizer.dir/glWindow.cpp.o CMakeFiles/Equalizer.dir/global.cpp.o CMakeFiles/Equalizer.dir/glx/eventHandler.cpp.o CMakeFiles/Equalizer.dir/glx/messagePump.cpp.o CMakeFiles/Equalizer.dir/glx/pipe.cpp.o CMakeFiles/Equalizer.dir/glx/types.cpp.o CMakeFiles/Equalizer.dir/glx/window.cpp.o CMakeFiles/Equalizer.dir/glx/windowSystem.cpp.o CMakeFiles/Equalizer.dir/half.cpp.o CMakeFiles/Equalizer.dir/image.cpp.o CMakeFiles/Equalizer.dir/init.cpp.o CMakeFiles/Equalizer.dir/jitter.cpp.o CMakeFiles/Equalizer.dir/layout.cpp.o CMakeFiles/Equalizer.dir/node.cpp.o CMakeFiles/Equalizer.dir/nodeFactory.cpp.o CMakeFiles/Equalizer.dir/nodeStatistics.cpp.o CMakeFiles/Equalizer.dir/observer.cpp.o CMakeFiles/Equalizer.dir/pipe.cpp.o CMakeFiles/Equalizer.dir/pipeStatistics.cpp.o CMakeFiles/Equalizer.dir/pixelData.cpp.o CMakeFiles/Equalizer.dir/roiEmptySpaceFinder.cpp.o CMakeFiles/Equalizer.dir/roiFinder.cpp.o CMakeFiles/Equalizer.dir/roiTracker.cpp.o CMakeFiles/Equalizer.dir/segment.cpp.o CMakeFiles/Equalizer.dir/server.cpp.o CMakeFiles/Equalizer.dir/statistic.cpp.o CMakeFiles/Equalizer.dir/systemPipe.cpp.o CMakeFiles/Equalizer.dir/systemWindow.cpp.o CMakeFiles/Equalizer.dir/version.cpp.o CMakeFiles/Equalizer.dir/view.cpp.o CMakeFiles/Equalizer.dir/window.cpp.o CMakeFiles/Equalizer.dir/windowStatistics.cpp.o CMakeFiles/Equalizer.dir/windowSystem.cpp.o CMakeFiles/Equalizer.dir/worker.cpp.o CMakeFiles/Equalizer.dir/__/util/accum.cpp.o CMakeFiles/Equalizer.dir/__/util/accumBufferObject.cpp.o CMakeFiles/Equalizer.dir/__/util/bitmapFont.cpp.o CMakeFiles/Equalizer.dir/__/util/frameBufferObject.cpp.o CMakeFiles/Equalizer.dir/__/util/objectManager.cpp.o CMakeFiles/Equalizer.dir/__/util/pixelBufferObject.cpp.o CMakeFiles/Equalizer.dir/__/util/texture.cpp.o CMakeFiles/Equalizer.dir/compressor/compressor.cpp.o CMakeFiles/Equalizer.dir/compressor/compressorReadDrawPixels.cpp.o CMakeFiles/Equalizer.dir/compressor/compressorYUV.cpp.o -lGLEWmx -lpthread -lboost_program_options-mt ../../lib/libEqualizerFabric.so.1.7.1 /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libLunchbox.so /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libLunchbox.so -lboost_program_options-mt /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libLunchbox.so -lboost_program_options-mt /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libLunchbox.so /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libGLStats.a /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libDisplayCluster.so -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libvrpn.a -lGL -lSM -lICE -lX11 -lXext /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib/libCollage.so -Wl,-rpath,/home/lennart/BUILDS/Eyescale-Buildyard/Debug/Equalizer/lib:/home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/lib: --------------------------------------------------------------------- This is the first error complaining about multiple definitions of glew symbols. CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `std::setw(int)': /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/include/lunchbox/os.h:67: multiple definition of `__glewXGetCurrentDisplay' CMakeFiles/Equalizer.dir/channel.cpp.o:/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/channel.cpp:86: first defined here CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `std::setw(int)': /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/include/lunchbox/os.h:67: multiple definition of `__glewXChooseFBConfig' CMakeFiles/Equalizer.dir/channel.cpp.o:/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/channel.cpp:86: first defined here CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `co::Exception::getType() const': /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/include/lunchbox/os.h:71: multiple definition of `__glewXCreateNewContext' CMakeFiles/Equalizer.dir/channel.cpp.o:/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/channel.cpp:86: first defined here CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `std::_Niter_base<__gnu_cxx::__normal_iterator<eq::Frame* const*, std::vector<eq::Frame*, std::allocator<eq::Frame*> > > >::iterator_type std::__niter_base<__gnu_cxx::__normal_iterator<eq::Frame* const*, std::vector<eq::Frame*, std::allocator<eq::Frame*> > > >(__gnu_cxx::__normal_iterator<eq::Frame* const*, std::vector<eq::Frame*, std::allocator<eq::Frame*> > >)': /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/include/lunchbox/os.h:71: multiple definition of `__glewXCreatePbuffer' CMakeFiles/Equalizer.dir/channel.cpp.o:/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/channel.cpp:88: first defined here CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `lunchbox::PerThread<eq::Image, &(void lunchbox::perThreadDelete<eq::Image>(eq::Image*))>::operator!() const': /home/lennart/BUILDS/Eyescale-Buildyard/Debug/install/include/lunchbox/os.h:71: multiple definition of `__glewXCreatePixmap' CMakeFiles/Equalizer.dir/channel.cpp.o:/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/channel.cpp:88: first defined here CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `std::ios_base::precision(long)': /home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/compositor.cpp:70: multiple definition of `__glewXCreateWindow' CMakeFiles/Equalizer.dir/channel.cpp.o:/home/lennart/BUILDS/Eyescale-Buildyard/src/Equalizer/eq/client/channel.cpp:88: first defined here CMakeFiles/Equalizer.dir/compositor.cpp.o: In function `eq::Frame** std::__copy_move_a<false, eq::Frame* const*, eq::Frame**>(eq::Frame* const*, eq::Frame* const*, eq::Frame**)': ----------------------------------------------------------------------- _______________________________________________ eq-dev mailing list [email protected] http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev http://www.equalizergraphics.com

