cyang-kth / fmm

Fast map matching, an open source framework in C++
https://fmm-wiki.github.io/
Apache License 2.0
884 stars 211 forks source link

"make -j1" vs "make -j4" differences #135

Closed ImreSamu closed 3 years ago

ImreSamu commented 3 years ago

Thank you for this tool!

Describe the issue

not critical .. but strange ; I don't know it is a know issue or not .. ( but I have spent ~ half hour to debug this )

Workaround: --> strictly make -j4 ( as in the install doc example )

ENV: debian:bullseye + conda + gcc:10.2.0 + cmake:3.18.4

-- Generating done
-- Build files have been written to: /tools/fmm/build
Scanning dependencies of target H3_OBJ
[  1%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/algos.c.o
[  3%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/baseCells.c.o
[  5%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/bbox.c.o
[  7%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/coordijk.c.o
[  8%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/faceijk.c.o
[ 10%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/geoCoord.c.o
[ 12%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3Index.c.o
[ 14%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3UniEdge.c.o
[ 16%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/linkedGeo.c.o
[ 17%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/localij.c.o
[ 19%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/mathExtensions.c.o
[ 21%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/polygon.c.o
[ 23%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec2d.c.o
[ 25%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec3d.c.o
[ 26%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vertex.c.o
[ 28%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vertexGraph.c.o
[ 28%] Built target H3_OBJ
Scanning dependencies of target h3mm
[ 30%] Building CXX object CMakeFiles/h3mm.dir/src/app/h3mm.cpp.o
make[2]: *** No rule to make target 'CMakeFiles/CONFIG.dir/src/config/gps_config.cpp.o', needed by 'h3mm'.  Stop.
make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/h3mm.dir/all] Error 2
make: *** [Makefile:149: all] Error 2
The command '/bin/sh -c cd fmm     && mkdir build     && cd build     && ldconfig     && cmake ..       -DPYTHON_LIBRARY=/opt/conda/lib/libpython${CONDA_PYTHON_VER}.so       -DPYTHON_INCLUDE_DIR=/opt/conda/include/python${CONDA_PYTHON_VER}     && make -j1     && make install' returned a non-zero code: 2
make: *** [Makefile:152: build] Error 2
Full cmake log - with `make j1` ``` Step 51/53 : RUN cd fmm && mkdir build && cd build && ldconfig && cmake .. -DPYTHON_LIBRARY=/opt/conda/lib/libpython${CONDA_PYTHON_VER}.so -DPYTHON_INCLUDE_DIR=/opt/conda/include/python${CONDA_PYTHON_VER} && make -j1 && make install ---> Running in f5e6abce902d -- CMAKE version 3.18.4 -- Set CMP0074 state to NEW -- Set CMP0086 state to NEW -- Set CMP0078 state to NEW -- The C compiler identification is GNU 10.2.0 -- The CXX compiler identification is GNU 10.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found Protozero: third_party/protozero/include (found suitable version "1.6.2", minimum required is "1.5.1") -- Found EXPAT: /usr/lib/x86_64-linux-gnu/libexpat.so (found version "2.2.10") -- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.8") -- Looking for BZ2_bzCompressInit -- Looking for BZ2_bzCompressInit - found -- Found Osmium: third_party/libosmium/include -- OSMium found at third_party/libosmium/include;/usr/include;third_party/protozero/include -- OSMium library found at /usr/lib/x86_64-linux-gnu/libz.so;-lpthread;/usr/lib/x86_64-linux-gnu/libexpat.so;/usr/lib/x86_64-linux-gnu/libbz2.so -- Found GDAL: /opt/conda/lib/libgdal.so (found suitable version "3.1.4", minimum required is "2.2") -- GDAL headers found at /usr/include/gdal -- GDAL library found at /opt/conda/lib/libgdal.so -- Found Boost: /opt/conda/lib/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.54.0") found components: serialization -- Boost headers found at /opt/conda/include -- Boost library found at Boost::serialization -- Boost library version 1_74 -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5") -- OpenMP_HEADERS found at -- OpenMP_CXX_LIBRARIES found at /usr/lib/gcc/x86_64-linux-gnu/10/libgomp.so;/usr/lib/x86_64-linux-gnu/libpthread.so -- Copy h3 header to third_party/h3/src/h3lib/include/h3api.h -- Found SWIG: /usr/bin/swig4.0 (found version "4.0.1") -- Swig version is 4.0.1 -- Found PythonLibs: /opt/conda/lib/libpython3.8.so (found suitable version "3.8.6", minimum required is "2.7") -- Python header found at /opt/conda/include/python3.8 -- Python library found at /opt/conda/lib/libpython3.8.so -- Include h3 headers at /tools/fmm/build/third_party/h3/src/h3lib/include;/tools/fmm/third_party/h3/src/h3lib/include -- Using swig add library -- Configuring done CMake Warning at CMakeLists.txt:164 (add_executable): Cannot generate a safe runtime search path for target h3mm because files in some directories may conflict with libraries in implicit directories: runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at CMakeLists.txt:136 (add_executable): Cannot generate a safe runtime search path for target stmatch because files in some directories may conflict with libraries in implicit directories: runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at CMakeLists.txt:107 (add_executable): Cannot generate a safe runtime search path for target fmm because files in some directories may conflict with libraries in implicit directories: runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at CMakeLists.txt:121 (add_executable): Cannot generate a safe runtime search path for target ubodt_gen because files in some directories may conflict with libraries in implicit directories: runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at /usr/share/cmake-3.18/Modules/UseSWIG.cmake:750 (add_library): Cannot generate a safe runtime search path for target pyfmm because files in some directories may conflict with libraries in implicit directories: runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. Call Stack (most recent call first): python/CMakeLists.txt:68 (SWIG_ADD_LIBRARY) CMake Warning at python/CMakeLists.txt:40 (add_library): Cannot generate a safe runtime search path for target pyfmmlib because files in some directories may conflict with libraries in implicit directories: runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at test/CMakeLists.txt:28 (add_executable): Cannot generate a safe runtime search path for target network_test because files in some directories may conflict with libraries in implicit directories: runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at test/CMakeLists.txt:18 (add_executable): Cannot generate a safe runtime search path for target network_graph_test because files in some directories may conflict with libraries in implicit directories: runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. CMake Warning at test/CMakeLists.txt:6 (add_executable): Cannot generate a safe runtime search path for target fmm_test because files in some directories may conflict with libraries in implicit directories: runtime library [libgomp.so.1] in /usr/lib/gcc/x86_64-linux-gnu/10 may be hidden by files in: /opt/conda/lib runtime library [libz.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libexpat.so.1] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib runtime library [libbz2.so.1.0] in /usr/lib/x86_64-linux-gnu may be hidden by files in: /opt/conda/lib Some of these libraries may not be found correctly. -- Generating done -- Build files have been written to: /tools/fmm/build Scanning dependencies of target H3_OBJ [ 1%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/algos.c.o [ 3%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/baseCells.c.o [ 5%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/bbox.c.o [ 7%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/coordijk.c.o [ 8%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/faceijk.c.o [ 10%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/geoCoord.c.o [ 12%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3Index.c.o [ 14%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3UniEdge.c.o [ 16%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/linkedGeo.c.o [ 17%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/localij.c.o [ 19%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/mathExtensions.c.o [ 21%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/polygon.c.o [ 23%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec2d.c.o [ 25%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec3d.c.o [ 26%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vertex.c.o [ 28%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vertexGraph.c.o [ 28%] Built target H3_OBJ Scanning dependencies of target h3mm [ 30%] Building CXX object CMakeFiles/h3mm.dir/src/app/h3mm.cpp.o make[2]: *** No rule to make target 'CMakeFiles/CONFIG.dir/src/config/gps_config.cpp.o', needed by 'h3mm'. Stop. make[1]: *** [CMakeFiles/Makefile2:174: CMakeFiles/h3mm.dir/all] Error 2 make: *** [Makefile:149: all] Error 2 The command '/bin/sh -c cd fmm && mkdir build && cd build && ldconfig && cmake .. -DPYTHON_LIBRARY=/opt/conda/lib/libpython${CONDA_PYTHON_VER}.so -DPYTHON_INCLUDE_DIR=/opt/conda/include/python${CONDA_PYTHON_VER} && make -j1 && make install' returned a non-zero code: 2 make: *** [Makefile:152: build] Error 2 ```

Expected behavior

make -j1 is working ..

make -j4 is OK

- Generating done
-- Build files have been written to: /tools/fmm/build
Scanning dependencies of target H3_OBJ
Scanning dependencies of target ALGORITHM
Scanning dependencies of target IO
[  1%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/algos.c.o
[  3%] Building CXX object CMakeFiles/ALGORITHM.dir/src/algorithm/geom_algorithm.cpp.o
[  5%] Building CXX object CMakeFiles/IO.dir/src/io/gps_reader.cpp.o
Scanning dependencies of target NETWORK
[  7%] Building CXX object CMakeFiles/NETWORK.dir/src/network/bidirectional_network_graph.cpp.o
[  8%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/baseCells.c.o
[ 10%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/bbox.c.o
[ 12%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/coordijk.c.o
[ 14%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/faceijk.c.o
[ 16%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/geoCoord.c.o
[ 17%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3Index.c.o
[ 19%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3UniEdge.c.o
[ 21%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/linkedGeo.c.o
[ 23%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/localij.c.o
[ 25%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/mathExtensions.c.o
[ 26%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/polygon.c.o
[ 28%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec2d.c.o
[ 30%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec3d.c.o
[ 32%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vertex.c.o
[ 33%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vertexGraph.c.o
[ 33%] Built target H3_OBJ
Scanning dependencies of target CONFIG
[ 35%] Building CXX object CMakeFiles/CONFIG.dir/src/config/gps_config.cpp.o
[ 35%] Built target ALGORITHM
[ 37%] Building CXX object CMakeFiles/IO.dir/src/io/mm_writer.cpp.o
[ 39%] Building CXX object CMakeFiles/NETWORK.dir/src/network/network.cpp.o
[ 41%] Building CXX object CMakeFiles/CONFIG.dir/src/config/network_config.cpp.o
[ 42%] Building CXX object CMakeFiles/NETWORK.dir/src/network/network_graph.cpp.o
[ 42%] Built target IO
Scanning dependencies of target MM_OBJ
[ 44%] Building CXX object CMakeFiles/MM_OBJ.dir/src/mm/composite_graph.cpp.o
...
ImreSamu commented 3 years ago

ouch .. I was slow to creating an issue ..
As I see it is fixed .. https://github.com/cyang-kth/fmm/commit/dc9518c3cf53e05f09c8c21f0203932da02335ef Thanks!