TNG/boost-python-examples

Python argument did not much C++ signature

dkazanc opened this issue · 1 comments

RH6 + gcc (versions 6 - 8.2 tried)

-- The C compiler identification is GNU 6.1.0                   
-- The CXX compiler identification is GNU 6.1.0                 
-- Check for working C compiler: /dls_sw/apps/gcc/6.1.0/bin/gcc 
-- Check for working C compiler: /dls_sw/apps/gcc/6.1.0/bin/gcc -- works
-- Detecting C compiler ABI info                                        
-- Detecting C compiler ABI info - done                                 
-- Detecting C compile features                                         
-- Detecting C compile features - done                                  
-- Check for working CXX compiler: /dls_sw/apps/gcc/6.1.0/bin/g++       
-- Check for working CXX compiler: /dls_sw/apps/gcc/6.1.0/bin/g++ -- works
-- Detecting CXX compiler ABI info                                        
-- Detecting CXX compiler ABI info - done                                 
-- Detecting CXX compile features                                         
-- Detecting CXX compile features - done                                  
-- Found PythonInterp: /scratch/anaconda2/bin/python (found version "2.7.15") 
-- Boost version: 1.41.0

The project builds, some tests fail:

Test project /home/kjy41806/Documents/SOFT/OTHER/boost-python-examples/build                        
      Start  1: 01-HelloWorld                                                                       
 1/13 Test  #1: 01-HelloWorld ....................   Passed    0.04 sec                             
      Start  2: 02-ExposingClasses                                                                  
 2/13 Test  #2: 02-ExposingClasses ...............***Failed    0.07 sec                             
      Start  3: 03-Constructors                                                                     
 3/13 Test  #3: 03-Constructors ..................***Failed    0.04 sec                             
      Start  4: 04-ClassMembers                                                                     
 4/13 Test  #4: 04-ClassMembers ..................***Failed    0.06 sec                             
      Start  5: 05-Inheritance                                                                      
 5/13 Test  #5: 05-Inheritance ...................   Passed    0.03 sec                             
      Start  6: 06-VirtualFunctionsInPython                                                         
 6/13 Test  #6: 06-VirtualFunctionsInPython ......***Failed    0.03 sec                             
      Start  7: 07-Operators                                                                        
 7/13 Test  #7: 07-Operators .....................   Passed    0.03 sec                             
      Start  8: 08-CallPolicies                                                                     
 8/13 Test  #8: 08-CallPolicies ..................   Passed    0.08 sec                             
      Start  9: 09-Overloading                                                                      
 9/13 Test  #9: 09-Overloading ...................***Failed    0.04 sec                             
      Start 10: 10-Embedding                                                                        
10/13 Test #10: 10-Embedding .....................   Passed    0.07 sec                             
      Start 11: 11-Iterators                                                                        
11/13 Test #11: 11-Iterators .....................***Failed    0.03 sec                             
      Start 12: 12-Exceptions                                                                       
12/13 Test #12: 12-Exceptions ....................   Passed    0.03 sec                             
      Start 13: 13-AutoInstantiation                                                                
13/13 Test #13: 13-AutoInstantiation .............***Failed    0.02 se

Then when running python the error itself:

Traceback (most recent call last):
  File "classes.py", line 6, in <module>
    t.set("bom dia!")
Boost.Python.ArgumentError: Python argument types in
    World.set(World, str)
did not match C++ signature:
    set(World {lvalue}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)

What could be the problem? The interesting is that the build pass 100% with gcc 4.4, but I need to use older versions and it fails for 6,7,8 (which I tried).

Which libraries (full path!) are actually used during compile time and run time? This looks like a mismatch between both.