Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#63869 closed defect (fixed)

legacysupport: current support for 'macports-libcxx' broken

Reported by: mascguy (Christopher Nielsen) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: macports-libcxx Cc: kencu (Ken), catap (Kirill A. Korinsky), cjones051073 (Chris Jones)
Port: legacysupport

Description (last modified by mascguy (Christopher Nielsen))

Reviewing the two ports that currently utilize macports-libcxx - cherrytree and retdec-devel - the following is necessary to enable use of it:

depends_lib-append \
    port:macports-libcxx

configure.cxxflags-append \
    -nostdinc++ \
    -I${prefix}/include/libcxx/v1

configure.ldflags-append \
    -L${prefix}/lib/libcxx

While the legacysupport PG is correctly adding the lib dependency, along with the lib path, there are two issues:

  • Compilation argument -nostdinc++ isn't being added
  • The header path is missing the trailing /v1

If these issues are fixed, then we may be able to simplify ports cherrytree and retdec-devel, via the legacysupport PG.

Change History (15)

comment:1 Changed 2 years ago by mascguy (Christopher Nielsen)

Description: modified (diff)

comment:2 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: catap added

comment:3 Changed 2 years ago by catap (Kirill A. Korinsky)

@mascguy because I'm updating retdec port, let me fix it also.

comment:4 Changed 2 years ago by mascguy (Christopher Nielsen)

@cjones, this would be easy enough to fix, in principle. Particularly relative to fixing the header path.

But are there any gotchas I need to be aware of, when adding -nostdinc++ to the compilation arguments? I'm thinking in terms of quoting, word-splitting [when the argument is passed down the line], etc?

comment:5 Changed 2 years ago by cjones051073 (Chris Jones)

Nothing much to bear in mind, just make the changes here

https://github.com/macports/macports-ports/blob/master/_resources/port1.0/group/legacysupport-1.1.tcl#L178

As that option is very infrequently used, it cannot much impact even if you do muck it up ;)

comment:6 in reply to:  5 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: cjones051073 added
Owner: changed from cjones051073 to mascguy

Replying to cjones051073:

Nothing much to bear in mind, just make the changes here

https://github.com/macports/macports-ports/blob/master/_resources/port1.0/group/legacysupport-1.1.tcl#L178

As that option is very infrequently used, it cannot much impact even if you do muck it up ;)

Sounds good, I'll take this then!

comment:7 Changed 2 years ago by Christopher Nielsen <mascguy@…>

In 00df9e8ac7d2393e66553bcd99e68d954a771d48/macports-ports (master):

pg legacysupport-1.1: fix support for macports-libcxx

  • Add missing compilation flag '-nostdinc++'
  • Fix header search path; missing '/v1' suffix

See: #63869

comment:8 Changed 2 years ago by cjones051073 (Chris Jones)

Resolution: fixed
Status: assignedclosed

comment:9 Changed 2 years ago by Christopher Nielsen <mascguy@…>

In 963e8879e5908c8eb01cb0bed7aaf8c882e48eb8/macports-ports (master):

cherrytree: use macports-libcxx via PG legacysupport
See: #63869

comment:10 Changed 2 years ago by catap (Kirill A. Korinsky)

Christopher, have you tested your changes? Before it links agains macports-libcxx only, and now you have added legacy-support. For example it brokes build of retdec.

comment:11 in reply to:  10 Changed 2 years ago by mascguy (Christopher Nielsen)

Replying to catap:

Christopher, have you tested your changes? Before it links agains macports-libcxx only, and now you have added legacy-support. For example it brokes build of retdec.

Kirill, are you asking relative to cherrytree, the legacysupport portgroup, ...? (And yes, it's all been tested and validated locally, as well as via the buildbots).

comment:12 Changed 2 years ago by catap (Kirill A. Korinsky)

Christopher, yes, I mean the last changes. Good to know.

comment:13 Changed 2 years ago by Christopher Nielsen <mascguy@…>

In 7a40798dec5597b30008e07601ffefbf60a01fcb/macports-ports (master):

gromacs/gromacs-plumed: use macports-libcxx, for 10.12 and earlier
Fixes: #63818
See: #63869

comment:14 Changed 2 years ago by catap (Kirill A. Korinsky)

Christophe, if you can take care also for retdec-devel port I'll be appricieted. I haven't got access to anything too old which is required legacy support and I've fixed it blindly, mainly by passing azure pipeline.

comment:15 in reply to:  14 Changed 2 years ago by mascguy (Christopher Nielsen)

Replying to catap:

Christophe, if you can take care also for retdec-devel port I'll be appricieted. I haven't got access to anything too old which is required legacy support and I've fixed it blindly, mainly by passing azure pipeline.

Sure! I'll take care of this today or tomorrow, once the buildbots have caught up with their current backlog.

Note: See TracTickets for help on using tickets.