Opened 4 years ago

Closed 20 months ago

#61778 closed defect (fixed)

gexiv2 @0.12.1: error: no member named 'llrint' in the global namespace; did you mean 'lrint'?

Reported by: kencu (Ken) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: gexiv2 legacysupport

Description

after fixing #61777 we see this error.

This is a problem with the gcc math headers that shows up when building c++11 software using libstdc++.

In file included from ../gexiv2-0.12.1/gexiv2/gexiv2-metadata.cpp:22:
/opt/local/include/gcc/c++/cmath:1149:11: error: no member named 'llrint' in the global namespace; did you mean 'lrint'?
  using ::llrint;
        ~~^

Michael fixed it in legacysupport's math header overrides.

Change History (6)

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

Or so I thought. Adding legacysupport does not fix this after all, on 10.5 Intel with stdlib=macports-libstdc++, it is still broken. So the math fixes in legacysupport need some further attention, unfortunately.

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

Port: legacysupport added

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

Forcing it to build on 10.5 with gcc7 works (because gcc7 has the llrint math fixes in it) even without adding legacysupport.

So this ticket really becomes about fixing legacysupport's math fixes. I thought we were done with those...

comment:4 Changed 20 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:5 Changed 20 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

There is a pull request that attempts to fix this problem.

comment:6 Changed 20 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed

In 39844191e0d1a0c637b8af2c96058ae5c9c9c896/macports-ports (master):

clang-*: fix use of -stdlib= on older machines

Fixes #61778

Note: See TracTickets for help on using tickets.