Skip to content

build: don't add libraries when --enable-static#14912

Closed
danbev wants to merge 1 commit into
nodejs:masterfrom
danbev:build-enable-static-add-libs
Closed

build: don't add libraries when --enable-static#14912
danbev wants to merge 1 commit into
nodejs:masterfrom
danbev:build-enable-static-add-libs

Conversation

@danbev
Copy link
Copy Markdown
Contributor

@danbev danbev commented Aug 18, 2017

Currently when building with --enabled-static the cctest target will
include libraries to be linked regardless. This commit adds a condition
to only add the libraries when dynamically linking.

This commit re-adds the previously reverted commit (be63c26
"build: don't add libraries when --enable-static"). The reason that
commit failed was a mistake on my part where I moved the the list
into a variable (thinking that it was a simple change that would not
affect anything) and not re-running CI. But the list itself contains
variables used to enable differences in operating systems/compilers
where the object file locations vary.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines
Affected core subsystem(s)

build

@nodejs-github-bot nodejs-github-bot added the build Issues and PRs related to build files or the CI. label Aug 18, 2017
@danbev
Copy link
Copy Markdown
Contributor Author

danbev commented Aug 18, 2017

@danbev
Copy link
Copy Markdown
Contributor Author

danbev commented Aug 18, 2017

test/arm-fanned failure looks unrelated

console output:

Building remotely on test-requireio_pivotalagency-debian8-arm_pi3-2 (pi3-raspbian-jessie) in workspace /home/iojs/build/workspace/node-test-binary-arm
FATAL: remote file operation failed: /home/iojs/build/workspace/node-test-binary-arm@tmp/secretFiles/6722873b-9465-450a-9813-ba47bee4bd27/ci-iojs-org-id_rsa-github at hudson.remoting.Channel@5e28cdc:JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:43572: java.io.FileNotFoundException: /home/iojs/build/workspace/node-test-binary-arm@tmp/secretFiles/6722873b-9465-450a-9813-ba47bee4bd27/ci-iojs-org-id_rsa-github (Input/output error)
java.io.FileNotFoundException: /home/iojs/build/workspace/node-test-binary-arm@tmp/secretFiles/6722873b-9465-450a-9813-ba47bee4bd27/ci-iojs-org-id_rsa-github (Input/output error)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
	at hudson.FilePath$36.invoke(FilePath.java:1887)
	at hudson.FilePath$36.invoke(FilePath.java:1882)
	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2731)
	at hudson.remoting.UserRequest.perform(UserRequest.java:153)
	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
	at hudson.remoting.Request$2.run(Request.java:336)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at hudson.remoting.Engine$1$1.run(Engine.java:94)
	at java.lang.Thread.run(Thread.java:745)
	at ......remote call to JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:43572(Native Method)
	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1545)
	at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
	at hudson.remoting.Channel.call(Channel.java:830)
	at hudson.FilePath.act(FilePath.java:985)
Caused: java.io.IOException: remote file operation failed: /home/iojs/build/workspace/node-test-binary-arm@tmp/secretFiles/6722873b-9465-450a-9813-ba47bee4bd27/ci-iojs-org-id_rsa-github at hudson.remoting.Channel@5e28cdc:JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:43572
	at hudson.FilePath.act(FilePath.java:992)
	at hudson.FilePath.act(FilePath.java:974)
	at hudson.FilePath.write(FilePath.java:1882)
	at hudson.FilePath.copyFrom(FilePath.java:899)
	at org.jenkinsci.plugins.credentialsbinding.impl.FileBinding.write(FileBinding.java:54)
	at org.jenkinsci.plugins.credentialsbinding.impl.FileBinding.write(FileBinding.java:42)
	at org.jenkinsci.plugins.credentialsbinding.impl.AbstractOnDiskBinding.bindSingle(AbstractOnDiskBinding.java:39)
	at org.jenkinsci.plugins.credentialsbinding.Binding.bind(Binding.java:150)
	at org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper.setUp(SecretBuildWrapper.java:96)
	at hudson.model.Build$BuildExecution.doRun(Build.java:157)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
	at hudson.model.Run.execute(Run.java:1728)
	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:405)
TAP Reports Processing: START
Looking for TAP results report in workspace using pattern: *.tap
Saving reports...
java.io.IOException: Failed to copy /home/iojs/build/workspace/node-test-binary-arm/test.tap to /var/lib/jenkins/jobs/node-test-binary-arm/configurations/axis-RUN_SUBSET/0/axis-label/pi3-raspbian-jessie/builds/9718/tap-master-files/test.tap
	at hudson.FilePath.copyTo(FilePath.java:1984)
	at org.tap4j.plugin.TapPublisher.saveReports(TapPublisher.java:567)
	at org.tap4j.plugin.TapPublisher.performImpl(TapPublisher.java:404)
	at org.tap4j.plugin.TapPublisher.perform(TapPublisher.java:371)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
	at hudson.model.Build$BuildExecution.post2(Build.java:186)
	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
	at hudson.model.Run.execute(Run.java:1753)
	at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
	at hudson.model.ResourceController.execute(ResourceController.java:98)
	at hudson.model.Executor.run(Executor.java:405)
Caused by: java.io.IOException: remote file operation failed: /home/iojs/build/workspace/node-test-binary-arm/test.tap at hudson.remoting.Channel@5e28cdc:JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:43572: java.io.FileNotFoundException: /home/iojs/build/workspace/node-test-binary-arm/test.tap (Input/output error)
	at hudson.FilePath.act(FilePath.java:992)
	at hudson.FilePath.act(FilePath.java:974)
	at hudson.FilePath.copyTo(FilePath.java:2005)
	at hudson.FilePath.copyTo(FilePath.java:1981)
	... 13 more
Caused by: java.io.FileNotFoundException: /home/iojs/build/workspace/node-test-binary-arm/test.tap (Input/output error)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:146)
	at hudson.FilePath$41.invoke(FilePath.java:2010)
	at hudson.FilePath$41.invoke(FilePath.java:2005)
	at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2731)
	at hudson.remoting.UserRequest.perform(UserRequest.java:153)
	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
	at hudson.remoting.Request$2.run(Request.java:336)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at hudson.remoting.Engine$1$1.run(Engine.java:94)
	at java.lang.Thread.run(Thread.java:745)
	at ......remote call to JNLP4-connect connection from static-n49-176-213-208.sbr2.nsw.optusnet.com.au/49.176.213.208:43572(Native Method)
	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1545)
	at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
	at hudson.remoting.Channel.call(Channel.java:830)
	at hudson.FilePath.act(FilePath.java:985)
	... 16 more
Failed to save TAP reports
Checking ^not ok
Notifying upstream projects of job completion
Finished: FAILURE
@refack
Copy link
Copy Markdown
Contributor

refack commented Aug 18, 2017

Sorry for giving partial advice before...
Using >@(libraries) (> for late-stage-variable-resolution) probably would have worked, but it's not worth it.

@danbev
Copy link
Copy Markdown
Contributor Author

danbev commented Aug 18, 2017

Sorry for giving partial advice before...

Not at all, there was nothing wrong with the advice 😄

@danbev danbev force-pushed the build-enable-static-add-libs branch from cde51ad to eb56f6e Compare August 21, 2017 03:56
@danbev
Copy link
Copy Markdown
Contributor Author

danbev commented Aug 21, 2017

Currently when building with --enabled-static the cctest target will
include libraries to be linked regardless. This commit adds a condition
to only add the libraries when dynamically linking.

This commit re-adds the previously reverted commit (be63c26
"build: don't add libraries when --enable-static"). The reason that
commit failed was a mistake on my part where I moved the the list
into a variable (thinking that it was a simple change that would not
affect anything) and not re-running CI. But the list itself contains
variables used to enable differences in operating systems/compilers
where the object file locations vary.
@danbev danbev force-pushed the build-enable-static-add-libs branch from eb56f6e to 8693164 Compare August 21, 2017 06:53
@danbev
Copy link
Copy Markdown
Contributor Author

danbev commented Aug 21, 2017

danbev added a commit to danbev/node that referenced this pull request Aug 21, 2017
Currently when building with --enabled-static the cctest target will
include libraries to be linked regardless. This commit adds a condition
to only add the libraries when dynamically linking.

This commit re-adds the previously reverted commit (be63c26
"build: don't add libraries when --enable-static"). The reason that
commit failed was a mistake on my part where I moved the the list
into a variable (thinking that it was a simple change that would not
affect anything) and not re-running CI. But the list itself contains
variables used to enable differences in operating systems/compilers
where the object file locations vary.

PR-URL: nodejs#14912
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
@danbev
Copy link
Copy Markdown
Contributor Author

danbev commented Aug 21, 2017

Landed in 58ca8c6

@danbev danbev closed this Aug 21, 2017
MylesBorins pushed a commit that referenced this pull request Sep 10, 2017
Currently when building with --enabled-static the cctest target will
include libraries to be linked regardless. This commit adds a condition
to only add the libraries when dynamically linking.

This commit re-adds the previously reverted commit (be63c26
"build: don't add libraries when --enable-static"). The reason that
commit failed was a mistake on my part where I moved the the list
into a variable (thinking that it was a simple change that would not
affect anything) and not re-running CI. But the list itself contains
variables used to enable differences in operating systems/compilers
where the object file locations vary.

PR-URL: #14912
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
@MylesBorins MylesBorins mentioned this pull request Sep 10, 2017
MylesBorins pushed a commit that referenced this pull request Sep 12, 2017
Currently when building with --enabled-static the cctest target will
include libraries to be linked regardless. This commit adds a condition
to only add the libraries when dynamically linking.

This commit re-adds the previously reverted commit (be63c26
"build: don't add libraries when --enable-static"). The reason that
commit failed was a mistake on my part where I moved the the list
into a variable (thinking that it was a simple change that would not
affect anything) and not re-running CI. But the list itself contains
variables used to enable differences in operating systems/compilers
where the object file locations vary.

PR-URL: #14912
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
@MylesBorins
Copy link
Copy Markdown
Contributor

Should this be backported to v6.x-staging? If yes please follow the guide and raise a backport PR, if no let me know or add the dont-land-on label.

@danbev danbev deleted the build-enable-static-add-libs branch February 28, 2018 07:16
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.

5 participants