compilation failed on debian wheezy

Asked by Christian Jakob on 2012-04-16

I made a full-upgrade of Debian to Wheezy. After that I cannot compile yade anymore:

christian@fast-machine:~/YADE/yade-trunk-51af602$ scons PREFIX=/home/christian/YADE/YADEgit-20120416
scons: Reading SConscript files ...
@@@ Using profile default (scons.profile-default) @@@
Eigen 2 math library will be used
Yade version is `unknown' (unknown), installed files will be suffixed with `-unknown'.
All intermediary files will be in `/home/christian/YADE/build-unknown'.
Checking whether c++ compiler "g++" works...yes
Finding libstdc++ library... (cached) /usr/lib/x86_64-linux-gnu/libstdc++.so.6
Checking for pthread_exit(NULL) in C library pthread... yes
Checking for Python development files... ok
Checking for C++ header file numpy/ndarrayobject.h... yes
Checking for required python modules... (cached) all ok
Checking boost libraries... all ok
Checking for C++ header file boost/foreach.hpp... yes
Checking for C++ header file Eigen/Core... yes
Checking for C++ header file loki/NullType.h... yes
Checking for glutGetModifiers() in C++ library glut... yes
Checking for QGLViewer() in C++ library qglviewer-qt4... yes
Checking for vtkInstantiator::New() in C++ library vtkCommon... yes
Checking for gts_object_class() in C++ library gts... yes
scons: done reading SConscript files.
scons: Building targets ...
> /home/christian/YADE/YADEgit-20120416/bin/yade-unknown-batch
> /home/christian/YADE/YADEgit-20120416/bin/yade-unknown
Chmod("/home/christian/YADE/YADEgit-20120416/bin/yade-unknown-batch", 0755)
Chmod("/home/christian/YADE/YADEgit-20120416/bin/yade-unknown", 0755)
C py/3rd-party/pygts-0.3.1/cleanup.c
C py/3rd-party/pygts-0.3.1/face.c
C py/3rd-party/pygts-0.3.1/edge.c
C py/3rd-party/pygts-0.3.1/object.c
C py/3rd-party/pygts-0.3.1/point.c
C py/3rd-party/pygts-0.3.1/pygts.c
C py/3rd-party/pygts-0.3.1/segment.c
C py/3rd-party/pygts-0.3.1/surface.c
C py/3rd-party/pygts-0.3.1/triangle.c
C py/3rd-party/pygts-0.3.1/vertex.c
> /home/christian/YADE/build-unknown/lib/yade-support.cpp
C /home/christian/YADE/build-unknown/lib/yade-support.cpp
> /home/christian/YADE/build-unknown/core/core.cpp
C /home/christian/YADE/build-unknown/core/core.cpp
In file included from /home/christian/YADE/build-unknown/include/yade/lib/factory/ClassFactory.hpp:34:0,
                 from /home/christian/YADE/build-unknown/include/yade/lib/factory/Factorable.hpp:13,
                 from /home/christian/YADE/yade-trunk-51af602/lib/serialization/Serializable.hpp:33,
                 from /home/christian/YADE/yade-trunk-51af602/lib/serialization/Serializable.cpp:11,
                 from /home/christian/YADE/build-unknown/lib/yade-support.cpp:5:
/home/christian/YADE/build-unknown/include/yade/lib/factory/DynLibManager.hpp:24:7: error: redefinition of 'class DynLibManager'
/home/christian/YADE/yade-trunk-51af602/lib/factory/DynLibManager.hpp:24:7: error: previous definition of 'class DynLibManager'
In file included from /home/christian/YADE/build-unknown/include/yade/lib/factory/Factorable.hpp:13:0,
                 from /home/christian/YADE/yade-trunk-51af602/lib/serialization/Serializable.hpp:33,
                 from /home/christian/YADE/yade-trunk-51af602/lib/serialization/Serializable.cpp:11,
                 from /home/christian/YADE/build-unknown/lib/yade-support.cpp:5:
/home/christian/YADE/build-unknown/include/yade/lib/factory/ClassFactory.hpp:95:7: error: redefinition of 'class ClassFactory'
/home/christian/YADE/yade-trunk-51af602/lib/factory/ClassFactory.hpp:95:7: error: previous definition of 'class ClassFactory'

... many many error messages ...

/home/christian/YADE/build-unknown/include/yade/core/PartialEngine.hpp: At global scope:
/home/christian/YADE/build-unknown/include/yade/core/PartialEngine.hpp:22:1: error: redefinition of 'const bool registeredPartialEngine'
/home/christian/YADE/yade-trunk-51af602/core/PartialEngine.hpp:22:1: error: 'const bool registeredPartialEngine' previously declared here
/home/christian/YADE/build-unknown/include/yade/core/PartialEngine.hpp:22:1: error: redefinition of 'struct boost::serialization::guid_defined<PartialEngine>'
/home/christian/YADE/yade-trunk-51af602/core/PartialEngine.hpp:22:1: error: previous definition of 'struct boost::serialization::guid_defined<PartialEngine>'
/home/christian/YADE/build-unknown/include/yade/core/PartialEngine.hpp:22:1: error: redefinition of 'const char* boost::serialization::guid() [with T = PartialEngine]'
/home/christian/YADE/yade-trunk-51af602/core/PartialEngine.hpp:22:1: error: 'const char* boost::serialization::guid() [with T = PartialEngine]' previously declared here
scons: *** [/home/christian/YADE/build-unknown/core/core.os] Error 1
scons: building terminated because of errors.

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Jérôme Duriez
Solved:
2012-04-17
Last query:
2012-04-17
Last reply:
2012-04-16
Best Jérôme Duriez (jduriez) said : #1

Hello,

Did you suppress (scons -c, and remove by hand some folders like "lib",... according to my trial and error experience...) your former version of yade before ?

This kind of message

home/christian/YADE/build-unknown/include/yade/core/PartialEngine.hpp:22:1: error: redefinition of... XXX...

/home/christian/YADE/yade-trunk-51af602/core/PartialEngine.hpp:22:1: error: ...XXX... previously declared here

makes me feel that the way you tried to compile is the reason (and not, for this time.., an unhappy update). Even if it might be also be other reasons... (google "yade previously defined here"..)

Christian Jakob (jakob-ifgt) said : #2

Thanks jduriez, that solved my question.

Christian Jakob (jakob-ifgt) said : #3

deleting build-unknown before compilations solves this problem.

btw,

i still get yade-unknown, even for the newest git-version (7b3752a) on wheezy.

Anton Gladky (gladky-anton) said : #4

> i still get yade-unknown, even for the newest git-version (7b3752a) on
> wheezy.

Should be fixed, when python-git 0.3.2~RC1-1 will migrate to Wheezy.

You also need to clean your scons.profile from the "garbage".

Anton

Christian Jakob (jakob-ifgt) said : #5

Ah, ok. now it is version 0.1.6-1 on wheezy.