BIND 10 #3378: Apple LLVM compiler 5.1 (clang 5.1) command line option changes break configure script
BIND 10 Development
do-not-reply at isc.org
Wed Mar 26 10:45:15 UTC 2014
#3378: Apple LLVM compiler 5.1 (clang 5.1) command line option changes break
configure script
-------------------------------------+-------------------------------------
Reporter: tmark | Owner: UnAssigned
Type: | Status: new
defect | Milestone: New Tasks
Priority: | Keywords:
medium | Sensitive: 0
Component: build | Sub-Project: DHCP
system | Estimated Difficulty: 0
CVSS Scoring: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
After updating to Xcode 5.1, which includes a compiler update, I was no
longer able to run "configure". The check for the "-R" compiler option
succeeds even though it is no longer supported. There are two tests for it
configure:
1. Checks if -Wl,R is available in the linker. The result of this
test is "no", which is correct. clang outputs an error stating that -R is
not supported.
2. Checks if -R is available in the linker. The result of this is "yes"
which is not actually correct. clang sets $? to 0 BUT there is a warning
to stderr that unused option is being ignored.
This second test causes the -R option to be included in compile flags
which causes subsequent tests for building with botan to fail.
After manually altering the configure script to suppress the -R, configure
completes successfully, however building the project then fails with link
errors. Specifically, I believe it was libdhcp's unit tests which failed
to link. So while the -R option
can be suppressed it's effect is something we need?
The following is an excerpt from Xcode 5.1 release notes:
{{{
The Apple LLVM compiler in Xcode 5.1 treats unrecognized command-line
options as errors. This issue has been seen when building both Python
native extensions and Ruby Gems, where some invalid compiler options are
currently specified.
Projects using invalid compiler options will need to be changed to
remove those options. To help ease that transition, the compiler will
temporarily accept an option to downgrade the error to a warning:
-Wno-error=unused-command-line-argument-hard-error-in-future
Note: This option will not be supported in the future.
To workaround this issue, set the ARCHFLAGS environment variable to
downgrade the error to a warning. For example, you can install a Python
native extension with:
$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-
future easy_install ExtensionName
Similarly, you can install a Ruby Gem with:
$ ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-
future gem install GemName 16214764 updated
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/3378>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list