Re: [eigen] Linker error after updating from -betaX to 2.0.0

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi

Yes, I intended to use 2.0.0, but due to a misnaming of directories, I
used trunk which was - by an extraordinary coincidence - broken when I
checked it out. Gael already told me on irc (should have mentioned on
the ML, sorry)

Thanks
Benjamin

Benoit Jacob wrote:
> Are you using trunk/, or the 2.0 branch, or the 2.0.0 tag ?
>
> This issue happened in trunk a few days ago (so the branch and tag
> should be unaffected).
>
> So I assume that you are using trunk which FYI is not 2.0.0, it's
> currently called 2.0.50.
>
> However I thought i had fixed it in r918898 ? by adding inline keywords?
>
> Gael: I can see that you just maked these functions "static inline" in
> trunk, does this fix it? In the past we always maked global functions
> just inline and it worked for us...
>
> Cheers,
> Benoit
>
> 2009/2/6 Benjamin Schindler <bschindler@xxxxxxxxxxxxxxx>:
>   
>> Hi
>>
>> I just updated to 2.0.0, and my code won't compile anymore, because of
>> this:
>>
>> cd /home/benjamin/software/build/viewer-build/libsph && /usr/bin/cmake -E cmake_link_script CMakeFiles/sph.dir/link.txt --verbose=1
>> /usr/bin/c++  -fPIC   -Wno-deprecated -g   -shared -Wl,-soname,libsph.so -o libsph.so CMakeFiles/sph.dir/Filters/vtkMergeVectorFilter.cpp.o CMakeFiles/sph.dir/Filters/vtkInterpolateAllFilter.cpp.o CMakeFiles/sph.dir/Filters/vtkCompositeDataToUnstructuredGridFilter.cpp.o CMakeFiles/sph.dir/Filters/vtkVortexCorelineExtractor.cpp.o CMakeFiles/sph.dir/Filters/vtkStreamLineGenerator.cpp.o CMakeFiles/sph.dir/Filters/vtkThreadedFilter.cpp.o CMakeFiles/sph.dir/Filters/vtkSPHResampler.cpp.o CMakeFiles/sph.dir/Filters/CandidateSelector.cpp.o CMakeFiles/sph.dir/Filters/TestCandidateSelector.cpp.o CMakeFiles/sph.dir/Filters/vtkSPHSurfaceGenerator.cpp.o CMakeFiles/sph.dir/Utils/SPHSampler.cpp.o CMakeFiles/sph.dir/Utils/CacheEntry.cpp.o CMakeFiles/sph.dir/Utils/vtkPointLocatorDerived.cpp.o CMakeFiles/sph.dir/Utils/vtkTemporalDataSetInterpolator.cpp.o CMakeFiles/sph.dir/Sources/vtkDamBreakSource.cpp.o CMakeFiles/sph.dir/Sources/vtkVortexRopeSource.cpp.o CMakeFiles/sph.dir/PredictorCorrector/PredictorCorrector.cpp.o CMakeFiles/sph.dir/PredictorCorrector/AbstractPredictorCorrector.cpp.o CMakeFiles/sph.dir/PredictorCorrector/AbstractParallelVectorsField.cpp.o CMakeFiles/sph.dir/PredictorCorrector/AbstractTemporalParallelVectorsField.cpp.o CMakeFiles/sph.dir/PredictorCorrector/LevyMethod.cpp.o CMakeFiles/sph.dir/PredictorCorrector/SujudiHaimes.cpp.o CMakeFiles/sph.dir/PredictorCorrector/FuchsMethod.cpp.o CMakeFiles/sph.dir/PredictorCorrector/WeinkaufMethod.cpp.o CMakeFiles/sph.dir/PredictorCorrector/FuchsMethodNoAcceleration.cpp.o CMakeFiles/sph.dir/PredictorCorrector/WeinkaufMethodNoAcceleration.cpp.o CMakeFiles/sph.dir/hdf5/vtkH5PartReader.cxx.o CMakeFiles/sph.dir/hdf5/vtkH5PartWriter.cxx.o CMakeFiles/sph.dir/hdf5/vtkH5SPHReader.cxx.o CMakeFiles/sph.dir/hdf5/vtkXMLParticleWriter.cxx.o CMakeFiles/sph.dir/hdf5/FileSeriesFinder.cpp.o CMakeFiles/sph.dir/Sources/vtkDamBreakHdf5Source.cpp.o -L/home/benjamin/env/lib/vtk-5.2 -lvtkIO -lvtkFiltering -lvtkGraphics /home/benjamin/env/lib/libhdf5.so /home/benjamin/env/lib/libH5Part.a -lvtkDICOMParser -lvtkNetCDF -lvtkmetaio -lvtksqlite -lvtkpng -lvtktiff -lvtkzlib -lvtkjpeg -lvtkexpat -lvtkFiltering -lvtkCommon -lvtksys -lpthread -ldl -lm -lvtkverdict -Wl,-rpath,/home/benjamin/env/lib/vtk-5.2:/home/benjamin/env/lib
>> CMakeFiles/sph.dir/Filters/vtkSPHSurfaceGenerator.cpp.o: In function `Eigen::Scaling(float)':
>> /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/g++-v4/exception:59: multiple definition of `Eigen::Scaling(float)'
>> CMakeFiles/sph.dir/Filters/vtkVortexCorelineExtractor.cpp.o:/home/benjamin/env/include/vtk-5.2/vtkOStreamWrapper.h:132: first defined here
>> CMakeFiles/sph.dir/Filters/vtkSPHSurfaceGenerator.cpp.o: In function `Eigen::Scaling(double)':
>> /home/benjamin/env/include/eigen2/Eigen/src/Geometry/Scaling.h:125: multiple definition of `Eigen::Scaling(double)'
>> CMakeFiles/sph.dir/Filters/vtkVortexCorelineExtractor.cpp.o:/home/benjamin/env/include/eigen2/Eigen/src/Geometry/Scaling.h:125: first defined here
>> CMakeFiles/sph.dir/PredictorCorrector/PredictorCorrector.cpp.o: In function `Eigen::Scaling(float)':
>> /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/include/g++-v4/exception:59: multiple definition of `Eigen::Scaling(float)'
>> <-- snip - many more of those -->
>> /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object.
>> collect2: ld returned 1 exit status
>> make[2]: *** [libsph/libsph.so] Error 1
>>
>> I checked the file vtkOStreamWrapper.h and there is no Scaling definition there I would be able to spot.
>> The people of the irc-C++-channel guessed wrong include guards, but there was none I could spot
>>
>> Any ideas what's causing this?
>>
>> Thanks
>> Benjmain
>>
>>
>>
>>
>>
>>
>>
>>     
>
>
>   




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/