Opened 6 months ago

Last modified 6 months ago

#62459 assigned defect

wxMaxima @21.02.0: error: unknown type name 'nullptr_t'; did you mean 'std::nullptr_t'?

Reported by: dyne2meter Owned by: MSoegtropIMC
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: elcapitan Cc:
Port: wxMaxima

Description

Build on legacy system (MacOS 10.11.6); main log attached

Attachments (1)

main.log.gz (9.7 KB) - added by dyne2meter 6 months ago.
main.log

Download all attachments as: .zip

Change History (4)

Changed 6 months ago by dyne2meter

Attachment: main.log.gz added

main.log

comment:1 Changed 6 months ago by ryandesign (Ryan Schmidt)

Cc: GitHub: MSoegtropIMC removed
Keywords: elcapitan added; nullptr_t Autocomplete_Popup.cpp removed
Owner: set to MSoegtropIMC
Status: newassigned
Summary: unknown type name 'nullptr_t' error building wxMaximawxMaxima @21.02.0: error: unknown type name 'nullptr_t'; did you mean 'std::nullptr_t'?

comment:2 Changed 6 months ago by jmroot (Joshua Root)

This code is likely trying to get nullptr_t in the global namespace by including <stddef.h>. Firstly, nullptr_t is a C++11 feature, and if a C++11 compiler is needed to build this port, it should indicate it by setting compiler.cxx_standard 2011. Secondly, <stddef.h> is a C compatibility header, and using those in C++ is deprecated. So while the headers on El Capitan may be buggy in that <stddef.h> doesn't provide all the functionality it should, it's more future-proof to include <cstddef> instead and use std::nullptr_t, which should neatly fix the El Capitan issue as well.

comment:3 Changed 6 months ago by MSoegtropIMC

I reported this upstream (https://github.com/wxMaxima-developers/wxmaxima/issues/1523) and asked if they want to change their code to use std::bullptr_t and <cstddef> or force C++11. As far as I understood @jmroot, both options would work.

Note: See TracTickets for help on using tickets.