Import error of grextras, undefined symbol

Hi,

I believe some other guys met this problem before, but I did not find
the
final solution expressed clearly.

After I installed the gnuradio, grextras, then in my python code which
trys
to import the extras_swig like

import gnuradio.extras as gr_extras

File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”,
line
20, in
from extras_swig import *
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 26, in
_extras_swig = swig_import_helper()
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 22, in swig_import_helper
_mod = imp.load_module(’_extras_swig’, fp, pathname, description)
ImportError: /usr/local/lib/libgnuradio-extras.so: undefined symbol:
ZN15gr_msg_accepter4postEN5boost13intrusive_ptrIN3pmt8pmt_baseEEES4

Can any one shed a light on it?

Alex,
Dreams can come true just believe.

On 02/19/2013 04:59 PM, Alex Z. wrote:

“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”, line
ImportError: /usr/local/lib/libgnuradio-extras.so: undefined symbol:
ZN15gr_msg_accepter4postEN5boost13intrusive_ptrIN3pmt8pmt_baseEEES4

Can any one shed a light on it?

Maybe its missing a library to link w/

Can you try this and let me know?

-josh

It does not work after the modification and rebuilding of the grextras.

My modification:

diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt
index 129d789…42732a3 100644
— a/swig/CMakeLists.txt
+++ b/swig/CMakeLists.txt
@@ -58,7 +58,7 @@ foreach(incdir ${GRUEL_INCLUDE_DIRS})
list(APPEND GR_SWIG_INCLUDE_DIRS ${incdir}/gruel/swig)
endforeach(incdir)

-set(GR_SWIG_LIBRARIES gnuradio-extras)
+list(APPEND GR_SWIG_LIBRARIES gnuradio-extras
${GNURADIO_CORE_LIBRARIES}
${G
set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/extras_swig_doc.i)
set(GR_SWIG_DOC_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/…/include/gnuradio/extras)

On Tue, Feb 19, 2013 at 5:06 PM, Josh B. [email protected] wrote:

to import the extras_swig like
_extras_swig = swig_import_helper()
Maybe its missing a library to link w/
Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page

Alex,
Dreams can come true just believe.

Maybe it is due to my own building which is very obsolete. I will try to
reinstall the latest version of gnuradio and grextras.

On Tue, Feb 19, 2013 at 5:35 PM, Alex Z. [email protected]
wrote:

endforeach(incdir)

trys

line 26, in


Alex,
Dreams can come true just believe.

Alex,
Dreams can come true just believe.

:-/

Well the symbol may be missing from gnuradio core. Can you tell me the
exact gnuradio commit you are using?

-josh

I am having the same issue, I tried Josh suggestion without success.
I have installed Extras and pre-cog using:
https://github.com/jmalsbury/pre-cog/wiki/Installation

what should I do to make it work?

here is a error log containing the versions I am using:

linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.005.003-78-g49a4929b

<<< Welcome to GNU Radio Companion 3.6.4.1 >>>

Loading: “/home/guy/Documents/tdma_hier.grc”

Done

Showing: “/home/guy/Documents/tdma_hier.grc”

Loading: “/home/guy/Documents/tdma_radio.grc”

Done

Showing: “/home/guy/Documents/tdma_radio.grc”

Generating: “/home/guy/Documents/tdma_radio.py”

Warning: This flow graph may not have flow control: no audio or usrp
blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU
congestion.

Executing: “/home/guy/Documents/tdma_radio.py”

linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.005.003-78-g49a4929b

Traceback (most recent call last):
File “/home/guy/Documents/tdma_radio.py”, line 8, in
execfile(“/home/guy/.grc_gnuradio/tdma_hier.py”)
File “/home/guy/.grc_gnuradio/tdma_hier.py”, line 14, in
import gnuradio.extras as gr_extras
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”,
line
20, in
from extras_swig import *
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 26, in
_extras_swig = swig_import_helper()
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 22, in swig_import_helper
_mod = imp.load_module(‘_extras_swig’, fp, pathname, description)
ImportError: libgnuradio-extras.so: cannot open shared object file: No
such
file or directory

Thanks, Guy

I am already working with the latest version of GNU Radio.
in which dir the libgnuradio-extras.so should appear and, which package
bulids it? is this file bring renamed during the build?

I remember that I reinstall to the latest gnuradio entirely and then
the
error disappeared.

On Mon, May 27, 2013 at 12:36 PM, Guy H. [email protected] wrote:

Done
linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.005.003-78-g49a4929b
from extras_swig import *

+++ b/swig/CMakeLists.txt

final solution expressed clearly.
from extras_swig import *
ImportError: /usr/local/lib/libgnuradio-extras.so: undefined symbol:


Dreams can come true just believe.
Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page

Alex,
Dreams can come true just believe.

try to remove all the existing gnuradio and then reinstall bu
./build_gnuradio.

On Mon, May 27, 2013 at 4:36 PM, Guy H. [email protected] wrote:

Executing: “/home/guy/Documents/tdma_radio.py”
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”, line
ImportError: libgnuradio-extras.so: cannot open shared object file: No

Maybe it is due to my own building which is very obsolete. I will try

index 129d789…42732a3 100644
set(GR_SWIG_DOC_DIRS

I believe some other guys met this problem before, but I did not
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”, line
line 22, in swig_import_helper

[email protected]

Alex,

Alex,
Dreams can come true just believe.

Alex,
Dreams can come true just believe.

the problem was the lack of ldconfig in the end of the installation
I used:
sudo ldconfig

after the installation of extras, and it solved the problem

can it be a permission problem?
I tried added a print before the error and discovered this file it
located
succesfully many times when I use grc:

/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xd8ae288>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xd94a910>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xdfb1390>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xd94a860>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xd8d7288>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xd2970d0>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xdcef1d8>
(’.so’, ‘rb’, 3)
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0xd297440>
(’.so’, ‘rb’, 3)

Generating: “/home/guy/.grc_gnuradio/tdma_hier.py”

Executing: “/home/guy/.grc_gnuradio/tdma_hier.py”

linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.005.003-78-g49a4929b

/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0x95b1078>
(’.so’, ‘rb’, 3)
Traceback (most recent call last):
File “/home/guy/.grc_gnuradio/tdma_hier.py”, line 14, in
import gnuradio.extras as gr_extras
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”,
line
20, in
from extras_swig import *
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 31, in
_extras_swig = swig_import_helper()
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 27, in swig_import_helper
_mod = imp.load_module(’_extras_swig’, fp, pathname, description)
ImportError: libgnuradio-extras.so: cannot open shared object file: No
such
file or directory

Done

Showing: “/home/guy/Documents/tdma_radio.grc”

Generating: “/home/guy/Documents/tdma_radio.py”

Warning: This flow graph may not have flow control: no audio or usrp
blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU
congestion.

Executing: “/home/guy/Documents/tdma_radio.py”

linux; GNU C++ version 4.6.3; Boost_104800; UHD_003.005.003-78-g49a4929b

/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.pyc
/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so
<open file
‘/usr/local/lib/python2.7/dist-packages/gnuradio/extras/_extras_swig.so’,
mode ‘rb’ at 0x9450078>
(’.so’, ‘rb’, 3)
Traceback (most recent call last):
File “/home/guy/Documents/tdma_radio.py”, line 8, in
execfile("/home/guy/.grc_gnuradio/tdma_hier.py")
File “/home/guy/.grc_gnuradio/tdma_hier.py”, line 14, in
import gnuradio.extras as gr_extras
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/init.py”,
line
20, in
from extras_swig import *
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 31, in
_extras_swig = swig_import_helper()
File
“/usr/local/lib/python2.7/dist-packages/gnuradio/extras/extras_swig.py”,
line 27, in swig_import_helper
_mod = imp.load_module(’_extras_swig’, fp, pathname, description)
ImportError: libgnuradio-extras.so: cannot open shared object file: No
such
file or directory

as you can see, when it does not work, file pointer is at a completely
different address (0x9######) and when it works the file pointer is at
address of 0xd######

also, I use tried to use sudo command, but it did not work.
any ideas?
Thanks for all the advice
Guy