Issue Details (XML | Word | Printable)

Key: CORE-5590
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: MichaƂ Ziemski
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Build failing on debian stretch

Created: 23/Jul/17 04:19 PM   Updated: 23/Jul/17 04:19 PM
Component/s: Build Issues / Porting
Affects Version/s: 2.5.7
Fix Version/s: None

Environment: Debian strretch

QA Status: No test


 Description  « Hide
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


 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.