×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Compile error: ISO C++1z does not allow dynamic exception specifications

  • Posts: 45
  • Thank you received: 2
I updated indilib from repository today and compiled it. But I got an error when compiling indiserver:
"/usr/include/ev++.h: ISO C++1z does not allow dynamic exception specifications"

After som DuckDuckGo-ing (I don't use Google Search...) there was some tips on "too old source vs make/compiler versions".

I tried to change CXX_FLAGS from commandline (make CXXFLAGS=-std=c++14) with no success.
So I did it the quick-and-dirty (and wrong!) way by hardcode the settings in indiserver/CMakeFiles/indiserver.dir/flags.make file:

From (-std=gnu++1z):
CXX_FLAGS = -D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wall -Wextra -Wno-format-truncation -g -DHAVE_MREMAP -g -fPIE -std=gnu++1z:
To (-std=c++14):
CXX_FLAGS = -D_FORTIFY_SOURCE=2 -Wa,--noexecstack -Wall -Wextra -Wno-format-truncation -g -DHAVE_MREMAP -g -fPIE -std=c++14

Then it worked! The version c++14 was just taken by chance, I didn't dig into versions :) !

I run latest OpenSuse Leap 15.4 with GNU Make 4.2.1 and gcc version 7.5.0.

This may not be a big issue, I just wanted to mention it in case someone else has the problem.

Håkan Wahlberg
1 year 1 month ago #91545

Please Log in or Create an account to join the conversation.

INDI is C++17 now and I never got this error. Yours is probably due to the compiler used in Leap?
1 year 1 month ago #91574

Please Log in or Create an account to join the conversation.

Time to create page: 0.818 seconds