Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failing on debian stretch [CORE5590] #5856

Open
firebird-automations opened this issue Jul 23, 2017 · 0 comments
Open

Build failing on debian stretch [CORE5590] #5856

firebird-automations opened this issue Jul 23, 2017 · 0 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Michał Ziemski (r_o_o_k)

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 CORE5099 but contrary to the description in that bug the issue isn't solved by changing parameters to --std argument

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant