archlinux-proaudio
archlinux-proaudio copied to clipboard
Fix freemajor build
I'm recently getting this error when trying to build freemajor:
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
Adding that option results makes the config step work, but building still fails:
[ 14%] Building CXX object CMakeFiles/FreeMajor.dir/sources/utility/misc.cc.o
In file included from /home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:6:
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.h:26:62: error: ‘uint8_t’ was not declared in this scope
26 | bool read_entire_file(FILE *fh, size_t max_size, std::vector<uint8_t> &data);
| ^~~~~~~
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.h:13:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
12 | #include <sys/stat.h>
+++ |+#include <cstdint>
13 | #include <sys/types.h>
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.h:26:69: error: template argument 1 is invalid
26 | bool read_entire_file(FILE *fh, size_t max_size, std::vector<uint8_t> &data);
| ^
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.h:26:69: error: template argument 2 is invalid
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:20:62: error: ‘uint8_t’ was not declared in this scope
20 | bool read_entire_file(FILE *fh, size_t max_size, std::vector<uint8_t> &data)
| ^~~~~~~
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:7:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
6 | #include "misc.h"
+++ |+#include <cstdint>
7 |
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:20:69: error: template argument 1 is invalid
20 | bool read_entire_file(FILE *fh, size_t max_size, std::vector<uint8_t> &data)
| ^
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:20:69: error: template argument 2 is invalid
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc: In function ‘bool read_entire_file(FILE*, size_t, int&)’:
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:30:10: error: request for member ‘resize’ in ‘data’, which is of non-class type ‘int’
30 | data.resize(size);
| ^~~~~~
/home/florian/build/archlinux-proaudio/packages/freemajor/src/FreeMajor-1.0/sources/utility/misc.cc:32:23: error: request for member ‘data’ in ‘data’, which is of non-class type ‘int’
32 | return fread(data.data(), 1, size, fh) == size;
| ^~~~
make[2]: *** [CMakeFiles/FreeMajor.dir/build.make:107: CMakeFiles/FreeMajor.dir/sources/utility/misc.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:94: CMakeFiles/FreeMajor.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
I have access to the software source repository and can make modifications if necessary. On the other hand, I'm not a programmer at all.
There is also something with the new version of FLTK.