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

Reply via email to