Cross compiling make error within OpenEmbedded SDK

I’m trying to cross compile gnuradio for arm within an OpenEmbedded SDK
using
bitbake 1.18
meta-openembedded Dylan
openembedded-core Dylan
&
meta-ettus e100-updates

After generating and setting up the SDK, I have downloaded the gnuradio
source and am trying to build it from there.

When I run make I am given the error:

make[2]: *** No rule to make target ../gr-atsc/src/lib/atsci_ viterbi_gen', needed bygr-atsc/src/lib/atsci_viterbi_mux.cc’. Stop.
make[1]: *** [gr-atsc/src/lib/CMakeFiles/gnuradio-atsc.dir/all] Error 2
make: *** [all] Error 2

It wants to build atsci_viterbi_gen, a dependency for
atsci_viterbi_mux.cc
but it can’t find the rules for it.

To try and debug this I followed the same steps to build gnuradio within
the sdk and in my home directory and compared the differences.

Initially after downloading a fresh version of the gnuradio source in
each
directory I ran a grep for the string “atsci_viterbi_gen” and receive
the
same output, as expected.

gr-atsc/lib/CMakeLists.txt: add_executable(atsci_viterbi_gen
atsci_viterbi_gen.cc)
gr-atsc/lib/CMakeLists.txt: export(TARGETS atsci_viterbi_gen APPEND
FILE
${EXPORT_FILE})
gr-atsc/lib/CMakeLists.txt: DEPENDS atsci_viterbi_gen
gr-atsc/lib/CMakeLists.txt: COMMAND atsci_viterbi_gen -o
${atsci_viterbi_mux_cc}

However, after running cmake on both gnuradio’s and then grepping for
the
same string I notice a huge difference.

The output from the grep in my home directory is very verbose with tons
of
additional files created that reference atsci_viterbi_gen as well as its
own directory
build/gr-atsc/lib/CMakeFiles/atsci_viterbi_gen.dir/

Contrarily only two additional references were made to
“atsci_viterbi_gen”
after running cmake within the sdk, both occur when it was referred to
as a
dependency for atsci_viterbi_mux

build/gr-atsc/lib/CMakeFiles/gnuradio-atsc.dir/build.make:gr-atsc/lib/atsci_viterbi_mux.cc:
…/gr-atsc/lib/atsci_viterbi_gen
build/gr-atsc/lib/CMakeFiles/gnuradio-atsc.dir/build.make: cd
/usr/local/e100.3/gnuradio/build/gr-atsc/lib && atsci_viterbi_gen -o
/usr/local/e100.3/gnuradio/build/gr-atsc/lib/atsci_viterbi_mux.cc

gnuradio make’s flawlessly within my home directory.

Why doesn’t cmake generate the same files within the SDK that it does
natively?
How can I get it to?
Am I looking in the right place to get to the bottom of this error?

Any tips or additional direction would help. Thanks a ton,

Taylor

On Fri, Nov 1, 2013 at 11:06 AM, Taylor Centers
[email protected] wrote:

To try and debug this I followed the same steps to build gnuradio within the
gr-atsc/lib/CMakeLists.txt: DEPENDS atsci_viterbi_gen

gnuradio make’s flawlessly within my home directory.

Why doesn’t cmake generate the same files within the SDK that it does
natively?
How can I get it to?
Am I looking in the right place to get to the bottom of this error?

Any tips or additional direction would help. Thanks a ton,

Taylor

I’m sure Philip or some of the other OE people on the list can help
you more than I can. But unless you are trying to do ATSC stuff, I
would recommend just disabling it for now. There’s work going on to
update the ATSC code, and it’s unlikely that you’ll be able to do too
much with what’s in gr-atsc right now on an e100 (unless someone can
verify they’ve got it to work there?). So you can pass
-DENABLE_GR_ATSC=False to the cmake command to remove it from the
build.

Tom

I replied, if anyone is interested ping me and I’ll resend to the list.