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

build: add "--partly-static" options to generate with libgcc and libstdc++ #4152

Closed
wants to merge 1 commit into from

Conversation

Projects
None yet
5 participants
@medns
Copy link
Contributor

commented Dec 4, 2015

A lot of machines don't upgrade libstdc++.so library for a long time, but the new version of node requires the latest GLIBCXX.

./node: /usr/lib64/libstdc++.so.6: versionGLIBCXX_3.4.15' not found (required by ./node)`

Using "--fully-static" configurable options may reslove this problem, but the sideeffect is that the size of the executable file will be increased.

Adding "--partly-static" configurable options it will only build libgcc and libstdc++ libraries into executable file, reslove problem and control the size of file.

@JungMinu JungMinu added the build label Dec 4, 2015

@JungMinu

View changes

configure Outdated
action="store_true",
dest="partly_static",
help="Generate an executable with libgcc and libstdc++ libraries. This "
"will not work on OSX when using default compilation environment")

This comment has been minimized.

Copy link
@JungMinu

JungMinu Dec 4, 2015

Member

minor nitpicking, when using default -> when using the default

This comment has been minimized.

Copy link
@medns

medns Dec 5, 2015

Author Contributor

fixed

if options.fully_static:
o['libraries'] += ['-static']
elif options.partly_static:
o['libraries'] += ['-static-libgcc', '-static-libstdc++']

This comment has been minimized.

Copy link
@bnoordhuis

bnoordhuis Dec 4, 2015

Member

I think you're also going to need -static-libasan when options.enable_asan is on.

This comment has been minimized.

Copy link
@medns

medns Dec 5, 2015

Author Contributor

fixed

@bnoordhuis

This comment has been minimized.

Copy link
Member

commented Dec 4, 2015

Can you update the commit log so it conforms to the style guide in CONTRIBUTING.md? Thanks.

@medns medns force-pushed the medns:master branch Dec 5, 2015

@medns

This comment has been minimized.

Copy link
Contributor Author

commented Dec 5, 2015

commit log has been modified to CONTRIBUTING style.

@medns medns force-pushed the medns:master branch 2 times, most recently Dec 5, 2015

@bnoordhuis

This comment has been minimized.

Copy link
Member

commented Dec 5, 2015

LGTM, thanks. Under what name do you want to show up in AUTHORS? The Author field is currently set to "superzheng".

@medns

This comment has been minimized.

Copy link
Contributor Author

commented Dec 5, 2015

Thks, The Author is "Super Zheng superzheng@tencent.com"

@JungMinu

View changes

configure Outdated
if options.fully_static:
o['libraries'] += ['-static']
def configure_static(o):
if options.fully_static or options.partly_static:
if flavor == 'mac':
print("Generation of static executable will not work on OSX "
"when using default compilation environment")

This comment has been minimized.

Copy link
@JungMinu

JungMinu Dec 5, 2015

Member

one more minor nitpicking, when using default -> when using the default

This comment has been minimized.

Copy link
@medns

medns Dec 6, 2015

Author Contributor

fixed

@JungMinu

This comment has been minimized.

Copy link
Member

commented Dec 5, 2015

Thank you, LGTM with comments addressed

build: add "--partly-static" build options
A lot of machines don't upgrade libstdc++.so library for a long time,
but the new version of node requires the latest GLIBCXX.

Using "--fully-static" configurable options may reslove this problem,
but the sideeffect is that the size of the executable file will be
increased.

Adding "--partly-static" configurable options it will only build
libgcc and libstdc++ libraries into executable file, reslove problem
and control the size of file.

@medns medns force-pushed the medns:master branch to 22fd758 Dec 6, 2015

@bnoordhuis

This comment has been minimized.

Copy link
Member

commented Dec 7, 2015

Thanks, landed in 95dd890.

@bnoordhuis bnoordhuis closed this Dec 7, 2015

bnoordhuis added a commit that referenced this pull request Dec 7, 2015

build: add "--partly-static" build options
A lot of machines don't upgrade libstdc++.so library for a long time,
but the new version of node requires the latest GLIBCXX.

Using "--fully-static" configurable options may resolve this problem,
but the side effect is that the size of the executable file will be
increased.

Adding "--partly-static" configurable options it will only build
libgcc and libstdc++ libraries into executable file, resolve the
problem and control the size of file.

PR-URL: #4152
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>

rvagg added a commit that referenced this pull request Dec 8, 2015

build: add "--partly-static" build options
A lot of machines don't upgrade libstdc++.so library for a long time,
but the new version of node requires the latest GLIBCXX.

Using "--fully-static" configurable options may resolve this problem,
but the side effect is that the size of the executable file will be
increased.

Adding "--partly-static" configurable options it will only build
libgcc and libstdc++ libraries into executable file, resolve the
problem and control the size of file.

PR-URL: #4152
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>

@rvagg rvagg referenced this pull request Dec 17, 2015

Closed

Release 4.2.4 Planning #4321

MylesBorins added a commit that referenced this pull request Dec 29, 2015

build: add "--partly-static" build options
A lot of machines don't upgrade libstdc++.so library for a long time,
but the new version of node requires the latest GLIBCXX.

Using "--fully-static" configurable options may resolve this problem,
but the side effect is that the size of the executable file will be
increased.

Adding "--partly-static" configurable options it will only build
libgcc and libstdc++ libraries into executable file, resolve the
problem and control the size of file.

PR-URL: #4152
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>

MylesBorins added a commit that referenced this pull request Jan 19, 2016

build: add "--partly-static" build options
A lot of machines don't upgrade libstdc++.so library for a long time,
but the new version of node requires the latest GLIBCXX.

Using "--fully-static" configurable options may resolve this problem,
but the side effect is that the size of the executable file will be
increased.

Adding "--partly-static" configurable options it will only build
libgcc and libstdc++ libraries into executable file, resolve the
problem and control the size of file.

PR-URL: #4152
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>

@MylesBorins MylesBorins referenced this pull request Jan 19, 2016

Merged

V4.2.5 proposal #4768

MylesBorins added a commit that referenced this pull request Jan 19, 2016

2016-01-19, Version 4.2.5 "Argon" (LTS) Release
Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) #4166
* build
  - add "--partly-static" build options (Super Zheng) #4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) #4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) #4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) #4013
  - display error message when loading directory (Prince J Wesley) #4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) #3988

MylesBorins added a commit that referenced this pull request Jan 20, 2016

2016-01-20, Version 4.2.5 "Argon" (LTS) Release
Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) #4166
* build
  - add "--partly-static" build options (Super Zheng) #4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) #4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) #4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) #4013
  - display error message when loading directory (Prince J Wesley) #4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) #3988

PR-URL: #4768

MylesBorins added a commit that referenced this pull request Jan 20, 2016

2016-01-20, Version 4.2.5 "Argon" (LTS) Release
Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) #4166
* build
  - add "--partly-static" build options (Super Zheng) #4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) #4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) #4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) #4013
  - display error message when loading directory (Prince J Wesley) #4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) #3988

PR-URL: #4768

scovetta pushed a commit to scovetta/node that referenced this pull request Apr 2, 2016

build: add "--partly-static" build options
A lot of machines don't upgrade libstdc++.so library for a long time,
but the new version of node requires the latest GLIBCXX.

Using "--fully-static" configurable options may resolve this problem,
but the side effect is that the size of the executable file will be
increased.

Adding "--partly-static" configurable options it will only build
libgcc and libstdc++ libraries into executable file, resolve the
problem and control the size of file.

PR-URL: nodejs#4152
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>

scovetta pushed a commit to scovetta/node that referenced this pull request Apr 2, 2016

2016-01-20, Version 4.2.5 "Argon" (LTS) Release
Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) nodejs#4166
* build
  - add "--partly-static" build options (Super Zheng) nodejs#4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) nodejs#4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) nodejs#4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) nodejs#4013
  - display error message when loading directory (Prince J Wesley) nodejs#4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) nodejs#3988

PR-URL: nodejs#4768
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.