Opened 3 years ago

Closed 3 years ago

#4950 closed defect (fixed)

Failed to build libadblockplus (v8) on Fedora 25

Reported by: hfiguiere Assignee: hfiguiere
Priority: Unknown Milestone:
Module: Libadblockplus Keywords:
Cc: Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

https://codereview.adblockplus.org/29377871

Description

Environment

Using g++ (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1)
On Fedora 25

How to reproduce

  1. Checkout master on Fedora 25
  2. Run ensure_dependencies.py
  3. $ make

Observed behaviour

Build in v8 fails with the following result:

make[1]: Entering directory '/home/hub/source/eyeo/libadblockplus/build'
  ACTION libadblockplus_gyp_ensure_dependencies_target_ensure_dependencies ensure_dependencies_phony_output
  TOUCH out/Debug/obj.target/ensure_dependencies.stamp
  CXX(target) out/Debug/obj.target/v8_base.x64/third_party/v8/src/accessors.o
In file included from ../third_party/v8/src/v8.h:52:0,
                 from ../third_party/v8/src/accessors.cc:28:
../third_party/v8/src/../include/v8.h: In member function ‘void v8::ReturnValue<T>::Set(uint32_t)’:
../third_party/v8/src/../include/v8.h:5928:31: warning: typedef ‘I’ locally defined but not used [-Wunused-local-typedefs]
   typedef internal::Internals I;
                               ^
In file included from ../third_party/v8/src/elements.h:32:0,
                 from ../third_party/v8/src/objects-inl.h:38,
                 from ../third_party/v8/src/v8.h:61,
                 from ../third_party/v8/src/accessors.cc:28:
../third_party/v8/src/objects.h: At global scope:
../third_party/v8/src/objects.h:6023:47: warning: left shift of negative value [-Wshift-negative-value]
   static const int kElementsKindMask = (-1 << kElementsKindShift) &
                                               ^~~~~~~~~~~~~~~~~~
../third_party/v8/src/objects.h:6023:44: error: left operand of shift expression ‘(-1 << 3)’ is negative [-fpermissive]
   static const int kElementsKindMask = (-1 << kElementsKindShift) &
                                        ~~~~^~~~~~~~~~~~~~~~~~~~~~
../third_party/v8/src/objects.h:8072:39: warning: left shift of negative value [-Wshift-negative-value]
       (~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
../third_party/v8/src/objects.h:8072:36: error: left operand of shift expression ‘(-8 << 26)’ is negative [-fpermissive]
       (~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
third_party/v8/tools/gyp/v8_base.x64.target.mk:245: recipe for target 'out/Debug/obj.target/v8_base.x64/third_party/v8/src/accessors.o' failed
make[1]: *** [out/Debug/obj.target/v8_base.x64/third_party/v8/src/accessors.o] Error 1
make[1]: Leaving directory '/home/hub/source/eyeo/libadblockplus/build'
Makefile:25: recipe for target 'all' failed
make: *** [all] Error 2

Workaround

Build using:

$ CXXFLAGS=-fpermissive make

Change History (4)

comment:1 Changed 3 years ago by hfiguiere

  • Review URL(s) modified (diff)

comment:2 Changed 3 years ago by hfiguiere

  • Owner set to hfiguiere
  • Ready set

comment:3 Changed 3 years ago by abpbot

A commit referencing this issue has landed:
Issue 4950 - Add -fpermissive to allow building on recent gcc.

comment:4 Changed 3 years ago by hfiguiere

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.