Project

General

Profile

Actions

Bug #1179

open

[sip][build][link] compilation error

Added by Jules Waldhart almost 6 years ago. Updated almost 6 years ago.

Status:
In Progress
Priority:
High
Assignee:
Jules Waldhart
Start date:
2018-05-22
Due date:
% Done:

0%

Estimated time:

Description

J'essaye (encore) d'installer move4d sur mon laptop. J'ai installé libmove3d et toutes les dépendances pour move4d listées dans le wiki. Le cmake se passe bien mais lors du make, pendant le linkage j'ai :

./sip_pymove4dmove4dCostSpace.cpp: In function ‘void* init_type_move4d_CostSpace(sipSimpleWrapper*, PyObject*, PyObject*, PyObject**, PyObject**, PyObject**)’:
./sip_pymove4dmove4dCostSpace.cpp:272:50: error: use of deleted function ‘move4d::CostSpace::CostSpace(const move4d::CostSpace&)’
             sipCpp = new  ::move4d::CostSpace(*a0);
                                                  ^
In file included from /home/gbuisan/move3d/src/move4d/python/planner/cost_space.sip:6:0:
/home/gbuisan/move3d/src/move4d/move4d/planner/cost_space.hpp:57:7: note: ‘move4d::CostSpace::CostSpace(const move4d::CostSpace&)’ is implicitly deleted because the default definition would be ill-formed:
 class CostSpace
       ^
/home/gbuisan/move3d/src/move4d/move4d/planner/cost_space.hpp:57:7: error: use of deleted function ‘boost::mutex::mutex(const boost::mutex&)’
In file included from /usr/include/boost/thread/detail/move.hpp:19:0,
                 from /usr/include/boost/thread/lock_types.hpp:11,
                 from /usr/include/boost/thread/pthread/mutex.hpp:14,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from /home/gbuisan/move3d/src/move4d/move4d/planner/cost_space.hpp:7,
                 from /home/gbuisan/move3d/src/move4d/python/planner/cost_space.sip:6:
/usr/include/boost/thread/pthread/mutex.hpp:96:9: note: declared here
         BOOST_THREAD_NO_COPYABLE(mutex)
         ^
make[3]: *** [sip_pymove4dmove4dCostSpace.o] Erreur 1
make[2]: *** [python/_pymove4d.so] Erreur 2
make[1]: *** [CMakeFiles/pymove4d.dir/all] Erreur 2
make: *** [all] Erreur 2

J'ai installé sip depuis les sources en version 4.19.8 et boost est en version 1.54.0.

Une idée ?

Actions #1

Updated by Jules Waldhart almost 6 years ago

  • Description updated (diff)
Actions #2

Updated by Jules Waldhart almost 6 years ago

  • Status changed from New to In Progress

I reproduced the bug using the latest sip version (4.19.9.dev1805160921). The bug does not occur with version from the ubuntu 14.04 official repo (4.15.5).

Actions #3

Updated by Jules Waldhart almost 6 years ago

Adding /NoDefaultCtors/ annotation to the CostSpace class definition in the cost_space.sip file seems to solve the issue. Other issues appears however, I'll try to fix them.

Actions #4

Updated by Jules Waldhart almost 6 years ago

the revision move4d|3299edb3 on branch wip fixes the bug.

move4d GUI now fails to build

Actions #5

Updated by Jules Waldhart almost 6 years ago

So there was a similar bug fixed on branch wip of move4dgui.

You will also need PyQt5 built with the same sip version. I had to specify the qmake path to the PyQt5 configure.py script: --qmake /usr/lib/x86_64-linux-gnu/qt5/bin/qmake

running move4d-ogre afterwards looks ok, but the pymove4dgui python library fails: this may be due to my own configuration (I have 2 sip and PyQt5 versions)

Actions

Also available in: Atom PDF