Summary: | www/spdylay does not compile with gcc49 on FreeBSD 9 | ||
---|---|---|---|
Product: | Ports & Packages | Reporter: | Olivier - interfaSys sàrl <software-freebsd> |
Component: | Individual Port(s) | Assignee: | Po-Chuan Hsieh <sunpoet> |
Status: | Closed Overcome By Events | ||
Severity: | Affects Only Me | CC: | ph73nt, software-freebsd, w.schwarzenfeld |
Priority: | --- | Flags: | bugzilla:
maintainer-feedback?
(sunpoet) |
Version: | Latest | ||
Hardware: | Any | ||
OS: | Any |
Description
Olivier - interfaSys sàrl
2016-01-24 16:16:24 UTC
A shorter log without parallel jobs: libtool: link: g++49 -O2 -pipe -fPIE -march=native -march=native -fstack-protector-strong --param ssp-buffer-size=4 -fno-strict-aliasing -std=c++11 -pthread -Wl,-rpath -Wl,/usr/local/lib -fstack-protector -o .libs/spdycat util.o timegm.o spdylay_ssl.o spdycat.o HtmlParser.o http-parser/http_parser.o -L/usr/local/lib -lssl -lcrypto -lxml2 -liconv -lm -levent_openssl -levent ../lib/.libs/libspdylay.so -L/usr/lib -lz -pthread -Wl,-rpath -Wl,/usr/local/lib spdylay_ssl.o: In function `spdylay::connect_to(std::string const&, unsigned short)': spdylay_ssl.cc:(.text+0x365): undefined reference to `std::ctype<char>::_M_widen_init() const' spdylay_ssl.o: In function `spdylay::make_listen_socket(std::string const&, unsigned short, int)': spdylay_ssl.cc:(.text+0x5c5): undefined reference to `std::ctype<char>::_M_widen_init() const' spdylay_ssl.o: In function `spdylay::ssl_handshake(ssl_st*, int)': spdylay_ssl.cc:(.text+0xaf5): undefined reference to `std::ctype<char>::_M_widen_init() const' spdylay_ssl.cc:(.text+0xb92): undefined reference to `std::ctype<char>::_M_widen_init() const' spdylay_ssl.o: In function `spdylay::nonblock_connect_to(std::string const&, unsigned short, int)': spdylay_ssl.cc:(.text+0x114e): undefined reference to `std::ctype<char>::_M_widen_init() const' spdylay_ssl.o:spdylay_ssl.cc:(.text+0x1376): more undefined references to `std::ctype<char>::_M_widen_init() const' follow collect2: error: ld returned 1 exit status *** [spdycat] Error code 1 Stop in /usr/ports/www/spdylay/work/spdylay-1.3.2/src. *** [all-recursive] Error code 1 Stop in /usr/ports/www/spdylay/work/spdylay-1.3.2. *** [all] Error code 1 Stop in /usr/ports/www/spdylay/work/spdylay-1.3.2. *** [do-build] Error code 1 Stop in /usr/ports/www/spdylay. I got it to compile with: CFLAGS+=-rpath=/usr/bin/gcc49 I've tried and it didn't change anything. Since /usr/bin/gcc49 doesn't exist, did you create a symlink? Has it been there for a while? I suspect some of the dependencies would need to be compiled with that flag. I use "LDFLAGS+= -Wl,-rpath=/usr/local/lib/gcc49" in my make.conf Sorry, was too fast, above does not work (forgot I have something commented out). But if I put: .if ${OSVERSION} < 1000000 USE_GCC= 4.9 LDFLAGS+= -rpath=/usr/local/bin/ .endif in the Makefile, it works. (I know, it is need an other conditional - this one said work ever with gcc49 on 9.3). Cool trick! :) That even work with www/nghttp2 and I suspect many other ports giving me problems... Many thanks! BTW, I only needed USE_GCC= 4.9 I get what looks like the same error compiling www/spdylay with GCC 4.9 on the sparc64 build of FreeBSD 10.3.
I compile using:
> make USE_GCC=4.9 install
Config summary shows:
----
configure: summary of build options:
Version: 1.3.2 shared 9:0:2
Host type: sparc64-portbld-freebsd10.3
Install prefix: /usr/local
C compiler: gcc49
CFLAGS: -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc49 -fno-strict-aliasing -I/usr/include
LDFLAGS: -Wl,-rpath=/usr/local/lib/gcc49 -L/usr/local/lib/gcc49
LIBS: -L/usr/lib -lz
CPPFLAGS:
C preprocessor: cpp49
C++ compiler: g++49
CXXFLAGS: -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc49 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc49 -std=c++11
CXXCPP: g++49 -E
Library types: Shared=yes, Static=yes
CUnit: no
OpenSSL: yes
Libxml2: yes
Libevent(SSL): yes
Src: yes
Examples: yes
----
Tail of the compile goes:
----
ibtool: link: g++49 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc49 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc49 -std=c++11 -pthread -Wl,-rpath=/usr/local/lib/gcc49 -o .libs/spdycat util.o
timegm.o spdylay_ssl.o spdycat.o HtmlParser.o http-parser/http_parser.o -L/usr/lib -lcrypto -lssl -L/usr/local/lib -lxml2 -lm -levent_openssl -levent -L/usr/local/lib/gcc49 ../lib/.libs/libsp
dylay.so -lz -pthread -Wl,-rpath -Wl,/usr/local/lib
spdylay_ssl.o: In function `spdylay::connect_to(std::string const&, unsigned short)':
spdylay_ssl.cc:(.text+0x4b8): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.o: In function `spdylay::make_listen_socket(std::string const&, unsigned short, int)':
spdylay_ssl.cc:(.text+0x73c): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.o: In function `spdylay::ssl_handshake(ssl_st*, int)':
spdylay_ssl.cc:(.text+0xd24): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.cc:(.text+0xdb8): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.o: In function `spdylay::nonblock_connect_to(std::string const&, unsigned short, int)':
spdylay_ssl.cc:(.text+0x1404): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.o:spdylay_ssl.cc:(.text+0x1610): more undefined references to `std::ctype<char>::_M_widen_init() const' follow
collect2: error: ld returned 1 exit status
*** [spdycat] Error code 1
make[3]: stopped in /usr/ports/www/spdylay/work/spdylay-1.3.2/src
1 error
make[3]: stopped in /usr/ports/www/spdylay/work/spdylay-1.3.2/src
*** [all-recursive] Error code 1
make[2]: stopped in /usr/ports/www/spdylay/work/spdylay-1.3.2
1 error
make[2]: stopped in /usr/ports/www/spdylay/work/spdylay-1.3.2
*** [all] Error code 2
make[1]: stopped in /usr/ports/www/spdylay/work/spdylay-1.3.2
1 error
make[1]: stopped in /usr/ports/www/spdylay/work/spdylay-1.3.2
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make: stopped in /usr/ports/www/spdylay
----
Also fails with MAKE_JOBS_UNSAFE=yes.
spdylay 1.4.0 builds fine in a FreeBSD 9.3-RELEASE-p50 jail with DEFAULT_VERSIONS=ssl=openssl. |