Opened 8 years ago

Closed 7 years ago

Last modified 6 years ago

#30731 closed defect (fixed)

arm-none-eabi-binutils doesn't compile with newest Xcode (4D151a)

Reported by: mail@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.1
Keywords: haspatch Cc:
Port: arm-none-eabi-binutils

Description

libintl.h not found together with clang. Solution: build with llvm-gcc-4.2

Attachments (1)

Portfile.diff (289 bytes) - added by mail@… 8 years ago.

Download all attachments as: .zip

Change History (9)

Changed 8 years ago by mail@…

Attachment: Portfile.diff added

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

Type: updatedefect

This patch would break the port on platforms that don't have llvm-gcc-4.2. Does this problem occur with all versions of clang, or just the one in this Xcode version? Have you filed a radar about it?

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

Could this simply be the problem that clang does not use CPATH?

comment:3 Changed 8 years ago by mail@…

Works with the old Xcode Version 4B110

MacStream:~ uwe$ clang --version
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin11.1.0
Thread model: posix

comment:4 Changed 8 years ago by adfernandes (Andrew Fernandes)

Resolution: fixed
Status: newclosed

fixed in r87830

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

Resolution: fixed
Status: closedreopened

r87830 changes the compiler unconditionally to llvm-gcc-4.2. Did you not read comment:1 above which reminds us that llvm-gcc-4.2 is not available in earlier OS X versions' Xcodes? Please see PortfileRecipes#compiler for the way in which we usually want to select llvm-gcc-4.2 when clang would otherwise have been selected. Please see also comment:2 which suggests an alternative that may allow us to use clang after all.

comment:6 in reply to:  5 Changed 8 years ago by adfernandes (Andrew Fernandes)

Replying to ryandesign@…:

r87830 changes the compiler unconditionally to llvm-gcc-4.2. Did you not read comment:1 above which reminds us that llvm-gcc-4.2 is not available in earlier OS X versions' Xcodes? Please see PortfileRecipes#compiler for the way in which we usually want to select llvm-gcc-4.2 when clang would otherwise have been selected. Please see also comment:2 which suggests an alternative that may allow us to use clang after all.

Whups. Added the "use llvm-gcc if clang" in r87840. Of course, I doubt that that solves the problem.

The PortfileRecipes page doesn't say how to solve this problem, if indeed it can be solved. The gnu binutils assume, to a large extent, the gcc compiler suite, and a fairly recent one. The "compiler fallback" stuff is not particularly useful, methinks, if it can't be tested (which, for most of us, it can't be).

Maybe a better way to go about it is, for every port, a list of "blacklisted" compilers - "known not to work with pre-gcc-4.1" or "known not to work with pre-clang-3"?

comment:7 Changed 7 years ago by jmroot (Joshua Root)

Resolution: fixed
Status: reopenedclosed

comment:8 in reply to:  7 Changed 6 years ago by ports@…

Hi, arm-none-eabi-binutils does not compile with clang because it cannot find the libintl.h file. It does compile with apple-gcc-4.2. The clang compiler should be blacklisted for this port.

Note: See TracTickets for help on using tickets.