| Summary: | devel/cquery: switch to llvm60 | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Jan Beich <jbeich> | ||||||||||||
| Component: | Individual Port(s) | Assignee: | Jan Beich <jbeich> | ||||||||||||
| Status: | Closed FIXED | ||||||||||||||
| Severity: | Affects Only Me | CC: | henry.hu.sh | ||||||||||||
| Priority: | --- | Keywords: | needs-qa, patch | ||||||||||||
| Version: | Latest | Flags: | henry.hu.sh:
maintainer-feedback+
|
||||||||||||
| Hardware: | Any | ||||||||||||||
| OS: | Any | ||||||||||||||
| Bug Depends on: | 227679 | ||||||||||||||
| Bug Blocks: | |||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Jan Beich
2018-04-22 06:10:29 UTC
Created attachment 192718 [details]
v0
Created attachment 192864 [details]
update to 20180302
I tested and the current version does not work with llvm60. I updated it to latest release and it works. Here is the patch.
Created attachment 192865 [details]
poudriere log on 11.1-STABLE/amd64
Created attachment 192880 [details]
updated patch
Now cquery sets -std=c++14, which is not supported by clang in freebsd 10. In this patch, we specify -std=c++1y for freebsd 10.
Created attachment 192881 [details]
poudriere log on 10.4-RELEASE-p5/amd64
A commit references this bug: Author: jbeich Date: Sat Apr 28 18:57:07 UTC 2018 New revision: 468562 URL: https://svnweb.freebsd.org/changeset/ports/468562 Log: devel/cquery: update to 20180302 - Switch to LLVM 6.0, chasing r468505 Changes: https://github.com/cquery-project/cquery/releases/tag/v20180215 Changes: https://github.com/cquery-project/cquery/releases/tag/v20180302 PR: 227684 Submitted by: Henry Hu (maintainer) Changes: head/devel/cquery/Makefile head/devel/cquery/distinfo (In reply to commit-hook from comment #6) Sorry for the problematic patch, but the committed version may not work on FreeBSD 10. Please check the new version. (In reply to Henry Hu from comment #7) > ... may not work on FreeBSD 10. Can you elaborate? USES=compiler:c++14-lang sets CXX=clang++60 which does support C++14. I've also checked "cquery" binary doesn't crash on startup (in case of libc++/libcxxrt bugs). Not to mention -std=c++1y isn't supported on GCC platforms e.g., mips*, powerpc*, sparc64. Of those, sparc64 is stuck at lang/gcc48 and mips* doesn't support modern any lang/gcc* port but may adopt clang 6.0 in base in future. powerpc* and sparc64 aren't supported by emulators/qemu-user-static, so it's kinda tricky to test C++11 or later consumers via poudriere without real hardware. Build logs: 10.3 amd64: https://ptpb.pw/zaN5 10.3 i386: https://ptpb.pw/jQje 10.4 amd64: https://ptpb.pw/5E9W 10.4 i386: https://ptpb.pw/1dkQ (In reply to Jan Beich from comment #8) > -std=c++1y isn't supported on GCC platforms Where GCC 4.2.1 is still in base. USES=compiler:c++14-lang magic is supposed to request more modern CXX. During FreeBSD 9.x days on i386/amd64 USES=compiler:c++11-lang requested /usr/bin/clang++ while USES=compiler:c++14-lang requested clang++36. Once FreeBSD 11.1 reaches EOL USES=compiler:c++14-lang will probably transform into USES=compiler:c++17-lang. $ uname -rp
11.1-RELEASE mips64
$ c++ -v
Using built-in specs.
Target: mips64-undermydesk-freebsd
Configured with: FreeBSD/mips64 system compiler
Thread model: posix
gcc version 4.2.1 20070831 patched [FreeBSD]
$ echo 'int main() {}' >a.cc
$ c++ -std=c++1y a.cc
cc1plus: error: unrecognized command line option "-std=c++1y"
(In reply to Jan Beich from comment #8) Oh I missed the USES=compiler:c++14-lang part. With that part it should work. For c++17, do we have any plan to support compiler:c++17-lib? Better ask toolchain@. libc++ in base cannot be swapped out with a new version (see bug 215193). Another option is to use libstdc++ library from lang/gcc*. Due to libc++ vs. libstdc++ conflict leading to crashes every library dependency of a port has to be built against the same C++ library. |