Jump to content
Eternal Lands Official Forums
RuiDo

Linux Compile fails (2020-11-01)

Recommended Posts

After pulling from master branch today and trying to compile... I got this error today...

[ 50%] Building CXX object CMakeFiles/el.linux.bin.dir/font.cpp.o
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/5/bits/char_traits.h:39,
                 from /usr/include/c++/5/ios:40,
                 from /usr/include/c++/5/istream:38,
                 from /usr/include/c++/5/sstream:38,
                 from /home/ruido/Software/src/Eternal-Lands/font.cpp:3:
/usr/include/c++/5/bits/stl_pair.h: In instantiation of ‘constexpr std::pair<_T1, _T2>::pair(_U1&&, const _T2&) [with _U1 = unsigned int&; <template-parameter-2-2> = void; _T1 = unsigned int; _T2 = eternal_lands::Font]’:
/usr/include/c++/5/bits/stl_pair.h:281:72:   required from ‘constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&) [with _T1 = unsigned int&; _T2 = eternal_lands::Font&; typename std::__decay_and_strip<_T2>::__type = eternal_lands::Font; typename std::__decay_and_strip<_Tp>::__type = unsigned int]’
/home/ruido/Software/src/Eternal-Lands/font.cpp:1766:46:   required from here
/usr/include/c++/5/bits/stl_pair.h:134:45: error: use of deleted function ‘eternal_lands::Font::Font(const eternal_lands::Font&)’
  : first(std::forward<_U1>(__x)), second(__y) { }
                                             ^
In file included from /home/ruido/Software/src/Eternal-Lands/font.cpp:11:0:
/home/ruido/Software/src/Eternal-Lands/font.h:449:7: note: ‘eternal_lands::Font::Font(const eternal_lands::Font&)’ is implicitly declared as deleted because ‘eternal_lands::Font’ declares a move constructor or move assignment operator
 class Font
       ^
cc1plus: warning: unrecognized command line option ‘-Wno-cast-function-type’
CMakeFiles/el.linux.bin.dir/build.make:3590: recipe for target 'CMakeFiles/el.linux.bin.dir/font.cpp.o' failed
make[2]: *** [CMakeFiles/el.linux.bin.dir/font.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/el.linux.bin.dir/all' failed
make[1]: *** [CMakeFiles/el.linux.bin.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2


It seems to be complaining about the Font class having a move constructor (which it has)...

 

I'm using Linux Mint 18.3, kernel 4.15.0 and gcc 5.4.0... I might need to do some upgrades here, but it has been compiling well until now!

Share this post


Link to post
Share on other sites

I think you need to upgrade to a newer version of gcc: one of the make files states:

# compile C with /usr/bin/gcc-7
# compile CXX with /usr/bin/g++-7

You'll need a version that can handle at least the C++11 standards and the different warning options (GCC 7.5 works for me, compiling with 93.1 also works, but I didn't run that version yet)

Edited by revi

Share this post


Link to post
Share on other sites

Yeah, that's what I thought...

I tried on another computer running kali rolling with gcc 10.2.0... and it went well.

 

I've been willing to upgrade mint to something more recent for a while now... so... I guess the time is now :-p

Edited by RuiDo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×