Herrtian / PicoscenesToolbox

An official tool to parsing picosecenes files
MIT License
20 stars 5 forks source link

install error might related to C++? #6

Closed evileleven closed 6 days ago

evileleven commented 1 week ago

When I install the package, it gives the below error even with a totally new python3.8 virtual environment. Do you have any idea about it?

In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:9, from ./picoscenes.cpp:1291: ./rxs_parsing_core/PicoScenesFrameTxParameters.hxx: In member function ‘void PicoScenesFrameTxParameters::applyPreset(const string&)’: ./rxs_parsing_core/PicoScenesFrameTxParameters.hxx:65:49: error: ‘const class std::map<std::__cxx11::basic_string, std::shared_ptr >’ has no member named ‘contains’ if (!FrontEndModePreset::getPresetMap().contains(presetName)) ^~~~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:11, from ./picoscenes.cpp:1291: ./rxs_parsing_core/CSISegment.hxx: At global scope: ./rxs_parsing_core/CSISegment.hxx:299:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/CSISegment.hxx:299:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/CSISegment.hxx:1:1: +#include // ./rxs_parsing_core/CSISegment.hxx:299:36: static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/CSISegment.hxx:299:91: error: template argument 2 is invalid static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/CSISegment.hxx:299:91: error: template argument 4 is invalid ./rxs_parsing_core/CSISegment.hxx:299:92: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/CSISegment.hxx:301:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/CSISegment.hxx:301:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/CSISegment.hxx:301:91: error: template argument 2 is invalid static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/CSISegment.hxx:301:91: error: template argument 4 is invalid ./rxs_parsing_core/CSISegment.hxx:301:92: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:12, from ./picoscenes.cpp:1291: ./rxs_parsing_core/RxSBasicSegment.hxx:69:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/RxSBasicSegment.hxx:69:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/RxSBasicSegment.hxx:1:1: +#include // ./rxs_parsing_core/RxSBasicSegment.hxx:69:36: static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/RxSBasicSegment.hxx:69:79: error: template argument 2 is invalid static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/RxSBasicSegment.hxx:69:79: error: template argument 4 is invalid ./rxs_parsing_core/RxSBasicSegment.hxx:69:80: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/RxSBasicSegment.hxx:71:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/RxSBasicSegment.hxx:71:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/RxSBasicSegment.hxx:71:79: error: template argument 2 is invalid static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/RxSBasicSegment.hxx:71:79: error: template argument 4 is invalid ./rxs_parsing_core/RxSBasicSegment.hxx:71:80: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<RxSBasic(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:13, from ./picoscenes.cpp:1291: ./rxs_parsing_core/ExtraInfoSegment.hxx:29:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<ExtraInfo(const uint8_t *, uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/ExtraInfoSegment.hxx:29:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/ExtraInfoSegment.hxx:11:1: +#include

./rxs_parsing_core/ExtraInfoSegment.hxx:29:36: static std::map<uint16_t, std::function<ExtraInfo(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/ExtraInfoSegment.hxx:29:80: error: template argument 2 is invalid static std::map<uint16_t, std::function<ExtraInfo(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/ExtraInfoSegment.hxx:29:80: error: template argument 4 is invalid ./rxs_parsing_core/ExtraInfoSegment.hxx:29:81: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<ExtraInfo(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/ExtraInfoSegment.hxx:31:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<ExtraInfo(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/ExtraInfoSegment.hxx:31:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/ExtraInfoSegment.hxx:31:80: error: template argument 2 is invalid static std::map<uint16_t, std::function<ExtraInfo(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/ExtraInfoSegment.hxx:31:80: error: template argument 4 is invalid ./rxs_parsing_core/ExtraInfoSegment.hxx:31:81: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<ExtraInfo(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:14, from ./picoscenes.cpp:1291: ./rxs_parsing_core/MVMExtraSegment.hxx:63:49: error: ‘function’ in namespace ‘std’ does not name a template type static void setHeaderManipulator(const std::function<void(IntelMVMParsedCSIHeader &)> &headerManipulator); ^~~~ ./rxs_parsing_core/MVMExtraSegment.hxx:63:44: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/MVMExtraSegment.hxx:11:1: +#include

./rxs_parsing_core/MVMExtraSegment.hxx:63:44: static void setHeaderManipulator(const std::function<void(IntelMVMParsedCSIHeader &)> &headerManipulator); ^~~ ./rxs_parsing_core/MVMExtraSegment.hxx:63:57: error: expected ‘,’ or ‘...’ before ‘<’ token static void setHeaderManipulator(const std::function<void(IntelMVMParsedCSIHeader &)> &headerManipulator); ^ ./rxs_parsing_core/MVMExtraSegment.hxx:72:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<IntelMVMExtraInfo(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/MVMExtraSegment.hxx:72:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/MVMExtraSegment.hxx:72:88: error: template argument 2 is invalid static std::map<uint16_t, std::function<IntelMVMExtraInfo(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/MVMExtraSegment.hxx:72:88: error: template argument 4 is invalid ./rxs_parsing_core/MVMExtraSegment.hxx:72:89: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<IntelMVMExtraInfo(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/MVMExtraSegment.hxx:74:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<IntelMVMExtraInfo(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/MVMExtraSegment.hxx:74:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/MVMExtraSegment.hxx:74:88: error: template argument 2 is invalid static std::map<uint16_t, std::function<IntelMVMExtraInfo(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/MVMExtraSegment.hxx:74:88: error: template argument 4 is invalid ./rxs_parsing_core/MVMExtraSegment.hxx:74:89: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<IntelMVMExtraInfo(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ ./rxs_parsing_core/MVMExtraSegment.hxx:76:17: error: ‘function’ in namespace ‘std’ does not name a template type static std::function<void(IntelMVMParsedCSIHeader &)> headerManipulator; ^~~~ ./rxs_parsing_core/MVMExtraSegment.hxx:76:12: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? static std::function<void(IntelMVMParsedCSIHeader &)> headerManipulator; ^~~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:15, from ./picoscenes.cpp:1291: ./rxs_parsing_core/SDRExtraSegment.hxx:52:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<SDRExtra(const uint8_t *, uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/SDRExtraSegment.hxx:52:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/SDRExtraSegment.hxx:9:1: +#include

include "AbstractPicoScenesFrameSegment.hxx"

./rxs_parsing_core/SDRExtraSegment.hxx:52:36: static std::map<uint16_t, std::function<SDRExtra(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/SDRExtraSegment.hxx:52:79: error: template argument 2 is invalid static std::map<uint16_t, std::function<SDRExtra(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/SDRExtraSegment.hxx:52:79: error: template argument 4 is invalid ./rxs_parsing_core/SDRExtraSegment.hxx:52:80: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<SDRExtra(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/SDRExtraSegment.hxx:54:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<SDRExtra(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/SDRExtraSegment.hxx:54:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/SDRExtraSegment.hxx:54:79: error: template argument 2 is invalid static std::map<uint16_t, std::function<SDRExtra(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/SDRExtraSegment.hxx:54:79: error: template argument 4 is invalid ./rxs_parsing_core/SDRExtraSegment.hxx:54:80: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<SDRExtra(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:17, from ./picoscenes.cpp:1291: ./rxs_parsing_core/PayloadSegment.hxx:57:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/PayloadSegment.hxx:57:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/PayloadSegment.hxx:1:1: +#include // ./rxs_parsing_core/PayloadSegment.hxx:57:36: static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/PayloadSegment.hxx:57:82: error: template argument 2 is invalid static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/PayloadSegment.hxx:57:82: error: template argument 4 is invalid ./rxs_parsing_core/PayloadSegment.hxx:57:83: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/PayloadSegment.hxx:59:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/PayloadSegment.hxx:59:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/PayloadSegment.hxx:59:82: error: template argument 2 is invalid static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/PayloadSegment.hxx:59:82: error: template argument 4 is invalid ./rxs_parsing_core/PayloadSegment.hxx:59:83: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<PayloadData(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:18, from ./picoscenes.cpp:1291: ./rxs_parsing_core/CargoSegment.hxx:17:46: error: ‘function’ in namespace ‘std’ does not name a template type static void registerAlgorithm(const std::function<std::optional<std::vector>(const uint8_t , size_t)> &compressorV, ^~~~ ./rxs_parsing_core/CargoSegment.hxx:17:41: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/CargoSegment.hxx:1:1: +#include // ./rxs_parsing_core/CargoSegment.hxx:17:41: static void registerAlgorithm(const std::function<std::optional<std::vector>(const uint8_t , size_t)> &compressorV, ^~~ ./rxs_parsing_core/CargoSegment.hxx:17:54: error: expected ‘,’ or ‘...’ before ‘<’ token static void registerAlgorithm(const std::function<std::optional<std::vector>(const uint8_t , size_t)> &compressorV, ^ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:18, from ./picoscenes.cpp:1291: ./rxs_parsing_core/CargoSegment.hxx:26:23: error: ‘function’ in namespace ‘std’ does not name a template type static const std::function<std::optional<std::vector>(const uint8_t , size_t)> &getCompressor() { ^~~~ ./rxs_parsing_core/CargoSegment.hxx:26:18: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? static const std::function<std::optional<std::vector>(const uint8_t , size_t)> &getCompressor() { ^~~ ./rxs_parsing_core/CargoSegment.hxx:30:23: error: ‘function’ in namespace ‘std’ does not name a template type static const std::function<std::optional<std::vector>(const uint8_t , size_t)> &getDecompressor() { ^~~~ ./rxs_parsing_core/CargoSegment.hxx:30:18: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? static const std::function<std::optional<std::vector>(const uint8_t , size_t)> &getDecompressor() { ^~~ ./rxs_parsing_core/CargoSegment.hxx:35:17: error: ‘function’ in namespace ‘std’ does not name a template type static std::function<std::optional<std::vector>(const uint8_t , size_t)> compressor; ^~~~ ./rxs_parsing_core/CargoSegment.hxx:35:12: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? static std::function<std::optional<std::vector>(const uint8_t , size_t)> compressor; ^~~ ./rxs_parsing_core/CargoSegment.hxx:36:17: error: ‘function’ in namespace ‘std’ does not name a template type static std::function<std::optional<std::vector>(const uint8_t , size_t)> decompressor; ^~~~ ./rxs_parsing_core/CargoSegment.hxx:36:12: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? static std::function<std::optional<std::vector>(const uint8_t , size_t)> decompressor; ^~~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:18, from ./picoscenes.cpp:1291: ./rxs_parsing_core/CargoSegment.hxx: In static member function ‘static bool CargoCompression::isAlgorithmRegistered()’: ./rxs_parsing_core/CargoSegment.hxx:14:16: error: ‘compressor’ was not declared in this scope return compressor && decompressor; ^~~~~~ ./rxs_parsing_core/CargoSegment.hxx:14:30: error: ‘decompressor’ was not declared in this scope return compressor && decompressor; ^~~~ In file included from ./rxs_parsing_core/ModularPicoScenesFrame.hxx:18, from ./picoscenes.cpp:1291: ./rxs_parsing_core/CargoSegment.hxx: In lambda function: ./rxs_parsing_core/CargoSegment.hxx:21:13: error: ‘compressor’ was not declared in this scope compressor = compressorV; ^~~~~~ ./rxs_parsing_core/CargoSegment.hxx:21:26: error: ‘compressorV’ was not declared in this scope compressor = compressorV; ^~~ ./rxs_parsing_core/CargoSegment.hxx:22:13: error: ‘decompressor’ was not declared in this scope decompressor = decompressorV; ^~~~ ./rxs_parsing_core/CargoSegment.hxx:22:28: error: ‘decompressorV’ was not declared in this scope decompressor = decompressorV; ^~~~~ ./rxs_parsing_core/CargoSegment.hxx: At global scope: ./rxs_parsing_core/CargoSegment.hxx:75:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^~~~ ./rxs_parsing_core/CargoSegment.hxx:75:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/CargoSegment.hxx:75:100: error: template argument 2 is invalid static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^ ./rxs_parsing_core/CargoSegment.hxx:75:100: error: template argument 4 is invalid ./rxs_parsing_core/CargoSegment.hxx:75:101: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> versionedSolutionMap; ^~ ./rxs_parsing_core/CargoSegment.hxx:77:36: error: ‘function’ is not a member of ‘std’ static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~~~ ./rxs_parsing_core/CargoSegment.hxx:77:36: note: ‘std::function’ is defined in header ‘’; did you forget to ‘#include ’? ./rxs_parsing_core/CargoSegment.hxx:77:100: error: template argument 2 is invalid static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^ ./rxs_parsing_core/CargoSegment.hxx:77:100: error: template argument 4 is invalid ./rxs_parsing_core/CargoSegment.hxx:77:101: error: expected unqualified-id before ‘>’ token static std::map<uint16_t, std::function<std::shared_ptr(const uint8_t , uint32_t)>> initializeSolutionMap() noexcept; ^~ ./picoscenes.cpp:8776:18: warning: ‘PyObject pyx_f_10picoscenes_parse_SignalMatrix(const SignalMatrix)’ defined but not used [-Wunused-function] static PyObject *pyx_f_10picoscenes_parse_SignalMatrix(SignalMatrix const *__pyx_v_m) { ^~~~~~~~~~~ error: command '/usr/bin/g++' failed with exit code 1

evileleven commented 1 week ago

I am using the Redhat system with gcc 8.5.0. When I try on a window system with GCC 10. It still have the same problem.

Herrtian commented 1 week ago

Process on Windows is now not dependable, you can use Redhat with gcc > 10.3

evileleven commented 1 week ago

@Herrtian thank you for your reply! I change to gcc 13.1.1, but still get the error.

$ gcc --version gcc (GCC) 13.1.1 20230614 (Red Hat 13.1.1-4) Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In file included from /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:5: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:17:46: error: ‘function’ in namespace ‘std’ does not name a template type 17 | static void registerAlgorithm(const std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> &compressorV, | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:9:1: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 8 | #include "AbstractPicoScenesFrameSegment.hxx" +++ |+#include <functional> 9 | #include "PicoScenesCommons.hxx" /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:17:54: error: expected ‘,’ or ‘...’ before ‘<’ token 17 | static void registerAlgorithm(const std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> &compressorV, | ^ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:26:23: error: ‘function’ in namespace ‘std’ does not name a template type 26 | static const std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> &getCompressor() { | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:26:18: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 26 | static const std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> &getCompressor() { | ^~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:30:23: error: ‘function’ in namespace ‘std’ does not name a template type 30 | static const std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> &getDecompressor() { | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:30:18: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 30 | static const std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> &getDecompressor() { | ^~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:35:17: error: ‘function’ in namespace ‘std’ does not name a template type 35 | static std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> compressor; | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:35:12: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 35 | static std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> compressor; | ^~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:36:17: error: ‘function’ in namespace ‘std’ does not name a template type 36 | static std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> decompressor; | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:36:12: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 36 | static std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> decompressor; | ^~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx: In static member function ‘static bool CargoCompression::isAlgorithmRegistered()’: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:14:16: error: ‘compressor’ was not declared in this scope 14 | return compressor && decompressor; | ^~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:14:30: error: ‘decompressor’ was not declared in this scope 14 | return compressor && decompressor; | ^~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx: In lambda function: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:21:13: error: ‘compressor’ was not declared in this scope 21 | compressor = compressorV; | ^~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:21:26: error: ‘compressorV’ was not declared in this scope 21 | compressor = compressorV; | ^~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:22:13: error: ‘decompressor’ was not declared in this scope 22 | decompressor = decompressorV; | ^~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:22:28: error: ‘decompressorV’ was not declared in this scope 22 | decompressor = decompressorV; | ^~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx: At global scope: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:75:36: error: ‘function’ is not a member of ‘std’ 75 | static std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> versionedSolutionMap; | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:75:36: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:75:100: error: template argument 2 is invalid 75 | static std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> versionedSolutionMap; | ^ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:75:100: error: template argument 4 is invalid /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:75:17: error: ‘<expression error>’ in namespace ‘std’ does not name a type 75 | static std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> versionedSolutionMap; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:77:36: error: ‘function’ is not a member of ‘std’ 77 | static std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> initializeSolutionMap() noexcept; | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:77:36: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:77:100: error: template argument 2 is invalid 77 | static std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> initializeSolutionMap() noexcept; | ^ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:77:100: error: template argument 4 is invalid /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.hxx:77:17: error: ‘<expression error>’ in namespace ‘std’ does not name a type 77 | static std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> initializeSolutionMap() noexcept; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:7:6: error: ‘function’ in namespace ‘std’ does not name a template type 7 | std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> CargoCompression::compressor; | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:6:1: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 5 | #include "CargoSegment.hxx" +++ |+#include <functional> 6 | /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:8:6: error: ‘function’ in namespace ‘std’ does not name a template type 8 | std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> CargoCompression::decompressor; | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:8:1: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? 8 | std::function<std::optional<std::vector<uint8_t>>(const uint8_t *, size_t)> CargoCompression::decompressor; | ^~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx: In static member function ‘static U8Vector PayloadCargo::mergeAndValidateCargo(const std::vector<std::shared_ptr<PayloadCargo> >&)’: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:75:49: error: ‘getDecompressor’ is not a member of ‘CargoCompression’ 75 | decompressedPayload = CargoCompression::getDecompressor()(rawPayload.data(), rawPayload.size()).value_or(U8Vector()); | ^~~~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:81:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 81 | while (pos < decompressedPayload.size()) { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:87:13: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<unsigned char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 87 | if (pos != decompressedPayload.size() && numSegment != cargos.front()->numSegments) [[unlikely]] { | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx: At global scope: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:99:25: error: ‘function’ is not a member of ‘std’ 99 | std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> CargoSegment::versionedSolutionMap = initializeSolutionMap(); | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:99:25: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:99:89: error: template argument 2 is invalid 99 | std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> CargoSegment::versionedSolutionMap = initializeSolutionMap(); | ^ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:99:89: error: template argument 4 is invalid /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:99:90: error: expected unqualified-id before ‘>’ token 99 | std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> CargoSegment::versionedSolutionMap = initializeSolutionMap(); | ^~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:101:25: error: ‘function’ is not a member of ‘std’ 101 | std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> CargoSegment::initializeSolutionMap() noexcept { | ^~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:101:25: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’? /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:101:89: error: template argument 2 is invalid 101 | std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> CargoSegment::initializeSolutionMap() noexcept { | ^ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:101:89: error: template argument 4 is invalid /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:101:90: error: expected unqualified-id before ‘>’ token 101 | std::map<uint16_t, std::function<std::shared_ptr<PayloadCargo>(const uint8_t *, uint32_t)>> CargoSegment::initializeSolutionMap() noexcept { | ^~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx: In constructor ‘CargoSegment::CargoSegment(const uint8_t*, uint32_t)’: /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:114:10: error: ‘versionedSolutionMap’ was not declared in this scope 114 | if (!versionedSolutionMap.contains(segmentVersionId)) { | ^~~~~~~~~~~~~~~~~~~~ /data/yiyxu/download_python_package/picoscenes_gitclone/PicoscenesToolbox/rxs_parsing_core/CargoSegment.cxx:117:13: error: ‘versionedSolutionMap’ was not declared in this scope 117 | cargo = versionedSolutionMap.at(segmentVersionId)(segmentPayload.data(), segmentPayload.size()); | ^~~~~~~~~~~~~~~~~~~~ error: command '/opt/rh/gcc-toolset-13/root/usr/bin/gcc' failed with exit code 1

evileleven commented 1 week ago

Do I need to build a new Python virtual environment with GCC 10.3 (redhat8)? It seems it cannot be built successfully when I just change gcc from 8.5 to 10.3, even 11/13.

Herrtian commented 1 week ago

sorry for late response Firstable, I tried to install on Centos, and I didnt find any problems for installation. You can try to build a new Python virtual Enviroment, I use Python 3.10.12

evileleven commented 6 days ago

@Herrtian, thank you for your reply!

I build up a new conda environment with python3.10. And I think the most important thing is to put the .py file under the Python toolbox folder. Now, it works fine.

Thank you so much! Appreciate your work!