Opened 17 months ago

Last modified 12 months ago

#71855 new defect

mozjs52 @52.6.0_9: error: 'auto' not allowed in template parameter until C++17

Reported by: cooljeanius (Eric Gallager) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.5
Keywords: Cc: dbevans (David B. Evans)
Port: mozjs52

Description

Trying to upgrade mozjs52 results in a lot of errors that look like they might be due to a mismatch between the version of the C++ standard used in the icu headers and the one used to compile, for example:

In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_mozjs52/mozjs52/work/mozjs-52.6.0gnome1/js/src/obj/js/src/Unified_cpp_js_src0.cpp:20:
In file included from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_mozjs52/mozjs52/work/mozjs-52.6.0gnome1/js/src/builtin/Intl.cpp:27:
In file included from /opt/local/include/unicode/ucal.h:14:
In file included from /opt/local/include/unicode/uenum.h:25:
/opt/local/include/unicode/localpointer.h:561:26: error: 'auto' not allowed in template parameter until C++17
template <typename Type, auto closeFunction>
                         ^~~~

Attaching the log with the full output. I'm on x86_64 Big Sur with Xcode 13.

Attachments (1)

mozjs52_main.log (657.5 KB) - added by cooljeanius (Eric Gallager) 17 months ago.
main.log for mozjs52

Download all attachments as: .zip

Change History (4)

Changed 17 months ago by cooljeanius (Eric Gallager)

Attachment: mozjs52_main.log added

main.log for mozjs52

comment:1 Changed 14 months ago by rmottola (Riccardo)

I am seeing similar issues with ArcticFox when compiling with ICU 76, but not with ICU74.

Apparently, C++17 or C++20 are required. I even tried gcc14 without success..

Did you find any workarounds?

comment:2 in reply to:  1 Changed 12 months ago by cooljeanius (Eric Gallager)

Replying to rmottola:

I am seeing similar issues with ArcticFox when compiling with ICU 76, but not with ICU74.

Apparently, C++17 or C++20 are required. I even tried gcc14 without success..

Did you find any workarounds?

No, I haven't; I just ended up uninstalling it instead...

comment:3 Changed 12 months ago by mouse07410 (Mouse)

I am very surprised that Macports-installed clang-19 or gcc14 set as default compiler did not provide a workaround for you. Could you explain more, please?

Last edited 12 months ago by mouse07410 (Mouse) (previous) (diff)
Note: See TracTickets for help on using tickets.