Opened 7 years ago

Closed 6 years ago

#54208 closed defect (fixed)

mpd @0.20.5: error: *** A compiler with support for C++14 language features is required.

Reported by: jeblairpgh Owned by: l2dy (Zero King)
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: Cc:
Port: mpd

Description

During a recent upgrade, macports reported that several ports had linking failures. When I gave permission to rebuild them, configuration of mpd failed.

--->  Fetching distfiles for mpd
--->  Verifying checksums for mpd
--->  Extracting mpd
--->  Configuring mpd
Error: Failed to configure mpd, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_audio_mpd/mpd/work/mpd-0.20.5/config.log
Error: Failed to configure mpd: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_audio_mpd/mpd/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port mpd failed

I tried cleaning, and uninstalling/reinstalling, but it's still giving me the error.

Attachments (1)

main.log (50.0 KB) - added by jeblairpgh 7 years ago.
log file

Download all attachments as: .zip

Change History (6)

Changed 7 years ago by jeblairpgh

Attachment: main.log added

log file

comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: mpdmpd @0.20.5: error: *** A compiler with support for C++14 language features is required.

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

you'll need to install a newer compiler. Luckily, there are several.

try sudo port -v install clang-4.0 and assuming that goes without error, then try this:

first clean up:

sudo port clean mpd then try:

sudo port -v install mpd configure.compiler=macports-clang-4.0

If that works well for you and you don't want to be troubled by these kinds of errors in the future, you can look into setting your MacPorts default compiler to clang-4.0, and then you will not likely be troubled by this kind of error again.

All the best, K

Last edited 7 years ago by kencu (Ken) (previous) (diff)

comment:3 Changed 7 years ago by jeblairpgh

Thank you so much! That fixed it!

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

This port has no maintainer. I tested the build with clang-3.7, and that passes the c++14 test. So presumably we would blacklist something like clang < 700 and that should work.

There are other errors in this port, based on some assumed functions in the standard library that are not tested for on my older systems:

In file included from src/util/WStringCompare.cxx:21:
src/util/WStringAPI.hxx:110:10: error: use of undeclared identifier 'wcpcpy'; did you mean 'wcscpy'?
  return wcpcpy(dest, src);
         ^~~~~~
         wcscpy
/usr/include/wchar.h:149:10: note: 'wcscpy' declared here
wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict);
         ^
In file included from src/util/WStringCompare.cxx:21:
src/util/WStringAPI.hxx:143:9: error: use of undeclared identifier 'wcsdup'
        return wcsdup(p);

but those are separate items and separate tickets.

comment:5 Changed 6 years ago by l2dy (Zero King)

Owner: set to l2dy
Resolution: fixed
Status: newclosed

In 6c5664351a8cbd445fc2d4d5500de4a07273c452/macports-ports (master):

mpd: require a C++14 compatible compiler

Fixes: #54208

Note: See TracTickets for help on using tickets.