Opened 4 years ago

Closed 10 months ago

#60158 closed defect (fixed)

openjade @1.3.2_11: build fails with clang-9.0

Reported by: kencu (Ken) Owned by: lockhart (Thomas Lockhart)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mascguy (Christopher Nielsen)
Port: openjade

Description

builds if compiler is forced to clang-5.0

:info:build In file included from Node.cxxIn file included from LocNode.cxx:6:
:info:build In file included from ./LocNode.h:8:
:info:build In file included from ./Node.h:12:
:info:build /opt/local/include/OpenSP/../OpenSP/IList.h:29:14: error: ISO C++11 does not allow access declarations; use using declarations instead
:info:build :10  IListBase::clear;:
:info:build In file included from              ^
:info:build ./Node.h:12:
:info:build /opt/local/include/OpenSP/../OpenSP/IList.h:29:14: error: ISO C++11 does not allow access declarations; use using declarations instead
:info:build   IListBase::clear;
:info:build              ^
:info:build /opt/local/include/OpenSP/../OpenSP/IList.h:30:14: error: ISO C++11 does not allow access declarations; use using declarations instead
:info:build   IListBase::empty;
:info:build              ^
:info:build /opt/local/include/OpenSP/../OpenSP/IList.h:30:14: error: ISO C++11 does not allow access declarations; use using declarations instead
:info:build   IListBase::empty;
:info:build              ^
:info:build 1 warning and 2 errors generated.

Attachments (1)

openjade-build-fail-clang9.log (39.3 KB) - added by kencu (Ken) 4 years ago.

Download all attachments as: .zip

Change History (8)

Changed 4 years ago by kencu (Ken)

comment:1 Changed 4 years ago by lockhart (Thomas Lockhart)

You are on a very old version of MacOS (10.6). On my somewhat-old 10.13, the preferred compiler is clang in /usr/bin/clang and openjade compiles just fine. Would you like to develop a patch which might work on your older machine? I'd suggest trying to pass a --std=C++03 on the compiler command line. I'm happy to give you some more details if needed.

comment:2 Changed 4 years ago by jmroot (Joshua Root)

This is literally the same problem as fixed in [0d29c8f434da8135ac75bbed3404a6d5570fcf1f/macports-ports], since the error is happening in the opensp headers. The same fix is appropriate here. I'd say that upstream should either add the -std option or fix the code to be compatible with later standards, but the last release was in 2003.

comment:3 Changed 4 years ago by kencu (Ken)

I put these up for you guys so you know what will be coming in the next few years.

Although 10.6.8 is old, the compiler is brand-spanking-new-much-much-newer than any Xcode, and what clang-9.0 shows now, Xcode will show in a year or two.

comment:4 Changed 4 years ago by lockhart (Thomas Lockhart)

Yeah, specifying the c++03 standard seems to be the way to go given the "mature" code base. Thanks kencu for bringing the problem to my attention. I'll try to develop a patch though the current scheme of needing to fork the entire repo to send in a one-line patch is painful. Very painful.

comment:5 Changed 4 years ago by lockhart (Thomas Lockhart)

I've submitted a pull request on github after verifying that the options get passed to the compiler.

comment:6 Changed 10 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:7 Changed 10 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 2aa847d8d8478ad478dfb54386e08f14ab26426d/macports-ports (master):

openjade: add std=c++03 to cxxflags, for opensp

  • Fixes builds for 10.6 and earlier
  • Also add missing checksum size

Closes: #60158

Note: See TracTickets for help on using tickets.