Opened 5 years ago

Closed 21 months ago

#58869 closed defect (fixed)

ispc @1.11.0: fatal error: 'type_traits' file not found

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: lion, mountainlion Cc: mascguy (Christopher Nielsen)
Port: ispc

Description

ispc does not build on OS X 10.7 or 10.8. The first error is:

/opt/local/libexec/llvm-8.0/include/llvm/Support/type_traits.h:18:10: fatal error: 'type_traits' file not found
#include <type_traits>
         ^~~~~~~~~~~~~

This probably means this software (or the version of llvm it is now using) requires C++11. To indicate that requirement, include the cxx11 1.1 portgroup.

Change History (15)

comment:1 Changed 5 years ago by jmroot (Joshua Root)

Using the cxx11 portgroup will do nothing since this port is already setting configure.compiler to clang-8.0.

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

it's trying to build against libstdc++, which does not support c++11. The cxx11 PG would force a newer stdlib.

Another vote for defaulting us to libc++ on all systems :)

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

one thing to know is that macports-clang-7.0 and later default to c++17 if none is specified. This can break builds on software that doesn't set a standard.

Last edited 5 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

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

I was going to look into this, but this port doesn't yet build on any MacOS systems at all, so no point trying for the legacy systems.

comment:5 in reply to:  3 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to kencu:

one thing to know is that macports-clang-7.0 and later default to c++17 if none is specified. This can break builds on software that doesn't set a standard.

Does the new compiler selection code slated to be released in MacPorts 2.6.0 address this? Are we now setting a language standard by default? If not, those changes should at least make it easier to specify a language standard. I believe we'll now have a portfile option for that.

comment:6 in reply to:  2 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to kencu:

Another vote for defaulting us to libc++ on all systems :)

It's not about voting. It's about deciding how to do it, including how to provide a smooth upgrade path for our existing libstdc++ users, and then writing the code to do it. In any case, let's keep that debate out of this ticket. There are other more appropriate places where that discussion can be had.

comment:7 Changed 5 years ago by tenomoto (Takeshi Enomoto)

I need to setup the old versions.

It is strange that clang-8.0 behaves differently across OS versions.

The build failure on a newer (10.13, 14) was due to a failure to force require_active_variants. Fixed in 5eb768a54de36485a3c04d0502247e04ba734bc4/macports-ports

See: #58868

comment:8 Changed 5 years ago by kencu (Ken)

yes, it is exactly the fact that (all) clang versions behave differently across os versions that is leading us to default to libc++ on older systems. Then clang will behave the same across os versions, and we will see fewer tickets like this one!

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

The new compiler selection logic in MacPorts base has been released, but also a new ispc-clang subport exists which apparently the ispc port is now supposed to be using (but doesn't actually appear to be using). We will need to see what happens on the 10.7 or 10.8 buildbot worker after ispc-clang is fixed so that it can build and so that it is used.

comment:10 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:11 Changed 2 years ago by tenomoto (Takeshi Enomoto)

I abondon ispc.

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

Owner: changed from tenomoto to nobody

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

Owner: nobody deleted

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

Keywords: lion mountainlion added

comment:15 Changed 21 months ago by cjones051073 (Chris Jones)

Resolution: fixed
Status: assignedclosed

Update to 1.19.0 fixed build down to 10.7

https://ports.macports.org/port/ispc/details/

Note: See TracTickets for help on using tickets.