Opened 7 weeks ago

Last modified 6 weeks ago

#70912 assigned enhancement

nodejs14: disable a few warnings-as-errors for successful build on 10.7.5 (11G63)

Reported by: i3roly Owned by: ci42
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: Cc:
Port: nodejs14

Description (last modified by ryandesign (Ryan Carsten Schmidt))

adding:

-Wno-error -Wno-enum-constexpr-conversion -Wno-incompatible-function-pointer-types -Wno-implicit-function-declaration

resulted in a successful build of nodejs14 on 10.7.5.

i thought it would be helpful to bring this to the attention of the maintainer so others could benefit, like my buddy fred.

Attachments (9)

nodejs14_main.log.gz (894.5 KB) - added by i3roly 6 weeks ago.
build lawg
nodejs15_main.log.gz (1.1 MB) - added by i3roly 6 weeks ago.
nodejs16_main.log.gz (116.9 KB) - added by i3roly 6 weeks ago.
nodejs17_main.log.gz (179.0 KB) - added by i3roly 6 weeks ago.
nodejs18_main.log.gz (177.4 KB) - added by i3roly 6 weeks ago.
cleaner log. adding C{XX,PP,{}}FLAGS "-Wno-incompatible-function-pointer-types -Wno-enum-constexpr-conversion" and LDFLAGS="-L/opt/local/lib/libexec/llvm-17/lib/libc++"
nodejs19_main.log.gz (182.3 KB) - added by i3roly 6 weeks ago.
nodejs20_main.log.gz (185.4 KB) - added by i3roly 6 weeks ago.
nodejs21_main.log.gz (189.4 KB) - added by i3roly 6 weeks ago.
nodejs22_fail.log.gz (78.5 KB) - added by i3roly 6 weeks ago.

Change History (12)

comment:1 Changed 7 weeks ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign removed
Description: modified (diff)
Keywords: nodejs nodejs14 removed

Presuming that the build failed before adding these flags, customarily we would like you to attach the compressed main.log file showing what the problem was.

Since you already know what the fix is you could submit it as a pull request.

There are many nodejs ports in MacPorts, for different versions of nodejs. It would be good to make the same fix to all affected versions.

comment:2 Changed 7 weeks ago by i3roly

i can report that nodejs18, unlike the comment in the port file, should work if we are requiring llvm-17 and clang-17, however the portfile is not currently set up to handle the libc++ in /opt/local/libexec/llvm-17/lib/libc++ and so right now i had to hard-code the link in to see if it work.s

same CFLAGS/CXXFLAGS/CPPFLAGS as mentioned above. will try to spin another build soon that puts /opt/local/libexec/llvm-17/lib on the path (or is this forbidden)?

either way, for older OS users, this introduction of a non /usr/lib symlink may be worth the functionality of a new nodejs.

Changed 6 weeks ago by i3roly

Attachment: nodejs14_main.log.gz added

build lawg

Changed 6 weeks ago by i3roly

Attachment: nodejs15_main.log.gz added

Changed 6 weeks ago by i3roly

Attachment: nodejs16_main.log.gz added

Changed 6 weeks ago by i3roly

Attachment: nodejs17_main.log.gz added

Changed 6 weeks ago by i3roly

Attachment: nodejs18_main.log.gz added

cleaner log. adding C{XX,PP,{}}FLAGS "-Wno-incompatible-function-pointer-types -Wno-enum-constexpr-conversion" and LDFLAGS="-L/opt/local/lib/libexec/llvm-17/lib/libc++"

Changed 6 weeks ago by i3roly

Attachment: nodejs19_main.log.gz added

Changed 6 weeks ago by i3roly

Attachment: nodejs20_main.log.gz added

Changed 6 weeks ago by i3roly

Attachment: nodejs21_main.log.gz added

Changed 6 weeks ago by i3roly

Attachment: nodejs22_fail.log.gz added

comment:3 Changed 6 weeks ago by kencu (Ken)

for this error:

../deps/v8/src/base/bit-field.h:43:29: error: integer value 31 is outside the valid range of values [0, 15] for this enumeration type [-Wenum-constexpr-conversion]
  static constexpr T kMax = static_cast<T>(kNumValues - 1);

there is interesting discussion here:

https://github.com/nodejs/node/issues/52230

and this commit into v8 in chromium is related:

https://github.com/v8/v8/commit/d15d49b09dc7aef9edcc4cf6a0cb2b77a0db203f

Note: See TracTickets for help on using tickets.