-
Notifications
You must be signed in to change notification settings - Fork 5
Description
I've tried to build the tool under Linux Mint 22 (based on ubi 24.04) and Fedora 41.
The first issue was with CMakeLists.txt, with it having a typo, but resolved by changing line 173 of CMakeLists.txt, to pkg_check_modules(LZ4 REQUIRED liblz4).
Then, I started with compilation after the CMake issue was resolved.
But during compilation, another issue appeared (appears on both clang and gcc):
[ 34%] Building CXX object CMakeFiles/XGDTool.dir/src/ImageWriter/CCIWriter/CCIWriter.cpp.o
/home/userf/Downloads/XGDTool/src/ImageWriter/CCIWriter/CCIWriter.cpp: In member function ‘void CCIWriter::compress_and_write_sectors_managed(std::ofstream&, std::vector<CCI::IndexInfo>&, uint32_t, const char*)’:
/home/userf/Downloads/XGDTool/src/ImageWriter/CCIWriter/CCIWriter.cpp:377:10: error: ‘sort’ is not a member of ‘std’; did you mean ‘qsort’?
377 | std::sort(ordered_results.begin(), ordered_results.end(), [](const CompressedTaskResult& a, const CompressedTaskResult& b)
| ^~~~
| qsort
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-ambiguous-reversed-operator’ may have been intended to silence earlier diagnostics
make[2]: *** [CMakeFiles/XGDTool.dir/build.make:258: CMakeFiles/XGDTool.dir/src/ImageWriter/CCIWriter/CCIWriter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/XGDTool.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
After adding #include <algorithm> to the top of the file, this did not come up again, and as a preventative measure, I've added it to the other "writer" source files to avoid this exact same issue.
It worked (no issues popped up for the "writer" sources), but then another error happened:
[ 53%] Building CXX object CMakeFiles/XGDTool.dir/src/Formats/Xiso.cpp.o
In file included from /home/userf/Downloads/XGDTool/src/Formats/Xiso.cpp:3:
/home/userf/Downloads/XGDTool/src/XGDLog.h:46:25: error: ‘uint64_t’ has not been declared
46 | void print_progress(uint64_t processed, uint64_t total);
| ^~~~~~~~
/home/userf/Downloads/XGDTool/src/XGDLog.h:46:45: error: ‘uint64_t’ has not been declared
46 | void print_progress(uint64_t processed, uint64_t total);
| ^~~~~~~~
cc1plus: note: unrecognized command-line option ‘-Wno-ambiguous-reversed-operator’ may have been intended to silence earlier diagnostics
make[2]: *** [CMakeFiles/XGDTool.dir/build.make:496: CMakeFiles/XGDTool.dir/src/Formats/Xiso.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:102: CMakeFiles/XGDTool.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
This time, adding #include <cstdint> was the one that resolved the error. After this, the program could be built, but when I was trying to process a GoD directory, I got this in the console:
File read error in /home/userf/Downloads/XGDTool/src/ImageReader/GoDReader/GoDReader.cpp at line 96
What could be the issue here?