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

Installation errors #150

Closed sequelOoO closed 3 years ago

sequelOoO commented 3 years ago

hey!Thank you for the code, and I have some problems when installing fmm in my computer. My computer system is Windows 10. I have installed cygwin and the required libraries. Could you tell me how to solve these problems ? Thanks `$ cmake .. -- CMAKE version 3.17.3 -- 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 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc - works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++.exe -- Check for working CXX compiler: /usr/bin/c++.exe - works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done

conda environments:

# base * D:\Anaconda py36 D:\Anaconda\envs\py36 pytorch D:\Anaconda\envs\pytorch pytorch_cpu D:\Anaconda\envs\pytorch_cpu spark_py37 D:\Anaconda\envs\spark_py37 tf D:\Anaconda\envs\tf tf17 D:\Anaconda\envs\tf17

-- Found Conda: D:\Anaconda -- Set CONDA_PREFIX D:\Anaconda -- Found ZLIB: /usr/lib/libz.dll.a (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 - Success -- 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/libexpat.dll.a (found version "2.2.6") -- Found BZip2: /usr/lib/libbz2.dll.a (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/libz.dll.a;/usr/lib/libexpat.dll.a;/usr/lib/libbz2.dll.a -- Found GDAL: /usr/lib/libgdal.dll.a (found suitable version "3.0.4", minimum required is "2.2") -- GDAL headers found at /usr/include -- GDAL library found at /usr/lib/libgdal.dll.a -- Found Boost: /usr/include (found suitable version "1.66.0", minimum required is "1.56.0") found components: serialization -- Boost headers found at /usr/include -- Boost library found at /usr/lib/libboost_serialization.dll.a -- Boost library version 1_66 -- 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-pc-cygwin/10/libgomp.dll.a -- Copy h3 header to third_party/h3/src/h3lib/include/h3api.h -- Installation folder /usr/local -- Found SWIG: /usr/bin/swig.exe (found version "3.0.12") -- Swig version is 3.0.12 -- Found PythonInterp: /usr/bin/python2.7.exe (found suitable version "2.7.18", minimum required is "2.7") -- Found PythonLibs: /usr/lib/libpython2.7.dll.a (found suitable version "3.7.4", minimum required is "2.7") -- Python header found at D:/Anaconda/include -- Python library found at /usr/lib/libpython2.7.dll.a -- Python packages /usr/lib/python2.7/site-packages -- Using swig add library -- Configuring done -- Generating done -- Build files have been written to: /home/续集/fmm/build `

`$ make -j8 Scanning dependencies of target COREScanning dependencies of target NETWORKScann ing dependencies of target IOScanning dependencies of target ALGORITHMScanning d ependencies of target CONFIG

Scanning dependencies of target MM_OBJ Scanning dependencies of target UTIL Scanning dependencies of target FMM_OBJ [ 1%] Building CXX object CMakeFiles/UTIL.dir/src/util/util.cpp.o [ 3%] [ 5%] Building CXX object CMakeFiles/ALGORITHM.dir/src/algorithm/geom_algorithm.cpp.oBuilding CXX object CMakeFiles/CORE.dir/src/core/geometry.cpp.o

[ 11%] [ 11%] [ 11%] Building CXX object CMakeFiles/NETWORK.dir/src/network/bidirectional_network_graph.cpp.oBuilding CXX object CMakeFiles/MM_OBJ.dir/src/mm/composite_graph.cpp.oBuilding CXX object CMakeFiles/IO.dir/src/io/gps_reader.cpp.o

[ 13%] Building CXX object CMakeFiles/CONFIG.dir/src/config/gps_config.cpp.o [ 15%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/fmm_algorithm.cpp.o [ 15%] Built target UTIL Scanning dependencies of target STMATCH_OBJ [ 17%] Building CXX object CMakeFiles/STMATCH_OBJ.dir/src/mm/stmatch/stmatch_alg orithm.cpp.o [ 17%] Built target CORE Scanning dependencies of target H3_OBJ [ 19%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/algo s.c.o [ 21%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/base Cells.c.o [ 23%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/bbox .c.o [ 25%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/coor dijk.c.o [ 26%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/face ijk.c.o [ 28%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/geoC oord.c.o [ 30%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3In dex.c.o [ 32%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/h3Un iEdge.c.o [ 34%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/link edGeo.c.o [ 36%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/loca lij.c.o [ 38%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/math Extensions.c.o [ 40%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/poly gon.c.o [ 42%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec2 d.c.o [ 44%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vec3 d.c.o [ 46%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vert ex.c.o [ 48%] Building C object CMakeFiles/H3_OBJ.dir/third_party/h3/src/h3lib/lib/vert exGraph.c.o [ 48%] Built target H3_OBJ Scanning dependencies of target pyfmm_swig_compilation [ 50%] Swig compile /home/续集/fmm/python/fmm.i for python /home/续集/fmm/src/mm/h3mm/h3mm.hpp:30: Warning 314: 'print' is a python keyword, renaming to '_print' [ 50%] Built target pyfmm_swig_compilation [ 51%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/fmm_app.cpp.o [ 51%] Built target ALGORITHM [ 53%] Building CXX object CMakeFiles/STMATCH_OBJ.dir/src/mm/stmatch/stmatch_app .cpp.o [ 55%] Building CXX object CMakeFiles/MM_OBJ.dir/src/mm/transition_graph.cpp.o [ 57%] Building CXX object CMakeFiles/NETWORK.dir/src/network/network.cpp.o [ 59%] Building CXX object CMakeFiles/CONFIG.dir/src/config/network_config.cpp.o [ 61%] Building CXX object CMakeFiles/IO.dir/src/io/mm_writer.cpp.o [ 63%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/fmm_app_config.cpp. o [ 65%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/ubodt.cpp.o [ 67%] Building CXX object CMakeFiles/STMATCH_OBJ.dir/src/mm/stmatch/stmatch_app _config.cpp.o [ 69%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/ubodt_gen_algorithm .cpp.o [ 69%] Built target MM_OBJ [ 71%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/ubodt_gen_app.cpp.o In file included from /home/续集/fmm/third_party/libosmium/include/osmium/osm/area.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:38, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: In member function ‘void osmium::OSMObject::set_user_size(osmium::string_size_type)’, inlined from ‘osmium::builder::OSMObjectBuilder<TDerived, T>::OSMObjectBuilder(osmium::memory::Buffer&, osmium::builder::Builder) [with TDerived = osmium::builder::NodeBuilder; T = osmium::Node]’ at /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:415:39, inlined from ‘osmium::builder::NodeBuilder::NodeBuilder(osmium::memory::Buffer&, osmium::builder::Builder)’ at /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:520:67, inlined from ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_dense_nodes(const protozero::data_view&)’ at /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/pbf_decoder.hpp:627:70: /home/续集/fmm/third_party/libosmium/include/osmium/osm/object.hpp:109:67: warning: writing 2 bytes into a region of size 0 [-Wstringop-overflow=] 109 | reinterpret_cast<string_size_type>(user_position()) = siz ; | ~~~~~~~~~~~~^~~ In file included from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:43, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: /home/续集/fmm/third_party/libosmium/include/osmium/osm/node.hpp: In function ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_dense_nodes(const protozero::data_view&)’: /home/续集/fmm/third_party/libosmium/include/osmium/osm/node.hpp:48:11: note: at offset 0 to object ‘osmium::Node::’ with size 32 declared here 48 | class Node : public OSMObject { | ^~~~ [ 71%] Built target IO [ 73%] Building CXX object CMakeFiles/FMM_OBJ.dir/src/mm/fmm/ubodt_gen_app_confi g.cpp.o In file included from /home/续集/fmm/third_party/libosmium/include/osmium/osm/area.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:38, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: In member function ‘TDerived& osmium::builder::OSMObjectBuilder<TDerived, T>::set_user(const char, osmium::string_size_type) [with TDerived = osmium::builder::WayBuilder; T = osmium::Way]’, inlined from ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_way(const protozero::data_view&)’ at /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/pbf_decoder.hpp:366:61: /home/续集/fmm/third_party/libosmium/include/osmium/osm/object.hpp:109:67: warning: writing 2 bytes into a region of size 0 [-Wstringop-overflow=] 109 | reinterpret_cast<string_size_type>(user_position()) = size; | ~~~~~~~~~~~~^~~~ In file included from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:50, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: /home/续集/fmm/third_party/libosmium/include/osmium/osm/way.hpp: In member function ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_way(const protozero::data_view&)’: /home/续集/fmm/third_party/libosmium/include/osmium/osm/way.hpp:73:11: note: at offset 0 to object ‘osmium::Way::’ with size 32 declared here 73 | class Way : public OSMObject { | ^~~ In file included from /home/续集/fmm/third_party/libosmium/include/osmium/osm/area.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:38, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: In member function ‘TDerived& osmium::builder::OSMObjectBuilder<TDerived, T>::set_user(const char, osmium::string_size_type) [with TDerived = osmium::builder::RelationBuilder; T = osmium::Relation]’, inlined from ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_relation(const protozero::data_view&)’ at /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/pbf_decoder.hpp:438:61: /home/续集/fmm/third_party/libosmium/include/osmium/osm/object.hpp:109:67: warning: writing 2 bytes into a region of size 0 [-Wstringop-overflow=] 109 | reinterpret_cast<string_size_type>(user_position()) = size; | ~~~~~~~~~~~~^~~~ In file included from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:46, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: /home/续集/fmm/third_party/libosmium/include/osmium/osm/relation.hpp: In member function ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_relation(const protozero::data_view&)’: /home/续集/fmm/third_party/libosmium/include/osmium/osm/relation.hpp:169:11: note: at offset 0 to object ‘osmium::Relation::’ with size 32 declared here 169 | class Relation : public OSMObject { | ^~~~ In file included from /home/续集/fmm/third_party/libosmium/include/osmium/osm/area.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:38, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: In member function ‘void osmium::OSMObject::set_user_size(osmium::string_size_type)’, inlined from ‘osmium::builder::OSMObjectBuilder<TDerived, T>::OSMObjectBuilder(osmium::memory::Buffer&, osmium::builder::Builder) [with TDerived = osmium::builder::NodeBuilder; T = osmium::Node]’ at /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:415:39, inlined from ‘osmium::builder::NodeBuilder::NodeBuilder(osmium::memory::Buffer&, osmium::builder::Builder)’ at /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:520:67, inlined from ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_dense_nodes_without_metadata(const protozero::data_view&)’ at /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/pbf_decoder.hpp:520:70, inlined from ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_primitive_block_data()’ at /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/pbf_decoder.hpp:158:80: /home/续集/fmm/third_party/libosmium/include/osmium/osm/object.hpp:109:67: warning: writing 2 bytes into a region of size 0 [-Wstringop-overflow=] 109 | reinterpret_cast<string_size_type>(user_position()) = siz ; | ~~~~~~~~~~~~^~~ In file included from /home/续集/fmm/third_party/libosmium/include/osmium/builder/osm_object_builder.hpp:43, from /home/续集/fmm/third_party/libosmium/include/osmium/io/detail/o5m_input_format.hpp:36, from /home/续集/fmm/third_party/libosmium/include/osmium/io/o5m_input.hpp:42, from /home/续集/fmm/third_party/libosmium/include/osmium/io/any_input.hpp:48, from /home/续集/fmm/src/network/osm_network_reader.hpp:24, from /home/续集/fmm/src/network/network.cpp:18: /home/续集/fmm/third_party/libosmium/include/osmium/osm/node.hpp: In member function ‘void osmium::io::detail::PBFPrimitiveBlockDecoder::decode_primitive_block_data()’: /home/续集/fmm/third_party/libosmium/include/osmium/osm/node.hpp:48:11: note: at offset 0 to object ‘osmium::Node::’ with size 32 declared here offset 0 to object ‘osmium::Node::’ with size 32 declared here 48 | class Node : public OSMObject { | ^~~~ [ 75%] Building CXX object CMakeFiles/CONFIG.dir/src/config/result_config.cpp.o [ 76%] Building CXX object CMakeFiles/NETWORK.dir/src/network/network_graph.cpp. o [ 78%] Building CXX object CMakeFiles/NETWORK.dir/src/network/rtree.cpp.o [ 78%] Built target STMATCH_OBJ [ 78%] Built target CONFIG [ 78%] Built target FMM_OBJ [ 78%] Built target NETWORK Scanning dependencies of target FMMLIB [ 80%] Linking CXX shared library cygFMMLIB.dll [ 80%] Built target FMMLIB Scanning dependencies of target ubodt_genScanning dependencies of target h3mmSca nning dependencies of target stmatchScanning dependencies of target fmmScanning dependencies of target pyfmm

[ 82%] Building CXX object CMakeFiles/ubodt_gen.dir/src/app/ubodt_gen_app.cpp.o [ 84%] Building CXX object CMakeFiles/stmatch.dir/src/app/stmatch.cpp.o[ 88%] [ 88%] Building CXX object CMakeFiles/fmm.dir/src/app/fmm.cpp.oBuilding CXX object CMakeFiles/h3mm.dir/src/app/h3mm.cpp.o

[ 90%] Building CXX object python/CMakeFiles/pyfmm.dir/CMakeFiles/pyfmm.dir/fmmP YTHON_wrap.cxx.o In file included from D:/Anaconda/include/Python.h:63, from /home/续集/fmm/build/python/CMakeFiles/pyfmm.dir/fmmPYTHON_wrap.cxx:173: D:/Anaconda/include/pyport.h:699:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." 699 | #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." | ^~~~~ In file included from D:/Anaconda/include/Python.h:156, from /home/续集/fmm/build/python/CMakeFiles/pyfmm.dir/fmmPYTHON_wrap.cxx:173: D:/Anaconda/include/fileutils.h:85:5: error: ‘int64’ does not name a type; did you mean ‘int64_t’? 85 | __int64 st_size; | ^~~ | __int64_t In file included from /usr/include/sys/stat.h:22, from D:/Anaconda/include/pyport.h:224, from D:/Anaconda/include/Python.h:63, from /home/续集/fmm/build/python/CMakeFiles/pyfmm.dir/fmmPYTHON | ^~~~ D:/Anaconda/include/fileutils.h:88:12: error: expected ‘;’ at end of member declaration 88 | time_t st_mtime; | ^~~~ D:/Anaconda/include/fileutils.h:88:12: error: expected unqualified-id before ‘.’ token 88 | time_t st_mtime; | ^~~~ D:/Anaconda/include/fileutils.h:90:12: error: expected ‘;’ at end of member declaration 90 | time_t st_ctime; | ^~~~ D:/Anaconda/include/fileutils.h:90:12: error: expected unqualified-id before ‘.’ token 90 | time_t st_ctime; | ^~~~ [ 92%] Linking CXX executable ubodt_gen.exe [ 92%] Built target ubodt_gen make[2]: [python/CMakeFiles/pyfmm.dir/build.make:83: python/CMakeFiles/pyfmm .dir/CMakeFiles/pyfmm.dir/fmmPYTHON_wrap.cxx.o] Error 1 make[1]: [CMakeFiles/Makefile2:613: python/CMakeFiles/pyfmm.dir/all] Error 2make[1]: Waiting for unfinished jobs.... [ 94%] Linking CXX executable stmatch.exe [ 96%] Linking CXX executable fmm.exe [ 96%] Built target stmatch [ 96%] Built target fmm [ 98%] Linking CXX executable h3mm.exe [ 98%] Built target h3mm make: [Makefile:150: all] Error 2 `

cyang-kth commented 3 years ago

On Windows, everything should be inside the cygwin environment. Your anaconda installed for the Windows 10 system does not work inside the anaconda. I think you need to install also anaconda inside the cygwin. Another issue is Chinese characters under the path/folder name, which might also be a problem when fixing the paths.

Another alternative is to create VM for Ubuntu to install everything, which may be a cleaner way.