Skip to content
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

Cannot Build Node.js 6.7.0 on CorePure64 Tinycore Linux #8867

Closed
Siecje opened this issue Sep 30, 2016 · 4 comments
Closed

Cannot Build Node.js 6.7.0 on CorePure64 Tinycore Linux #8867

Siecje opened this issue Sep 30, 2016 · 4 comments
Labels
build Issues and PRs related to build files or the CI. i18n-api Issues and PRs related to the i18n implementation.

Comments

@Siecje
Copy link

Siecje commented Sep 30, 2016

  • Version: 6.7.0
  • Platform: CorePure64 Tinycore Linux
  • Subsystem:

I'm trying to build node version 6.7.0 on 64 bit Tinycore Linux with g++ version 5.2.0.

I'm getting an error that the -fno-rtti flag is being set when the code is using typeid and dynamic_cast.

Steps to reproduce

CorePure64 TinyCore Linux ISO Download http://tinycorelinux.net/7.x/x86_64/release/CorePure64-7.2.iso

tce-load -wi python-dev compiletc
wget https://nodejs.org/dist/v6.7.0/node-v6.7.0.tar.gz
tar -zvxf node-v6.7.0.tar.gz
cd node-v6.7.0
./configure
make

Make output

make[1]: Entering directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
  g++ '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_TRANSLITERATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' '-DUCONFIG_NO_CONVERSION=1' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wno-deprecated-declarations -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -frtti -MMD -MF /mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/.deps//mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbt_pars.o.d.raw  -mtune=generic -Os -pipe -fno-exceptions -fno-rtti -c -o /mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/rbt_pars.o ../deps/icu-small/source/i18n/rbt_pars.cpp
make[1]: Leaving directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
make[1]: Entering directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
  g++ '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_TRANSLITERATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' '-DUCONFIG_NO_CONVERSION=1' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wno-deprecated-declarations -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -frtti -MMD -MF /mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/.deps//mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/plurfmt.o.d.raw  -mtune=generic -Os -pipe -fno-exceptions -fno-rtti -c -o /mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/plurfmt.o ../deps/icu-small/source/i18n/plurfmt.cpp
../deps/icu-small/source/i18n/plurfmt.cpp: In member function 'icu_57::UnicodeString& icu_57::PluralFormat::format(const icu_57::Formattable&, double, icu_57::UnicodeString&, icu_57::FieldPosition&, UErrorCode&) const':
../deps/icu-small/source/i18n/plurfmt.cpp:271:75: error: 'dynamic_cast' not permitted with -fno-rtti
         DecimalFormat *decFmt = dynamic_cast<DecimalFormat *>(numberFormat);
                                                                           ^
../deps/icu-small/source/i18n/plurfmt.cpp:284:75: error: 'dynamic_cast' not permitted with -fno-rtti
         DecimalFormat *decFmt = dynamic_cast<DecimalFormat *>(numberFormat);
                                                                           ^
tools/icu/icui18n.target.mk:285: recipe for target '/mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/plurfmt.o' failed
make[1]: *** [/mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/plurfmt.o] Error 1
make[1]: Leaving directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
make[1]: Entering directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
  g++ '-DU_I18N_IMPLEMENTATION=1' '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_TRANSLITERATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' '-DUCONFIG_NO_CONVERSION=1' -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common  -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wno-deprecated-declarations -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++0x -frtti -MMD -MF /mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/.deps//mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/dtfmtsym.o.d.raw  -mtune=generic -Os -pipe -fno-exceptions -fno-rtti -c -o /mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/dtfmtsym.o ../deps/icu-small/source/i18n/dtfmtsym.cpp
In file included from ../deps/icu-small/source/i18n/dtfmtsym.cpp:43:0:
../deps/icu-small/source/common/unifiedcache.h: In member function 'virtual int32_t icu_57::CacheKey<T>::hashCode() const':
../deps/icu-small/source/common/unifiedcache.h:107:32: error: cannot use typeid with -fno-rtti
        const char *s = typeid(T).name();
                                ^
../deps/icu-small/source/common/unifiedcache.h: In member function 'virtual char* icu_57::CacheKey<T>::writeDescription(char*, int32_t) const':
../deps/icu-small/source/common/unifiedcache.h:115:32: error: cannot use typeid with -fno-rtti
        const char *s = typeid(T).name();
                                ^
../deps/icu-small/source/common/unifiedcache.h: In member function 'virtual UBool icu_57::CacheKey<T>::operator==(const icu_57::CacheKeyBase&) const':
../deps/icu-small/source/common/unifiedcache.h:125:23: error: cannot use typeid with -fno-rtti
        return typeid(*this) == typeid(other);
                       ^
../deps/icu-small/source/common/unifiedcache.h:125:39: error: cannot use typeid with -fno-rtti
        return typeid(*this) == typeid(other);
                                       ^
tools/icu/icui18n.target.mk:285: recipe for target '/mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/dtfmtsym.o' failed
make[1]: *** [/mnt/vda1/forge/tp_node/node-v6.7.0/out/Release/obj.target/icui18n/deps/icu-small/source/i18n/dtfmtsym.o] Error 1
make[1]: Leaving directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
make[1]: Entering directory '/mnt/vda1/forge/tp_node/node-v6.7.0/out'
@Fishrock123 Fishrock123 added the build Issues and PRs related to build files or the CI. label Sep 30, 2016
@Siecje Siecje changed the title Cannot Build Node.js 6.4.0 on CorePure64 Tinycore Linux Cannot Build Node.js 6.7.0 on CorePure64 Tinycore Linux Sep 30, 2016
@addaleax addaleax added the i18n-api Issues and PRs related to the i18n implementation. label Sep 30, 2016
@addaleax
Copy link
Member

/cc @srl295 fyi

@srl295
Copy link
Member

srl295 commented Sep 30, 2016

Thanks.

RTTI is needed for ICU. It's supposed to be on just for Icu.

El sep. 30, 2016, a las 1:23 PM, Anna Henningsen [email protected] escribió:

/cc @srl295 fyi


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@bnoordhuis
Copy link
Member

tools/icu/icu-generic.gyp probably needs to 'cflags_cc!': [ '-fno-rtti' ], it's inheriting it from common.gypi in the top-level directory.

bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue Oct 1, 2016
ICU should be compiled with -frtti (and it sets that flag in its gyp
file) but it was also inheriting the -fno-rtti flag from common.gypi,
breaking the build on some systems.

Fixes: nodejs#8867
@bnoordhuis
Copy link
Member

#8886

@fhinkel fhinkel closed this as completed in c1be609 Oct 3, 2016
jasnell pushed a commit that referenced this issue Oct 6, 2016
ICU should be compiled with -frtti (and it sets that flag in its gyp
file) but it was also inheriting the -fno-rtti flag from common.gypi,
breaking the build on some systems.

Fixes: #8867
PR-URL: #8886
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Fishrock123 pushed a commit that referenced this issue Oct 11, 2016
ICU should be compiled with -frtti (and it sets that flag in its gyp
file) but it was also inheriting the -fno-rtti flag from common.gypi,
breaking the build on some systems.

Fixes: #8867
PR-URL: #8886
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
MylesBorins pushed a commit that referenced this issue Nov 18, 2016
ICU should be compiled with -frtti (and it sets that flag in its gyp
file) but it was also inheriting the -fno-rtti flag from common.gypi,
breaking the build on some systems.

Fixes: #8867
PR-URL: #8886
Reviewed-By: Johan Bergström <[email protected]>
Reviewed-By: Franziska Hinkelmann <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. i18n-api Issues and PRs related to the i18n implementation.
Projects
None yet
Development

No branches or pull requests

5 participants