I have been trying to build this program for some time. It builds uneventfully 
in Crux on the same machine. However all my builds in LFS have failed in the 
same way. First comes a long string of warnings of the type:

../../dist/include/mozilla/mozalloc.h:207:33: note: in expansion of macro 
‘MOZALLOC_THROW_BAD_ALLOC’
 void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
~~~~~~~~~~~~~~~~~~~~~~~
Warning: -Wdeprecated in 
/sources/Pale-Moon-27.4.0_Release/firefox-build-dir/dist/include/mozilla/mozalloc.h:
 dynamic exception specifications are deprecated in C++11
../../dist/include/mozilla/mozalloc.h:201:52: warning: dynamic exception 
specifications are deprecated in C++11 [-Wdeprecated]
#define  MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS
 throw(std::bad_alloc)

Then, in the BatteryManager component, come the actual errors:

In file included from ../../dist/stl_wrappers/new:44:0,
                 from /usr/include/c++/7.2.0/bits/exception_ptr.h:40,
                 from /usr/include/c++/7.2.0/exception:142,
                 from ../../dist/system_wrappers/exception:3,
                 from /usr/include/c++/7.2.0/new:40,
                 from ../../dist/system_wrappers/new:3,
                 from ../../dist/stl_wrappers/limits:38,
                 from 
/sources/Pale-moon-27.4.0_Release/dom/battery/BatteryManager.cpp:6:
../../dist/include/mozilla/mozalloc.h:207:33: error: ‘bad_alloc’ in namespace 
‘std’ does not name a type
 void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
                                 ^
../../dist/include/mozilla/mozalloc.h:213:44: error: ‘nothrow_t’ in namespace 
‘std’ does not name a type
 void* operator new(size_t size, const std::nothrow_t&) 
MOZALLOC_THROW_IF_HAS_EXCEPTIONS
^~~~~~~~~
../../dist/include/mozilla/mozalloc.h:219:35: error: ‘bad_alloc’ in namespace 
‘std’ does not name a type
 void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
../../dist/include/mozilla/mozalloc.h:213:44: error: ‘nothrow_t’ in namespace 
‘std’ does not name a type
 void* operator new(size_t size, const std::nothrow_t&) 
MOZALLOC_THROW_IF_HAS_EXCEPTIONS
^~~~~~~~~
../../dist/include/mozilla/mozalloc.h:219:35: error: ‘bad_alloc’ in namespace 
‘std’ does not name a type
 void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC
../../dist/include/mozilla/mozalloc.h:225:46: error: ‘nothrow_t’ in namespace 
‘std’ does not name a type
 void* operator new[](size_t size, const std::nothrow_t&) 
MOZALLOC_THROW_IF_HAS_EXCEPTIONS                      
 
In Crux, using gcc 6.4, there are neither warnings nor errors, which suggests 
that in LFS, the same problem is giving rise to both.

I have tried using in LFS the identical source code and mozconfig that the Crux 
package uses, and I get the same errors. As you can see, the header referred to 
in the messages is internal and not a system header, so the difference has 
nothing to do with the overall environment. 

Is it possible that simply using a later version of gcc can cause such a 
difference in the outcome?
 


-- 
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to