Opened 11 years ago

Closed 7 years ago

#40494 closed defect (fixed)

aria2 @1.18.0: requires C++11 support

Reported by: Schamschula (Marius Schamschula) Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version: 2.2.0
Keywords: snowleopard leopard Cc: jeremyhu (Jeremy Huddleston Sequoia), Ionic (Mihai Moldovan), ryandesign (Ryan Carsten Schmidt)
Port: aria2

Description

While running configure on aria2 1.18.0 under Snow Leopard I get the following error:

:info:configure checking whether /usr/bin/clang++ supports C++11 features by default... no
:info:configure checking whether /usr/bin/clang++ supports C++11 features with -std=c++11 ... no
:info:configure checking whether /usr/bin/clang++ supports C++11 features with -std=c++11 -stdlib=libc++... no
:info:configure checking whether /usr/bin/clang++ supports C++11 features with -std=c++0x ... no
:info:configure checking whether /usr/bin/clang++ supports C++11 features with -std=c++0x -stdlib=libc++... no
:info:configure configure: error: *** A compiler with support for C++11 language features is required.

Need to set compiler dependency to gcc > 4.6.x or clang 3.3?

Attachments (1)

Portfile-aria2.diff (1.0 KB) - added by Schamschula (Marius Schamschula) 9 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 11 years ago by cooljeanius (Eric Gallager)

Need to set compiler dependency to gcc > 4.6.x or clang 3.3?

I think using a compiler.blacklist would be the right thing to do here... not sure what exactly the most efficient way to write it would be though...

Last edited 11 years ago by cooljeanius (Eric Gallager) (previous) (diff)

comment:2 Changed 11 years ago by larryv (Lawrence Velázquez)

Cc: jeremyhu@… added
Owner: changed from macports-tickets@… to mww@…
Port: aria2 added
Summary: aria2 1.18.0 vs C++11aria2 @1.18.0: requires C++11 support

comment:3 Changed 11 years ago by jeremyhu (Jeremy Huddleston Sequoia)

sigh ...

looking at its dependencies and description, it looks like it's an application (should probably have "installs_libs no") with no C++ dependencies. Thus it might be ok to just "force" libc++ with:

configure.blacklist *gcc*
depends_lib-append port:libcxx
if {[info exists configure.cxx_stdlib]} {
    configure.cxx_stdlib libc++
} else {
    configure.cxxflags-append -stdlib=libc++
}

Note that we'll run into the same revupgrade issue that cal mentioned on macports-dev for textmate.

Last edited 11 years ago by jeremyhu (Jeremy Huddleston Sequoia) (previous) (diff)

comment:4 Changed 11 years ago by Schamschula (Marius Schamschula)

FYI:

I just successfully (manually) built aria2 1.18.1 using gcc 4.8.2 under Mavericks.

comment:5 Changed 9 years ago by Schamschula (Marius Schamschula)

Updated aria2 to version 1.8.10. This is a clean build w/o resorting to gcc.

Changed 9 years ago by Schamschula (Marius Schamschula)

Attachment: Portfile-aria2.diff added

comment:6 Changed 9 years ago by Schamschula (Marius Schamschula)

Also fixed livecheck.

comment:7 Changed 9 years ago by Ionic (Mihai Moldovan)

Cc: ionic@… added

Marius, the update request should have been a separate ticket.

I know that mww is still active, but I'll go ahead and update the port + livecheck to the latest version.

comment:8 Changed 9 years ago by Ionic (Mihai Moldovan)

Livecheck (not your version, but one inspired by the sourceforge LivecheckGroup) in r135130.

Update in r135131, because the port was updated at least once to .5 meanwhile and is thus broken on older platforms currently anyway. We can at least update it to the most recent version.

This doesn't affect this ticket in general, though. Leaving it open.

comment:9 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Keywords: snowleopard leopard added

In aria2 @1.18.0 the developers changed the configure script to check for and use libc++ automatically if needed. The port builds successfully this way on Lion and later. The problem is on Snow Leopard and earlier, where OS X does not include libc++. On those systems, users need to follow part of the instructions in LibcxxOnOlderSystems: namely, install the libcxx port.

The port behaves somewhat unexpectedly, in that it does not clean up after itself if you deactivate or uninstall it. I've filed #49903 to request it be improved to do this. Once it does, it would be a simple matter to modify the cxx11 portgroup to add a dependency on the libcxx port when needed, and to modify the aria2 port to use that portgroup.

comment:10 Changed 7 years ago by kurthindenburg (Kurt Hindenburg)

Owner: changed from mww@… to macports-tickets@…
Status: newassigned

comment:11 Changed 7 years ago by Schamschula (Marius Schamschula)

Owner: changed from macports-tickets@… to Schamschula

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

Resolution: fixed
Status: assignedclosed

In df6be8b52a743362faa44adeca9fd93994f40586/macports-ports:

aria2: switch to cxx11 1.1 PG

fixed build on older systems
closes #40494

Note: See TracTickets for help on using tickets.