-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
node compile failure on Solaris 11.2 and gcc 4.8 (undefined std::isnan) #3179
Comments
@nodejs/platform-solaris: Ping. Does anyone have solaris 11.2 to test the patch on? |
@cgalibern this is against latest git nodejs HEAD? |
yes, after: git clone https://github.com/nodejs/node.git git branch -v
|
So, adding this define doesn't at least break our current smartos builds. Test suite runs fine. If you say it fixes your issue, I'm ok with merging. Anyone else in @nodejs/platform-solaris object? Edit: I'll create a PR if so. |
I'm wondering if using Otherwise, I don't have a problem with defining Also, do we have Solaris (not SmartOS) Jenkins agents on which to run builds and tests? |
I will try to compile using |
@misterdjules no, we don't - but it'd be great if we did. |
@cgalibern ping! any feedback? |
Hi,
|
Without access to the same platform I don't have anything against defining I would also suggest to upstream the change to V8 instead of making the change in node's |
I installed a plain vanilla Solaris 11.2 instance and compiled node v4.2.1 there successfully. Oracle Corporation SunOS 5.11 11.2 June 2014 root@solaris: root@solaris: root@solaris:/opt/node-4.2.1~# ./configure --dest-cpu=x64 --dest-os=solaris --prefix=/opt/node Thanks to @drook and @cgalibern for their previous findings that helped me to accomplish this. |
@alexijs, I've confirmed this does build and properly runs our node.js-based services on Solaris 11.2. These are the only issues I had - both were easily resolved.
|
|
Thanks for the instructions, I was able to compile Node 4.2.2 from source on Solaris 11.3. Like mentioned above, this doesn't include npm and I'm new to node so I'm not quite sure what I need to do to get that installed given that I now have a functioning node binary. Can anyone help me out? Thanks again! [Edit] [2nd edit] |
This seems resolved to me so I'm going to close it. Feel free to re-open or comment if I'm wrong about closing it. |
@Trott is it possible to also provide Solaris node versions into https://nodejs.org/en/download/ ? |
@cgalibern See #7115 for some discussion on that. |
I am missing this patch in the repo.
|
Without the patch it won't build on Solaris 11 with gcc. |
./configure --dest-cpu=x64 --dest-os=solaris --prefix=/opt/node
make
make -C out BUILDTYPE=Release V=1
make[1]: Entering directory
.../node.git/out' deps/v8/tools/gyp/v8_base.target.mk:432: warning: overriding recipe for target
somewhere/node.git/out/Release/libv8_base.a'deps/v8/tools/gyp/v8_base.host.mk:428: warning: ignoring old recipe for target
somewhere/node.git/out/Release/libv8_base.a' deps/v8/tools/gyp/v8_libbase.target.mk:147: warning: overriding recipe for target
somewhere/node.git/out/Release/libv8_libbase.a'deps/v8/tools/gyp/v8_libbase.host.mk:143: warning: ignoring old recipe for target
somewhere/node.git/out/Release/libv8_libbase.a' deps/v8/tools/gyp/v8_libplatform.target.mk:135: warning: overriding recipe for target
somewhere/node.git/out/Release/libv8_libplatform.a'deps/v8/tools/gyp/v8_libplatform.host.mk:131: warning: ignoring old recipe for target
somewhere/node.git/out/Release/libv8_libplatform.a' deps/v8/tools/gyp/v8_nosnapshot.target.mk:139: warning: overriding recipe for target
somewhere/node.git/out/Release/libv8_nosnapshot.a'deps/v8/tools/gyp/v8_nosnapshot.host.mk:135: warning: ignoring old recipe for target
somewhere/node.git/out/Release/libv8_nosnapshot.a' deps/v8/tools/gyp/v8_snapshot.target.mk:158: warning: overriding recipe for target
somewhere/node.git/out/Release/libv8_snapshot.a'deps/v8/tools/gyp/v8_snapshot.host.mk:158: warning: ignoring old recipe for target
somewhere/node.git/out/Release/libv8_snapshot.a' g++ '-DV8_TARGET_ARCH_X64' '-D__C99FEATURES__=1' '-DENABLE_DISASSEMBLER' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' -I../deps/v8 -Wall -Wextra -Wno-unused-parameter -m64 -pthreads -fno-strict-aliasing -O3 -ffunction-sections -fdata-sections -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF somewhere/node.git/out/Release/.deps/somewhere/node.git/out/Release/obj.target/v8_base/deps/v8/src/accessors.o.d.raw -c -o somewhere/node.git/out/Release/obj.target/v8_base/deps/v8/src/accessors.o ../deps/v8/src/accessors.cc In file included from ../deps/v8/src/objects-inl.h:18:0, from ../deps/v8/src/v8.h:39, from ../deps/v8/src/accessors.cc:5: ../deps/v8/src/conversions-inl.h: In function 'double v8::internal::DoubleToInteger(double)': ../deps/v8/src/conversions-inl.h:79:7: error: '__builtin_isnan' is not a member of 'std' if (std::isnan(x)) return 0; ^ ../deps/v8/src/conversions-inl.h:79:7: note: suggested alternative: <built-in>:0:0: note: '__builtin_isnan' In file included from /usr/include/math.h:13:0, from /usr/gcc/4.8/include/c++/4.8.2/cmath:44, from ../deps/v8/src/utils.h:11, from ../deps/v8/src/v8.h:34, from ../deps/v8/src/accessors.cc:5: ../deps/v8/src/conversions-inl.h:80:13: error: expected unqualified-id before '__extension__' if (!std::isfinite(x) || x == 0) return x; ^ ../deps/v8/src/conversions-inl.h:80:13: error: expected ')' before '__extension__' In file included from ../deps/v8/src/v8.h:39:0, from ../deps/v8/src/accessors.cc:5: ../deps/v8/src/objects-inl.h: In member function 'bool v8::internal::Object::IsNaN() const': ../deps/v8/src/objects-inl.h:1125:34: error: '__builtin_isnan' is not a member of 'std' return this->IsHeapNumber() && std::isnan(HeapNumber::cast(this)->value()); ^ ../deps/v8/src/objects-inl.h:1125:34: note: suggested alternative: <built-in>:0:0: note: '__builtin_isnan' ../deps/v8/src/objects-inl.h: In member function 'void v8::internal::FixedDoubleArray::set(int, double)': ../deps/v8/src/objects-inl.h:2312:7: error: '__builtin_isnan' is not a member of 'std' if (std::isnan(value)) { ^ ../deps/v8/src/objects-inl.h:2312:7: note: suggested alternative: <built-in>:0:0: note: '__builtin_isnan' make[1]: *** [somewhere/node.git/out/Release/obj.target/v8_base/deps/v8/src/accessors.o] Error 1 make[1]: Leaving directory
somewhere/node.git/out'make: *** [node] Error 2
Same issue as nodejs/node-v0.x-archive#9351
The text was updated successfully, but these errors were encountered: