Build failing on debian stretch
-------------------------------
Key: CORE-5590
URL: http://tracker.firebirdsql.org/browse/CORE-5590
Project: Firebird Core
Issue Type: Bug
Components: Build Issues / Porting
Affects Versions: 2.5.7
Environment: Debian strretch
Reporter: MichaĆ Ziemski
Build fails with:
g++ -DBOOT_BUILD -I../src/include/gen -I../src/include -I../src/vulcan
-DNAMESPACE=Vulcan -DNDEBUG -ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64
-pipe -MMD -fPIC -fmessage-length=0 -O3 -fno-omit-frame-pointer -pthread
-fno-rtti -c ../src/common/classes/alloc.cpp -o
../temp/boot/common/classes/alloc.o
../src/common/classes/alloc.cpp: In function 'void* operator new(size_t)':
../src/common/classes/alloc.cpp:2127:7: error: declaration of 'void* operator
new(size_t) throw (std::bad_alloc)' has a different exception specifier
void* operator new(size_t s) THROW_BAD_ALLOC
^~~~~~~~
In file included from ../src/common/classes/alloc.cpp:32:0:
../src/include/../common/classes/alloc.h:502:7: note: from previous declaration
'void* operator new(std::size_t)'
void* operator new(size_t s) THROW_BAD_ALLOC;
^~~~~~~~
../src/common/classes/alloc.cpp: In function 'void* operator new [](size_t)':
../src/common/classes/alloc.cpp:2131:7: error: declaration of 'void* operator
new [](size_t) throw (std::bad_alloc)' has a different exception specifier
void* operator new[](size_t s) THROW_BAD_ALLOC
^~~~~~~~
In file included from ../src/common/classes/alloc.cpp:32:0:
../src/include/../common/classes/alloc.h:503:7: note: from previous declaration
'void* operator new [](std::size_t)'
void* operator new[](size_t s) THROW_BAD_ALLOC;
^~~~~~~~
the reason for the above would be that g++-6 defaults to -std=gnu-14 rather
than --str=gnu++98 as in previous versions
Adding CXXFLAGS=--std=gnu++98 in front of make solves the problem but there
comes another error:
g++ -DBOOT_BUILD -I../src/include/gen -I../src/include -I../src/vulcan
-DNAMESPACE=Vulcan -DNDEBUG -ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DAMD64
-pipe -MMD -fPIC -fmessage-length=0 -O3 -fno-omit-frame-pointer -pthread
-std=gnu++98 -fno-lifetime-dse -fno-rtti -fno-rtti -fno-rtti -c
../src/common/classes/fb_string.cpp -o ../temp/boot/common/classes/fb_string.o
../src/common/classes/fb_string.cpp: In member function 'void
Firebird::AbstractString::vprintf(const char*, __va_list_tag*)':
../src/common/classes/fb_string.cpp:405:26: error: incompatible types in
assignment of '__va_list_tag*' to 'va_list {aka __va_list_tag [1]}'
FB_VA_COPY(paramsCopy, params);
^
../src/common/classes/fb_string.cpp:390:35: note: in definition of macro
'FB_VA_COPY'
#define FB_VA_COPY(to, from) to = from
^~~~
../src/common/classes/fb_string.cpp:415:28: error: incompatible types in
assignment of '__va_list_tag*' to 'va_list {aka __va_list_tag [1]}'
FB_VA_COPY(paramsCopy, params);
^
../src/common/classes/fb_string.cpp:390:35: note: in definition of macro
'FB_VA_COPY'
#define FB_VA_COPY(to, from) to = from
^~~~
../src/common/classes/fb_string.cpp:434:27: error: incompatible types in
assignment of '__va_list_tag*' to 'va_list {aka __va_list_tag [1]}'
FB_VA_COPY(paramsCopy, params);
^
../src/common/classes/fb_string.cpp:390:35: note: in definition of macro
'FB_VA_COPY'
#define FB_VA_COPY(to, from) to = from
I've seen a reference to this error in CORE-5099 but contrary to the
description in that bug the issue isn't solved by changing parameters to --std
argument
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel