Forum: GNU Radio 'make check' fails on OS X 10.5 with gnuradio 3.1 release

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D7ed4f25cff722f7889f55b6f918c77d?d=identicon&s=25 Jakub Moskal (Guest)
on 2009-02-10 05:57
(Received via mailing list)
Hello..

After installing all necessary libraries using MacPorts and following
instructions from Jon Jacky
(http://staff.washington.edu/jon/gr-osx/gr-osx.html), the make check
fails on my MacBook Pro.. Ignoring that and issuing 'make install'
leads to the same error when trying to import gnuradio in python:

dyld: Library not loaded: /opt/local/lib/libfftw3f.3.dylib
 Referenced from:
/Users/Jakub/sources/gnuradio/gnuradio-core/src/tests/.libs/test_all
 Reason: Incompatible library version: test_all requires version
6.0.0 or later, but libfftw3f.3.dylib provides version 5.0.0
/bin/sh: line 1: 26477 Trace/BPT trap          ${dir}$tst
FAIL: test_all

I installed the fftw-3-single using MacPorts, 'port installed'
includes the following lines:
 fftw-3 @3.2_1 (active)
 fftw-3-single @3.2_0 (active)

What does the 'version 6.0.0' or '5.0.0' refer to? As far as I know
there is no newer version of the fftw-3-single which provides the
library in question. Anyone else came across the same problem?

Any help greatly appreciated!
Jakub
781e96b7bd64e8833d71e3914cb1594a?d=identicon&s=25 Michael Dickens (Guest)
on 2009-02-10 14:47
(Received via mailing list)
Hi Jakob - Answering your questions up front:

The 'version 6.0.0' refers to the embedded versioning info inside the
library which is being loaded.  FFTW 3.2 embeds versioning info
"6.2.0" for some reason.  So I would tend to believe that FFTW 2.X
embeds info "5.X.0".  IIRC: GNU Radio requires the 3.X libraries, and
you can't execute GR applications without it.

To get back to your issue, I would guess there are 2 potential problems:

1) 'configure' is finding FFTW3 from pkg-config (as desired), but it's
not the version which occurs first in your shell environment's
DYLD_LIBRARY_PATH ... so compiling happens with one, but loading with
another.  Unless you -truly- require the DYLD_LIBRARY_PATH, don't use
it; it will cause you headaches.  There are ways around using this
variable; use those instead.

2) PKG_CONFIG_PATH isn't set correctly in your shell environment: /opt/
local/lib/pkgconfig must be first in the list.

If neither of these work, then email me off list with the results of
"env" (executed in your shell of choice) as well as which libraries /
apps you installed from where, and I'll do what I can to help. - MLD
D7ed4f25cff722f7889f55b6f918c77d?d=identicon&s=25 Jakub Moskal (Guest)
on 2009-02-10 17:56
(Received via mailing list)
Michael,

thank you for help! It turned out that I had set the DYLD_LIBRARY_PATH
for my Matlab, so that I could interface it with Java. Also, the
PKG_CONFIG_PATH hadn't been set at all. After removing the
DYLD_LIBRARY_PATH and setting the PKG_CONFIG_PATH I managed to compile
3.1 release from svn. I got some warnings from bootstrap (namely,
"AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS", which
didn't appear with 3.2 branch) and the 'make test' failed two tests
(gr_goertzel), the same way it did for
http://www.mail-archive.com/discuss-gnuradio@gnu.o... --
I ignored it, installed and managed to import gr in python without any
warnings.

Thanks a lot for help!
Jakub
781e96b7bd64e8833d71e3914cb1594a?d=identicon&s=25 Michael Dickens (Guest)
on 2009-02-10 18:11
(Received via mailing list)
Hi Jakob - Good to hear you got GNU Radio running on your OSX
install.  All of the bootstrap warnings and the failed tests on OSX
have been corrected in the latest trunk; I highly recommend updating
to it ("svn up") if you have the time. - MLD
D7ed4f25cff722f7889f55b6f918c77d?d=identicon&s=25 Jakub Moskal (Guest)
on 2009-02-10 19:36
(Received via mailing list)
Michael,

I checkout the latest trunk, bootstrap finished without any warnings.
The configure finished in the same way as it did for the 3.1 release.
However, when trying to compile I get the following error:

In file included from ./gr_msg_queue.h:26,
                 from gr_msg_queue.cc:26:
/opt/local/include/omnithread.h:178:2: error: #error "No
implementation header file"
/opt/local/include/omnithread.h:191:2: error: #error "Implementation
header file incomplete"
/opt/local/include/omnithread.h:241: error: ISO C++ forbids
declaration of 'OMNI_MUTEX_IMPLEMENTATION' with no type
/opt/local/include/omnithread.h:242: error: expected ';' before '}'
token
/opt/local/include/omnithread.h:242: error: expected `;' before '}'
token
/opt/local/include/omnithread.h: In member function 'void
omni_mutex::lock()':
/opt/local/include/omnithread.h:226: error:
'OMNI_MUTEX_LOCK_IMPLEMENTATION' was not declared in this scope
/opt/local/include/omnithread.h:226: error: expected `;' before '}'
token
/opt/local/include/omnithread.h: In member function 'void
omni_mutex::unlock()':
/opt/local/include/omnithread.h:227: error:
'OMNI_MUTEX_UNLOCK_IMPLEMENTATION' was not declared in this scope
/opt/local/include/omnithread.h:227: error: expected `;' before '}'
token
/opt/local/include/omnithread.h: At global scope:
/opt/local/include/omnithread.h:321: error: ISO C++ forbids
declaration of 'OMNI_CONDITION_IMPLEMENTATION' with no type
/opt/local/include/omnithread.h:322: error: expected ';' before '}'
token
/opt/local/include/omnithread.h:322: error: expected `;' before '}'
token
/opt/local/include/omnithread.h:355: error: ISO C++ forbids
declaration of 'OMNI_SEMAPHORE_IMPLEMENTATION' with no type
/opt/local/include/omnithread.h:356: error: expected ';' before '}'
token
/opt/local/include/omnithread.h:356: error: expected `;' before '}'
token
/opt/local/include/omnithread.h:641: error: ISO C++ forbids
declaration of 'OMNI_THREAD_IMPLEMENTATION' with no type
/opt/local/include/omnithread.h:642: error: expected ';' before '}'
token
/opt/local/include/omnithread.h:642: error: expected `;' before '}'
token
make[5]: *** [gr_msg_queue.lo] Error 1

Any ideas? 3.1 compiled without any problem and I was able to run some
examples that didn't require USRP.

Thanks!
Jakub
781e96b7bd64e8833d71e3914cb1594a?d=identicon&s=25 Michael Dickens (Guest)
on 2009-02-10 22:57
(Received via mailing list)
On Feb 10, 2009, at 1:35 PM, Jakub Moskal wrote:
> I checkout the latest trunk, bootstrap finished without any warnings.
> The configure finished in the same way as it did for the 3.1 release.
> However, when trying to compile I get the following error:
>
> In file included from ./gr_msg_queue.h:26,
>                 from gr_msg_queue.cc:26:
> /opt/local/include/omnithread.h:178:2: error: #error "No
> implementation header file"


Hi Jakob - It looks like MacPorts has installed omniORB, which
includes the file omnithread.h, which is placed into the search path
for CXX pretty early on.  If you don't need this port, try
uninstall'ing it (sudo port uninstall omniORB).

I can't explain why the 3.1 release compiled while the trunk does not,
under the same (presumedly) shell environment and pre-installed
libraries / headers.

In your shell, if you do "env | grep CPATH" does it return anything?
At least on OSX, this variable is no longer needed because the boost
M4 scripts (which are used to create "configure") check for headers
in /opt/local/include by default.  So if this variable does exist, try
removing it & recompiling ... that may or not work.

Let me know (on or off list, depending on the complexity of it) of
your progress. - MLD
D7ed4f25cff722f7889f55b6f918c77d?d=identicon&s=25 Jakub Moskal (Guest)
on 2009-02-11 06:16
(Received via mailing list)
Hi Michael,

unfortunately I do need omniORB and omniORBpy, so I don't want to
uninstall them... The CPATH is not set. Do you think that temporarily
removing it, compiling gnuradio and installing it back on would do the
trick?

Thanks a lot for your help!!
Jakub
781e96b7bd64e8833d71e3914cb1594a?d=identicon&s=25 Michael Dickens (Guest)
on 2009-02-11 17:13
(Received via mailing list)
On Feb 11, 2009, at 12:15 AM, Jakub Moskal wrote:
> unfortunately I do need omniORB and omniORBpy, so I don't want to
> uninstall them... The CPATH is not set. Do you think that temporarily
> removing it, compiling gnuradio and installing it back on would do the
> trick?


Hi Jakob - I'm working on a branch right now which moves
<omnithread.h> to <gnuradio/omnithread.h>, so that GNU Radio is self-
contained w/r.t. omnithread headers and will work with omniORB
installed elsewhere.  More soon. - MLD
D7ed4f25cff722f7889f55b6f918c77d?d=identicon&s=25 Jakub Moskal (Guest)
on 2009-02-11 17:25
(Received via mailing list)
Hi Michael,

that would be great. I actually want to use CORBA along with GNU
Radio, so that would be perfect.

Thanks a lot for your help.
Jakub
This topic is locked and can not be replied to.