Build fails on Linux Mint 20
I recently switched to Linux Mint on my desktop and Hurricane fails to build:
[snip]
Processing tool: "hurricane".
[snip]
-- Build files have been written to: /home/verhaegs/coriolis-2.x/Linux.x86_64/Release.Shared/build/hurricane
Make/Ninja command: ['make']
[ 1%] Building CXX object src/hurricane/CMakeFiles/hurricane.dir/Backtrace.cpp.o
/home/verhaegs/coriolis-2.x/src/coriolis/hurricane/src/hurricane/Backtrace.cpp: In static member function ‘static {anonymous}::Bfd* {anonymous}::Bfd::open(std::string)’:
/home/verhaegs/coriolis-2.x/src/coriolis/hurricane/src/hurricane/Backtrace.cpp:285:14: error: ‘bfd_get_section_flags’ was not declared in this scope; did you mean ‘bfd_set_section_flags’?
285 | if (not (bfd_get_section_flags(obfd->_abfd, obfd->_textSection) & SEC_ALLOC)) { obfd->_clear(); return obfd; }
| ^~~~~~~~~~~~~~~~~~~~~
| bfd_set_section_flags
/home/verhaegs/coriolis-2.x/src/coriolis/hurricane/src/hurricane/Backtrace.cpp: In member function ‘bool {anonymous}::Bfd::lookup({anonymous}::Bfd::Request&)’:
/home/verhaegs/coriolis-2.x/src/coriolis/hurricane/src/hurricane/Backtrace.cpp:326:37: error: ‘bfd_get_section_vma’ was not declared in this scope; did you mean ‘bfd_set_section_vma’?
326 | bfd_vma textSectionVma = bfd_get_section_vma( _abfd, _textSection );
| ^~~~~~~~~~~~~~~~~~~
| bfd_set_section_vma
/home/verhaegs/coriolis-2.x/src/coriolis/hurricane/src/hurricane/Backtrace.cpp:327:58: error: cannot convert ‘bfd*’ to ‘const asection*’ {aka ‘const bfd_section*’}
327 | bfd_size_type textSectionSize = bfd_section_size ( _abfd, _textSection );
| ^~~~~
| |
| bfd*
In file included from /home/verhaegs/coriolis-2.x/src/coriolis/hurricane/src/hurricane/Backtrace.cpp:87:
/usr/include/bfd.h:1206:35: note: initializing argument 1 of ‘bfd_size_type bfd_section_size(const asection*)’
1206 | bfd_section_size (const asection *sec)
| ~~~~~~~~~~~~~~~~^~~
make[2]: *** [src/hurricane/CMakeFiles/hurricane.dir/build.make:128: src/hurricane/CMakeFiles/hurricane.dir/Backtrace.cpp.o] Fout 1
make[1]: *** [CMakeFiles/Makefile2:308: src/hurricane/CMakeFiles/hurricane.dir/all] Fout 2
make: *** [Makefile:130: all] Fout 2
[ERROR] Build failed (status:2).
Linux Mint 20 uses binutils 2.34 and I don't see bfd_get_section_flags
and bfd_get_section_vma
being defined in /usr/include/bfd.h.
I will see if I can get a debian 10 or centos 7 installation going.