I was trying to build gnuradio using all my cores. I started with cmake
…/
from a build director. Then I issued make -j8 however the swig portion
fails badly. Is there a way to fix this so it is faster for multicore
building?
On 11/04/2011 08:31 PM, Jeff S. wrote:
I was trying to build gnuradio using all my cores. I started with cmake …/
from a build director. Then I issued make -j8 however the swig portion
fails badly. Is there a way to fix this so it is faster for multicore
building?
There may be dependencies that are not properly specified. Can you say
which swig builds are failing for you/post the error verbose?
-josh
Seems to have gotten farther this time. Hope this can help. Builds just
fine if I exclude the -j option.
Live child 0x012d6a10
(gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all)
PID
31163
Live child 0x012cbdf0
(gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/all)
PID
31172
Live child 0x012d6a10
(gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all)
PID
31163
Reaping winning child 0x01210310 PID 31194
Removing child 0x01210310 PID 31194 from chain.
Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build'. File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build’
does not exist.
Considering target file
gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so'. File
gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so’ does not
exist.
Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/link.txt'. File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/link.txt’
was considered already.
Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/gnuradio_core_gengenPYTHON_wrap.cxx.o'. File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/gnuradio_core_gengenPYTHON_wrap.cxx.o’
was considered already.
Considering target file /usr/lib/libpython2.7.so'. File
/usr/lib/libpython2.7.so’ was considered already.
Considering target file
gnuradio-core/src/lib/libgnuradio-core-3.5.0rc0.so.0.0.0'. File
gnuradio-core/src/lib/libgnuradio-core-3.5.0rc0.so.0.0.0’ was
considered already.
Considering target file gruel/src/lib/libgruel-3.5.0rc0.so.0.0.0'. File
gruel/src/lib/libgruel-3.5.0rc0.so.0.0.0’ was considered
already.
Considering target file /usr/lib64/libboost_date_time-mt.so'. File
/usr/lib64/libboost_date_time-mt.so’ was considered already.
Considering target file /usr/lib64/libboost_program_options-mt.so'. File
/usr/lib64/libboost_program_options-mt.so’ was considered
already.
Considering target file /usr/lib64/libboost_filesystem-mt.so'. File
/usr/lib64/libboost_filesystem-mt.so’ was considered already.
Considering target file /usr/lib64/libboost_system-mt.so'. File
/usr/lib64/libboost_system-mt.so’ was considered already.
Considering target file /usr/lib64/libboost_thread-mt.so'. File
/usr/lib64/libboost_thread-mt.so’ was considered already.
Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build.make'. File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build.make’
was considered already.
Finished prerequisites of target file
gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so'. Must remake target
gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so’.
Need a job token; we don’t have children
Putting child 0x012160b0
(gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so) PID 523 on the
chain.
Commands of gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so' are being run. Finished prerequisites of target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build’.
The prerequisites of
`gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build’
are
being made.
Live child 0x012160b0
(gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so)
PID 523
Linking CXX shared module _gnuradio_core_gengen.so
Reaping winning child 0x012160b0 PID 523
Live child 0x012160b0
(gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so)
PID 525
Reaping winning child 0x012160b0 PID 525
Removing child 0x012160b0 PID 525 from chain.
Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build'. File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build’
does not exist.
Considering target file
gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so'. File
gnuradio-core/src/lib/swig/_gnuradio_core_gengen.so’ was
considered
already.
Finished prerequisites of target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build'. Must remake target
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build’.
Successfully remade target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/build'. Reaping winning child 0x012cbdf0 PID 31172 Live child 0x012cbdf0 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/all) PID 530 Live child 0x012d6a10 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all) PID 31163 [ 91%] Reaping winning child 0x012cbdf0 PID 530 Live child 0x012cbdf0 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/all) PID 531 Live child 0x012d6a10 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all) PID 31163 Built target _gnuradio_core_gengen Reaping winning child 0x012cbdf0 PID 531 Removing child 0x012cbdf0 PID 531 from chain. Released token for child 0x012cbdf0 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_gengen.dir/all). Live child 0x012d6a10 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all) PID 31163 Live child 0x012d6a10 (gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all) PID 31163 Reaping winning child 0x023bf7b0 PID 31181 Removing child 0x023bf7b0 PID 31181 from chain. Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build’.
File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build' does not exist. Considering target file
gnuradio-core/src/lib/swig/_gnuradio_core_general.so’.
File gnuradio-core/src/lib/swig/_gnuradio_core_general.so' does not exist. Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/link.txt’.
File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/link.txt' was considered already. Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/gnuradio_core_generalPYTHON_wrap.cxx.o’.
File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/gnuradio_core_generalPYTHON_wrap.cxx.o' was considered already. Considering target file
/usr/lib/libpython2.7.so’.
File /usr/lib/libpython2.7.so' was considered already. Considering target file
gnuradio-core/src/lib/libgnuradio-core-3.5.0rc0.so.0.0.0’.
File gnuradio-core/src/lib/libgnuradio-core-3.5.0rc0.so.0.0.0' was considered already. Considering target file
gruel/src/lib/libgruel-3.5.0rc0.so.0.0.0’.
File gruel/src/lib/libgruel-3.5.0rc0.so.0.0.0' was considered already. Considering target file
/usr/lib64/libboost_date_time-mt.so’.
File /usr/lib64/libboost_date_time-mt.so' was considered already. Considering target file
/usr/lib64/libboost_program_options-mt.so’.
File /usr/lib64/libboost_program_options-mt.so' was considered already. Considering target file
/usr/lib64/libboost_filesystem-mt.so’.
File /usr/lib64/libboost_filesystem-mt.so' was considered already. Considering target file
/usr/lib64/libboost_system-mt.so’.
File /usr/lib64/libboost_system-mt.so' was considered already. Considering target file
/usr/lib64/libboost_thread-mt.so’.
File /usr/lib64/libboost_thread-mt.so' was considered already. Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build.make’.
File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build.make' was considered already. Finished prerequisites of target file
gnuradio-core/src/lib/swig/_gnuradio_core_general.so’.
Must remake target
gnuradio-core/src/lib/swig/_gnuradio_core_general.so'. Need a job token; we don't have children Putting child 0x023c4d60 (gnuradio-core/src/lib/swig/_gnuradio_core_general.so) PID 533 on the chain. Commands of
gnuradio-core/src/lib/swig/_gnuradio_core_general.so’ are
being run.
Finished prerequisites of target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build'. The prerequisites of
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build’
are being made.
Live child 0x023c4d60
(gnuradio-core/src/lib/swig/_gnuradio_core_general.so) PID 533
Linking CXX shared module _gnuradio_core_general.so
Reaping winning child 0x023c4d60 PID 533
Live child 0x023c4d60
(gnuradio-core/src/lib/swig/_gnuradio_core_general.so) PID 535
Reaping winning child 0x023c4d60 PID 535
Removing child 0x023c4d60 PID 535 from chain.
Considering target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build'. File
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build’
does not exist.
Considering target file
gnuradio-core/src/lib/swig/_gnuradio_core_general.so'. File
gnuradio-core/src/lib/swig/_gnuradio_core_general.so’ was
considered already.
Finished prerequisites of target file
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build'. Must remake target
gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build’.
Successfully remade target file
`gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/build’.
Reaping winning child 0x012d6a10 PID 31163
Live child 0x012d6a10
(gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all)
PID
540
[ 92%] Reaping winning child 0x012d6a10 PID 540
Live child 0x012d6a10
(gnuradio-core/src/lib/swig/CMakeFiles/_gnuradio_core_general.dir/all)
PID
541
Built target _gnuradio_core_general
Reaping winning child 0x012d6a10 PID 541
Removing child 0x012d6a10 PID 541 from chain.
Reaping losing child 0x02436e20 PID 22163
make: *** [all] Error 2
Removing child 0x02436e20 PID 22163 from chain.
scap@Jupiter:~/Radio/gnuradio/build$
On 11/04/2011 09:27 PM, Jeff S. wrote:
Seems to have gotten farther this time. Hope this can help. Builds just
fine if I exclude the -j option.
Ok, Can you try my cmake_fixes branch?
http://gnuradio.org/cgit/jblum.git/log/?h=cmake_fixes
-josh
Not sure why this is but fails with -j 1 or -j 8.
Failing with
scap@Jupiter:~/Radio/jblum/build$ make -d -j8 > make.log
make[2]: *** No rule to make target filter_generated', needed by
gnuradio-core/src/lib/swig/gnuradio_core_io.tag’. Stop.
make[1]: ***
[gnuradio-core/src/lib/swig/CMakeFiles/pygen_gnuradio_core_src_lib_swig_8ad5f.dir/all]
Error 2
make[1]: *** Waiting for unfinished jobs…
cmake version 2.8.3
ubuntu 11.04
Will retry in a bit and report back.
On 11/04/2011 10:47 PM, Jeff S. wrote:
Not sure why this is but fails with -j 1 or -j 8.
Alright, so the challenge seem to be: make the code that generates the
swig c++ file depend on some generated files in another subdirectory
(filter and gengen).
Can you try the latest incarnation of my cmake_fixes branch?
Also, whats your OS (and version of cmake) so I can replicate it too.
Thanks,
-Josh
Alright, 3rd attempt is the charm. I also tried it on my 11.04 as well.
http://gnuradio.org/cgit/jblum.git/log/?h=cmake_fixes
-josh
Ok we build now!
However when I run make test I am failing qa_qtgui. This has never
happend
before what is the best way to debug.
–Jeff
On 11/05/2011 04:46 PM, Jeff S. wrote:
Ok we build now!
excellent
However when I run make test I am failing qa_qtgui. This has never happend
before what is the best way to debug.
I have known it to fail when an xserver is not available.
You can manually run the test like so, see what it prints:
/gr-qtgui/python/qa_qtgui_test.sh
-josh
Thanks for looking into this.
results below :-/ still failing.
============================================================
scap@Jupiter:~/Radio/jblum$ git pull
remote: Counting objects: 17, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9 (delta 7), reused 0 (delta 0)
Unpacking objects: 100% (9/9), done.
From git://gnuradio.org/jblum
0b3a4a2…e506d68 cmake_fixes -> origin/cmake_fixes
Updating 0b3a4a2…e506d68
Fast-forward
cmake/Modules/GrSwig.cmake | 12 ++++±------
gr-trellis/src/lib/CMakeLists.txt | 10 +++±-----
2 files changed, 9 insertions(+), 13 deletions(-)
scap@Jupiter:~/Radio/jblum$ cd build/
scap@Jupiter:~/Radio/jblum/build$ make clean
scap@Jupiter:~/Radio/jblum/build$ cmake …/
– Build type not specified: defaulting to release.
– Extracting version information from version.sh…
– Extracting version information from git describe…
– The build system will automatically enable all components.
– Use -DENABLE_DEFAULT=OFF to disable components by default.
– Configuring python-support support…
– Dependency PYTHONLIBS_FOUND = TRUE
– Dependency SWIG_FOUND = TRUE
– Enabling python-support support.
– Override with -DENABLE_PYTHON=ON/OFF
– Configuring testing-support support…
– Dependency CPPUNIT_FOUND = TRUE
– Enabling testing-support support.
– Override with -DENABLE_TESTING=ON/OFF
– Configuring volk support…
– Enabling volk support.
– Override with -DENABLE_VOLK=ON/OFF
– Available arches:
generic;64;3dnow;popcount;mmx;sse;sse2;orc;sse3;ssse3;sse4_a;sse4_1;sse4_2;avx
– Available machines:
generic;sse2_only;sse2_64;sse3_64;ssse3_64;sse4_a_64;sse4_1_64;sse4_2_64;avx_64
– checking for module ‘orc-0.4 > 0.4.11’
– package ‘orc-0.4 > 0.4.11’ not found
– Did not find liborc and orcc, disabling orc support…
– Using install prefix: /usr/local
– Configuring gruel support…
– Dependency Boost_FOUND = TRUE
– Dependency PYTHONINTERP_FOUND = TRUE
– Enabling gruel support.
– Override with -DENABLE_GRUEL=ON/OFF
– Configuring gnuradio-core support…
– Dependency ENABLE_GRUEL = ON
– Dependency ENABLE_VOLK = ON
– Dependency Boost_FOUND = TRUE
– Dependency GSL_FOUND = 1
– Dependency FFTW3F_FOUND = TRUE
– Dependency PYTHONINTERP_FOUND = TRUE
– Enabling gnuradio-core support.
– Override with -DENABLE_GR_CORE=ON/OFF
– Loading build date Sat, 05 Nov 2011 18:20:40 into gr_constants…
– Loading version 3.5.0rc0 into gr_constants…
– Python checking for python >= 2.5
– Python checking for python >= 2.5 - found
– Python checking for Cheetah >= 2.0.0
– Python checking for Cheetah >= 2.0.0 - found
– Python checking for lxml >= 1.3.6
– Python checking for lxml >= 1.3.6 - found
– Python checking for pygtk >= 2.10.0
– Python checking for pygtk >= 2.10.0 - found
– Python checking for numpy
– Python checking for numpy - found
– Configuring gnuradio-companion support…
– Dependency ENABLE_GR_CORE = ON
– Dependency ENABLE_PYTHON = ON
– Dependency PYTHON_MIN_VER_FOUND = TRUE
– Dependency CHEETAH_FOUND = TRUE
– Dependency LXML_FOUND = TRUE
– Dependency PYGTK_FOUND = TRUE
– Dependency NUMPY_FOUND = TRUE
– Enabling gnuradio-companion support.
– Override with -DENABLE_GRC=ON/OFF
– Configuring gr-atsc support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-atsc support.
– Override with -DENABLE_GR_ATSC=ON/OFF
– Configuring gr-audio support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-audio support.
– Override with -DENABLE_GR_AUDIO=ON/OFF
– Found ALSA 1.0.24.1
– Found jack: /usr/lib/libjack.so
– checking for module ‘portaudio-2.0’
– package ‘portaudio-2.0’ not found
– checking for module ‘comedilib’
– package ‘comedilib’ not found
– Configuring gr-comedi support…
– Dependency COMEDI_FOUND =
– Dependency LINUX = TRUE
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Disabling gr-comedi support.
– Override with -DENABLE_GR_COMEDI=ON/OFF
– Configuring gr-digital support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-digital support.
– Override with -DENABLE_GR_DIGITAL=ON/OFF
– Configuring gr-noaa support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-noaa support.
– Override with -DENABLE_GR_NOAA=ON/OFF
– Configuring gr-pager support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-pager support.
– Override with -DENABLE_GR_PAGER=ON/OFF
– Python checking for PyQt4
– Python checking for PyQt4 - found
– Configuring gr-qtgui support…
– Dependency Boost_FOUND = TRUE
– Dependency QT4_FOUND = YES
– Dependency QWT_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Dependency PYTHONLIBS_FOUND = TRUE
– Dependency PYQT4_FOUND = TRUE
– Enabling gr-qtgui support.
– Override with -DENABLE_GR_QTGUI=ON/OFF
– Configuring gr-trellis support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Dependency ENABLE_GR_DIGITAL = ON
– Enabling gr-trellis support.
– Override with -DENABLE_GR_TRELLIS=ON/OFF
– Configuring gr-uhd support…
– Dependency Boost_FOUND = TRUE
– Dependency UHD_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-uhd support.
– Override with -DENABLE_GR_UHD=ON/OFF
– Could NOT find SHD (missing: SHD_LIBRARIES SHD_INCLUDE_DIRS)
– Configuring gr-shd support…
– Dependency Boost_FOUND = TRUE
– Dependency SHD_FOUND = FALSE
– Dependency ENABLE_GR_CORE = ON
– Disabling gr-shd support.
– Override with -DENABLE_GR_SHD=ON/OFF
– Configuring gr-utils support…
– Dependency ENABLE_GR_CORE = ON
– Dependency ENABLE_PYTHON = ON
– Enabling gr-utils support.
– Override with -DENABLE_GR_UTILS=ON/OFF
– Configuring gr-video-sdl support…
– Dependency SDL_FOUND = YES
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-video-sdl support.
– Override with -DENABLE_GR_VIDEO_SDL=ON/OFF
– Configuring gr-vocoder support…
– Dependency Boost_FOUND = TRUE
– Dependency ENABLE_GR_CORE = ON
– Enabling gr-vocoder support.
– Override with -DENABLE_GR_VOCODER=ON/OFF
– Python checking for wx >= 2.8
– Python checking for wx >= 2.8 - found
– Python checking for numpy
– Python checking for numpy - found
– Configuring gr-wxgui support…
– Dependency ENABLE_GR_CORE = ON
– Dependency ENABLE_PYTHON = ON
– Dependency NUMPY_FOUND = TRUE
– Dependency WX_FOUND = TRUE
– Enabling gr-wxgui support.
– Override with -DENABLE_GR_WXGUI=ON/OFF
– Configuring doxygen support…
– Dependency DOXYGEN_FOUND = YES
– Enabling doxygen support.
– Override with -DENABLE_DOXYGEN=ON/OFF
– ######################################################
– # Gnuradio enabled components
– ######################################################
– * python-support
– * testing-support
– * volk
– * gruel
– * gnuradio-core
– * gnuradio-companion
– * gr-atsc
– * gr-audio
– * gr-digital
– * gr-noaa
– * gr-pager
– * gr-qtgui
– * gr-trellis
– * gr-uhd
– * gr-utils
– * gr-video-sdl
– * gr-vocoder
– * gr-wxgui
– * doxygen
– ######################################################
– # Gnuradio disabled components
– ######################################################
– * gr-comedi
– * gr-shd
– Using install prefix: /usr/local
– Building for version: 3.5.0rc0 / 3.5.0rc0
– Configuring done
– Generating done
– Build files have been written to: /home/scap/Radio/jblum/build
scap@Jupiter:~/Radio/jblum/build$ cmake -d -j8 > build.log
CMake Error: The source directory “/home/scap/Radio/jblum/build/-j8”
does
not exist.
Specify --help for usage, or press the help button on the CMake GUI.
scap@Jupiter:~/Radio/jblum/build$ make -d -j8 > build.log
make[2]: *** No rule to make target audio_swig_tag', needed by
gr-audio/swig/audio_swigPYTHON_wrap.cxx’. Stop.
make[1]: ***
[gr-audio/swig/CMakeFiles/pygen_gr_audio_swig_ca7b6.dir/all]
Error 2
make[1]: *** Waiting for unfinished jobs…
make: *** [all] Error 2
scap@Jupiter:~/Radio/jblum/build$ make -d -j1 > build.log
make[2]: *** No rule to make target pmt_swig_tag', needed by
gruel/src/swig/pmt_swigPYTHON_wrap.cxx’. Stop.
make[1]: *** [gruel/src/swig/CMakeFiles/_pmt_swig.dir/all] Error 2
make: *** [all] Error 2
scap@Jupiter:~/Radio/jblum/build$ make -d -j1 > build.log
make[2]: *** No rule to make target pmt_swig_tag', needed by
gruel/src/swig/pmt_swigPYTHON_wrap.cxx’. Stop.
make[1]: *** [gruel/src/swig/CMakeFiles/_pmt_swig.dir/all] Error 2
make: *** [all] Error 2
scap@Jupiter:~/Radio/jblum/build$