Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#64934 closed defect (fixed)

py-re2: failing to build for macOS 10.8, and broken since 2019 or earlier; mutex file not found

Reported by: mascguy (Christopher Nielsen) Owned by: Christopher Nielsen <mascguy@…>
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: Cc: reneeotten (Renee Otten), jmroot (Joshua Root), danchr (Dan Villiom Podlaski Christiansen), ryandesign (Ryan Carsten Schmidt)
Port: py-re2

Description

This port is failing to build for 10.8, across all Python 3.x releases. In every case, the issues appears to be the following:

building '_re2' extension
creating build/temp.macosx-10.8-x86_64-3.10
/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_python_py-re2/py310-re2/work/compwrap/cc/usr/bin/clang++ -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -pipe -Os -arch x86_64 -isysroot/ -I/opt/local/Library/Frameworks/Python.framework/Versions/3.10/include/python3.10 -c _re2.cc -o build/temp.macosx-10.8-x86_64-3.10/_re2.o -std=c++11
In file included from _re2.cc:37:
/opt/local/include/re2/re2.h:209:10: fatal error: 'mutex' file not found
#include <mutex>
         ^
1 error generated.

CCing those that have committed changes to this port, from 2019 onward.

Change History (9)

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

Summary: py-re2: failing to build for macOS 10.8; broken since 2019 or earlierpy-re2: failing to build for macOS 10.8, and broken since 2019 or earlier; mutex file not found

comment:2 Changed 2 years ago by reneeotten (Renee Otten)

it builds everywhere else so its likely using C++11 stuff that isn't supported by the compiler that gets selected on 10.8. I have no way of troubleshooting this nor real interest to be honest.. do you need this for anything on 10.8 or you just noticed that it doesn't build?

comment:3 in reply to:  2 ; Changed 2 years ago by mascguy (Christopher Nielsen)

Replying to reneeotten:

it builds everywhere else so its likely using C++11 stuff that isn't supported by the compiler that gets selected on 10.8. I have no way of troubleshooting this nor real interest to be honest.. do you need this for anything on 10.8 or you just noticed that it doesn't build?

It's blocking downstream builds of various dependents, so we really need to fix.

I quickly tried to fix, by blacklisting older Xcode clangs. But still fails, even when compiling with MacPorts Clang 13.

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

a likely issue is that the wrong -stdlib is being used on 10.8.

clang on 10.8 defaults to -stdlib=libstdc++ if there is none specified on the build line.

If you can get -stdlib=libc++ onto the build line, then it will probably work. I say probably, because I altered the default behaviour for MacPorts' clangs to default to libc++ on appropriate MacPorts installs even on 10.8, so clang-13 should actually work.

But at any rate, best to get the stdlib onto the build line and then see what gives.

comment:5 in reply to:  3 ; Changed 2 years ago by reneeotten (Renee Otten)

Replying to mascguy:

It's blocking downstream builds of various dependents, so we really need to fix.

its only dependent is mercurial so the fallout can't be that big...

But sure, @kencu his suggestion is certainly worth trying!

comment:6 in reply to:  5 ; Changed 2 years ago by jmroot (Joshua Root)

Cc: ryandesign added

Replying to reneeotten:

its only dependent is mercurial so the fallout can't be that big...

Not to mention nobody cared enough to file a ticket in 3+ years.

Anyway, Ryan pointed out the problem here: comment:9:ticket:64563

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

Replying to jmroot:

Anyway, Ryan pointed out the problem here: comment:9:ticket:64563

That works. Thanks Josh/Ryan!

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

Owner: set to Christopher Nielsen <mascguy@…>
Resolution: fixed
Status: newclosed

In fd2aecb9040c8700f330dbbc8e65c5aef8d14766/macports-ports (master):

py-re2: fix builds for 10.8, via configure.cflags
Fixes: #64934

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

Forced 10.8 rebuilds of the two previously-blocked dependents, mercurial and git-remote-hg. And all is now well in 10.8 Land.

Thanks again folks!

Note: See TracTickets for help on using tickets.