# spdylay port make install fails (10.3+sparc64)



## fishlegs (May 28, 2016)

Hi folks,

hoping someone can help with this. I'm an old hat with *nix, but new to fFreeBSD. I can't get  www/spdylay to build. None of the output from `make config` throws anything unusual, but `make install` fails:


```
make install
...snip...
libtool: link: g++48 -O2 -pipe -Wl,-rpath=/usr/local/lib/gcc48 -fno-strict-aliasing -Wl,-rpath=/usr/local/lib/gcc48 -std=c++11 -pthread -Wl,-rpath=/usr/local/lib/gcc48 -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/gcc48 ../lib/.libs/libspdylay.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+0x71c): 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+0xd04): 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+0x1384): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.o: In function `spdylay::ssl_nonblock_handshake(ssl_st*, int, int&)':
spdylay_ssl.cc:(.text+0x1570): undefined reference to `std::ctype<char>::_M_widen_init() const'
spdylay_ssl.o:spdylay_ssl.cc:(.text+0x1aec): 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
```

I've tried several times and I make sure I run `make distclean` first. I've done as the output suggests and tried `make MAKE_JOBS_UNSAFE=yes install`, which fails with the same "undefined references" error.

I'm running FreeBSD 10.3 sparc64 on an old Sunfire v100 Ultrasparc.

Any help gratefully received, thanks.

Fishlegs.


----------



## cpm@ (May 31, 2016)

See PR 206580.

It seems that it builds fine with gcc49.


----------



## fishlegs (Jun 3, 2016)

Thanks for the response, I've used ports to install gcc49 (marathon build on my ancient machine!) but I'm still getting what looks like the same error.

Here's my config summary from running `make USE_GCC=4.9 install`. Shows it has identified gcc49 is available.

```
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
```

and here's the tail of the build:


```
libtool: 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
```

Again, any suggestions would be gratefully received,

thanks, Fishlegs.


----------



## cpm@ (Jun 5, 2016)

Add this information to the PR 206580. The port maintainer will take care to fix this issue ASAP.


----------



## drhowarddrfine (Jun 5, 2016)

What is the use of this since spdy only laid the groundwork for HTTP/2 and I thought was obsoleted?


----------

