Problems building SpecEst-d89f99c

Hello List,

I am trying to build SpecEst from source (d89f99c) on a system with
GNU Radio 3.6.0 and UHD 003.004.002. However I have a build error that
I can’t resolve.

First, make could not find gruel_common.i. I fixed that by changing
$BUILDDIR$/swig/CMakeLists.txt, I put the line
“${GRUEL_INCLUDE_DIRS}/usr/include/gruel/swig” under
“SET(SWIG_FLAGS_INCLUDE_DIRS”

Now make finds gruel_common.i and progresses further, but there is a
new error when it gets to building specestPYTHON_wrap.cxx. The error
is:

/usr/bin/ld: /usr/local/lib/ libpython2.7.a (abstract.o): relocation
R_X86_64_32S against ‘Py_NotImplementedStruct’ can not be used when
making a shared object; recompile with -fPIC

This is odd because link.txt does have the -fPIC argument in it…
Anyone ever had this error? Any suggestions?

Thanks,
Ryan

On Mon, Jun 04, 2012 at 10:10:16AM -0400, Ryan Connelly wrote:

[…]
This is odd because link.txt does have the -fPIC argument in it…
Anyone ever had this error? Any suggestions?

Hi Ryan,

I haven’t seen this error specifically, but the first error has been
bugging me for a while; I’ve been fixing this in a new branch (newcmake)
which also uses the standard GNU Radio cmake system and thus allows us
to use gr-modtool on SpecEst.
You can get this branch at
https://github.com/kit-cel/gr-specest/tree/newcmake, but it’s not quite
finished, specifically, it crashes when Armadillo isn’t installed (the
default behaviour is to detect this and then not to build anything which
depends on Armadillo). If you have Armadillo, this branch should work,
and maybe it fixes your bug. Please let me know if that’s true.

M


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

On Mon, Jun 04, 2012 at 12:42:47PM -0400, Ryan Connelly wrote:

Yes I had seen the cmake branch and was considering trying it… I’ll
try it soon and let you know. However I now suspect the problem is
with my gcc version/config messing up the -fPIC argument. What
compiler and version do you use to compile? I use GCC 4.6.2 on a
x86_64 system.

Hi Ryan,

I’ve tried different archs (32 and 64 bit) and most likely different GCC
versions. This machine runs 4.6.3 on x86_64 and it compiles and tests.

MB


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

Hi Martin,

I have tried using the branch (bd6d01b) but it doesn’t help (same
error). I have also reinstalled Python 2.7.2 from my distrib’s RPM
package instead of from source and that did not help either.

When I have some spare time I will try on a different system that has
another version of GNU Radio and UHD and a different GCC version to
see what that system does. I suspect it’s really just something wrong
with my current system’s compiler. So consider this case closed, if
you have never seen this error it’s probably just my config. I was
hoping it was a common issue with a simple fix.

Hi Martin,

Yes I had seen the cmake branch and was considering trying it… I’ll
try it soon and let you know. However I now suspect the problem is
with my gcc version/config messing up the -fPIC argument. What
compiler and version do you use to compile? I use GCC 4.6.2 on a
x86_64 system.

R