Opened 5 years ago
Last modified 4 years ago
#58682 assigned defect
VLC @3.0.7.1: configure: error: C++ preprocessor "/usr/bin/clang++" fails sanity check
Reported by: | stilwellweather | Owned by: | RJVB (René Bertin) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.99 |
Keywords: | Cc: | cooljeanius (Eric Gallager) | |
Port: | VLC |
Description
Trying to build vlc 3.0.7.1 on my Mac running macOS 10.14.5 with Xcode 10.2.1 (10E1001) on the development git branch and VLC fails to configure
Error: Failed to configure VLC, consult /opt/local/var/macports/build/_opt_mports_macports-ports_multimedia_VLC/VLC/work/vlc-3.0.7.1/config.log Error: Failed to configure VLC: configure failure: command execution failed Error: See /opt/local/var/macports/logs/_opt_mports_macports-ports_multimedia_VLC/VLC/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port vlc failed
Log files after running port clean attached
Attachments (7)
Change History (18)
Changed 5 years ago by stilwellweather
Attachment: | config.log.zip added |
---|
Changed 5 years ago by stilwellweather
Attachment: | main.log.zip added |
---|
comment:1 Changed 5 years ago by jmroot (Joshua Root)
Owner: | changed from RJVB, to RJVB |
---|
comment:2 Changed 5 years ago by mf2k (Frank Schima)
Priority: | Low → Normal |
---|
comment:3 Changed 5 years ago by RJVB (René Bertin)
comment:4 Changed 5 years ago by stilwellweather
When I say git development branch, I meant to say I installed MacPorts from git and didn't checkout a specific version. I tested the build with both versions of clang (5 and 6) as you suggested and it still failed.
comment:5 Changed 5 years ago by RJVB (René Bertin)
This has me flabbergasted. Doesn't VLC build on the 10.14 buildbot?
I don't see a trivial/proper way to disable the preprocessor check either. Ship a tweaked c.m4 file, maybe? The only easy thing I can think of ATM is a tweak to the portfile. Please do port edit VLC
and then find the part where CXXCPP
is set. Add a corresponding definition for CPP, e.g.
if {[vercmp [macports_version] 2.5.99] >= 0} { configure.env-append \ "CPP=${configure.cc} -E" \ "CXXCPP=${configure.cxx} -E" } else { configure.env-append \ CPP="${configure.cc} -E" \ CXXCPP="${configure.cxx} -E" }
Then, clean and attempt again
comment:6 Changed 5 years ago by RJVB (René Bertin)
If that fails too, there's 1 more thing to try: replace ${configure.cc}
above with clang-cpp-mp-N
(where N is 5.0 or 6.0 or whatever clang version you're using).
comment:7 Changed 5 years ago by stilwellweather
Good news. It looks like replacing ${configure.cc}
with clang-cpp-mp-5.0
did the trick. It built and opened perfectly.
comment:8 Changed 5 years ago by cjones051073 (Chris Jones)
${configure.cc
} should refer to a C compiler, not a C++ compiler, which are what clang-cpp-mp-N
are. So regardless of this works or not, its not really an acceptable fix.
comment:9 Changed 5 years ago by RJVB (René Bertin)
Are you certain that clang-cpp is a C++ compiler and not a (C) preprocessor?
Also, please read more carefully. The tested fix is not replacing the value configure.cc, but replacing the use of configure.cc in the CPP env. variable.
comment:10 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | VLC added; vlc removed |
---|---|
Summary: | vlc @3.0.7.1 build failure - failed to configure → VLC @3.0.7.1: configure: error: C++ preprocessor "/usr/bin/clang++" fails sanity check |
Version: | → 2.5.99 |
comment:11 Changed 4 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
What do you mean with "the development git branch"? Do you mean that you're running some kind of beta OS or toolchain version?
The failure:
Yes, there appears to be the words "Syntax error" appended to the conftest.cpp file, using tabs for indentation. I have no idea where this can come from...
EDIT: actually, it comes from the configure script, and is appended to catch a feature of a compiler on the Next OS (!), namely that
cc -E
pulls the output through the parser. The error suggests this feature also exists in the clang version of the Xcode you're using. Which is strange, because /methinks that lots of configure scripts are going to be failing.Could you try with clang 5 or 6 from MacPorts (I have tested those myself, and I would avoid clang 8 because of a warning I saw somewhere)? If that works we may have to blacklist the clang version of your Xcode...