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 by
gr-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