Troubleshooting

Keywords: troubleshooting help

Hopefully this page has the solution you're looking for, but it's likely it doesn't. Feel free to submit an issue for any little thing. And if you're impatient don't hesitate to contact me.

When I try to compile I get an error like "internal compiler error: in gimplify_expr, at gimplify.c:7153

This is a bug with gcc v4.5.1 and v4.5.2 dealing with complex data type, e.g. "float complex". The best option is to update your compiler to a more recent version, revert to an older version, or apply a patch.

Alternatively, if you are observing this error with ellip.c you can probably comment out the offending lines; however this will render the elliptic filter generator in liquid-dsp useless. This is probably the fastest solution if you aren't concerned with generating elliptic filters.

When compiling I get linker errors:

/liquid-dsp/src/fec/src/fec_conv.c:210: undefined reference to `create_viterbi27'
/liquid-dsp/src/fec/src/fec_conv.c:210: undefined reference to `init_viterbi27'
/liquid-dsp/src/fec/src/fec_conv.c:210: undefined reference to `update_viterbi27_blk'
...

(NOTE: This issue should be resolved after version 1.2.0 (commit 2f6ed1c9d39f4)) This is because the linker cannot find the libfec library. The configure script checks to make sure that the fec library is available before compiling. If found the additional forward error-correction codecs (e.g. convolutional) will be built and used. If the headers and library are not found, then the liquid-dsp build environment will ignore these. However if, for example, the fec headers are found but the libfec is not, the build script it will try to build the additional forward error- correction codecs without linking to the proper libraries. This is a bug with the current version of liquid-dsp. The quick fix is to run ./configure and then edit config.h to ignore the fec headers.

Open "config.h" and change the line (approx. 13) from

#define HAVE_FEC_H 1

to

/* #undef HAVE_FEC_H */

This will disable building the additional FEC codecs (such as convolutional) but will still build the internal codes (such as the Hamming codes). Now run "make" as normal.

When I try compiling on OS 10.9 I get the following error when trying to run "./configure": configure: error: Need standard c library! or configure: error: Could not use standard c library!

This is likely a result of using Apple's default build of gcc (LLVM version 5.0) which by default uses extremely strict checking for compiling. Because the script generated by configure is pretty sloppy, LLVM coughs when trying to build it. The simple fix is to update the repository and specify a different compiler by setting your environment variable CC, viz

$ export CC="/usr/local/bin/gcc-4.8"

I know this is a work-around; I'm working on a permanent fix.