joyent/node — Issue #2032: Error compiling v0.6.0 with with gcc 4.2.1 (OSX) and OpenSSL 1.0.0e
Author: pixeldrew
Created: 2011-11-06 03:21:57+00:00
State: open

Hi,

I'm have a build error on OSX.

$ ./configure --openssl-includes=/opt/local/include/openssl/

This is the build error:

[33/35] cxx: src/platform_darwin.cc -> out/Release/src/platform_darwin_5.o
/usr/bin/g++ -pthread -arch x86_64 -g -O3 -DHAVE_OPENSSL=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_FDATASYNC=0 -DARCH="x64" -DPLATFORM="darwin" -D__POSIX__=1 -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -IRelease/src -I../src -IRelease/deps/http_parser -I../deps/http_parser -IRelease/deps/uv/include -I../deps/uv/include -IRelease/deps/uv/src/ares -I../deps/uv/src/ares -IRelease/deps/v8/include -I../deps/v8/include -I/opt/local/include/openssl/ -Ideps/v8/include ../src/platform_darwin.cc -c -o Release/src/platform_darwin_5.o
In file included from ../src/platform_darwin_proctitle.cc:36,
from ../src/platform_darwin.cc:59:
/opt/local/include/openssl/err.h:150: error: ‘CRYPTO_THREADID’ does not name a type
/opt/local/include/openssl/err.h:355: error: expected ‘,’ or ‘...’ before ‘*’ token
/opt/local/include/openssl/err.h:355: error: ISO C++ forbids declaration of ‘CRYPTO_THREADID’ with no type
/opt/local/include/openssl/err.h:362: error: expected constructor, destructor, or type conversion before ‘*’ token
/opt/local/include/openssl/err.h:363: error: expected constructor, destructor, or type conversion before ‘*’ token
/opt/local/include/openssl/err.h:364: error: variable or field ‘ERR_release_err_state_table’ declared void
/opt/local/include/openssl/err.h:364: error: expected primary-expression before ‘)’ token
/opt/local/include/openssl/err.h:364: error: ‘LHASH_OF’ was not declared in this scope
/opt/local/include/openssl/err.h:364: error: ‘hash’ was not declared in this scope
In file included from ../src/platform_darwin.cc:59:
../src/platform_darwin_proctitle.cc: In static member function ‘static void node::Platform::SetProcessTitle(char*)’:
../src/platform_darwin_proctitle.cc:75: error: ‘warnx’ was not declared in this scope
../src/platform_darwin_proctitle.cc:87: error: ‘warnx’ was not declared in this scope
../src/platform_darwin_proctitle.cc:100: error: ‘warnx’ was not declared in this scope
../src/platform_darwin_proctitle.cc:112: error: ‘warnx’ was not declared in this scope
../src/platform_darwin_proctitle.cc:141: error: ‘warnx’ was not declared in this scope
Waf: Leaving directory `/Users/drewf/Documents/workspace/xcode/node/out'
Build failed: -> task failed (err #1):
{task: cxx platform_darwin.cc -> platform_darwin_5.o}
make: *** [program] Error 1

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~38/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)

$ /opt/local/bin/openssl version
OpenSSL 1.0.0e 6 Sep 2011

Compilation works fine without OpenSSL Support.