Opened 12 years ago

Closed 12 years ago

#5107 closed Bugs (invalid)

import of boost.python model fails because of undefined symbol, but symbol does not appear in my source tree

Reported by: michael_fabbri@… Owned by: Dave Abrahams
Milestone: To Be Determined Component: python USE GITHUB
Version: Boost 1.40.0 Severity: Showstopper
Keywords: Cc:

Description

I have successfully mapped two classes and a free standing function. The source code compiles and links.

Upon import into python I get: Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) [GCC 4.4.5] on linux2 Type "help", "copyright", "credits" or "license" for more information.

import scidblibpy

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

ImportError: ./scidblibpy.so: undefined symbol: _ZNK6common11StreamArray7getNameEv

The undefined symbol is not a valid symbol within my source tree. It appears to be a concatenated string of some sort. This could be a compiler or linker bug that generates a random symbol, or a problem in the generated boost.python code. Some of the items composing the symbol name are part of my source tree. They are common and StreamArray. The source code being mapped is part of an exposed API. As a standalone API it had no problem in linking and running.

How can I review the generated code to determine if it is creating the symbol?

Change History (3)

comment:1 by Mike Fabbri <michael_fabbri@…>, 12 years ago

Summary: import of boost.python model fails because of undefined system, but symbol does not appear in my source treeimport of boost.python model fails because of undefined symbol, but symbol does not appear in my source tree

comment:2 by Marshall Clow, 12 years ago

$ c++filt -n _ZNK6common11StreamArray7getNameEv
common::StreamArray::getName() const

Do you have a symbol named "common::StreamArray::getName() const" ?

comment:3 by anonymous, 12 years ago

Resolution: invalid
Status: newclosed

Yes, that symbol appears in my source. I will work to make the linking work correctly. Thank you

Note: See TracTickets for help on using tickets.