Skip to content

Linux building issues #6

@ThePlayer14

Description

@ThePlayer14

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions