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: fix openssl link error on windows #13078

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
6 participants
@danbev
Member

danbev commented May 17, 2017

This commit attempts to fix an issue when building on windows using the
following command line options:

.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:

configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: #12952

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

build

@danbev

This comment has been minimized.

Show comment
Hide comment
@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 17, 2017

Member

@danbev did you try to go the complete other way around? i.e.

'dependencies=': [
            '<(node_core_target_name)',
          ],

Just out of intuition...

Member

refack commented May 17, 2017

@danbev did you try to go the complete other way around? i.e.

'dependencies=': [
            '<(node_core_target_name)',
          ],

Just out of intuition...

@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 17, 2017

Member

did you try to go the complete other way around? i.e.

There is already a dependency to the node core target, the suggestion here is that it be excluded in this particular case.

Member

danbev commented May 17, 2017

did you try to go the complete other way around? i.e.

There is already a dependency to the node core target, the suggestion here is that it be excluded in this particular case.

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 17, 2017

Member

There is already a dependency to the node core target, the suggestion here is that it be excluded in this particular case.

I mean use only node.dll as a dependency (that's the = gyp list operator)

Member

refack commented May 17, 2017

There is already a dependency to the node core target, the suggestion here is that it be excluded in this particular case.

I mean use only node.dll as a dependency (that's the = gyp list operator)

@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 17, 2017

Member

I mean use only node.dll as a dependency (that's the = gyp list operator)

Ah sorry I understand what you mean now.
I'll give that a try and use the gyp assignment operator (=) to replace the dependency.

Member

danbev commented May 17, 2017

I mean use only node.dll as a dependency (that's the = gyp list operator)

Ah sorry I understand what you mean now.
I'll give that a try and use the gyp assignment operator (=) to replace the dependency.

@mscdex mscdex added the windows label May 17, 2017

@danbev

This comment has been minimized.

Show comment
Hide comment
@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 22, 2017

Member

I'll test the dll target.

Member

refack commented May 22, 2017

I'll test the dll target.

@refack refack self-requested a review May 22, 2017

Show outdated Hide outdated deps/openssl/openssl/util/libeay.num
@@ -75,7 +75,7 @@ BIO_new 78 EXIST::FUNCTION:
BIO_new_accept 79 EXIST::FUNCTION:
BIO_new_connect 80 EXIST::FUNCTION:
BIO_new_fd 81 EXIST::FUNCTION:
BIO_new_file 82 EXIST::FUNCTION:FP_API
BIO_new_file 82 EXIST::FUNCTION:

This comment has been minimized.

@refack

refack May 22, 2017

Member

[question] is this still neccecery?

@refack

refack May 22, 2017

Member

[question] is this still neccecery?

This comment has been minimized.

@danbev

danbev May 23, 2017

Member

@refack Yeah I had to make that change. If this is not there that symbol will not be exported (will not end up in <PRODUCT_DIR)\obj\global_intermediate\openssl.def) and a link error will occur when linking cctest.exe. At least that is what I am seeing when building and running this. Where you able to build without this change?

@danbev

danbev May 23, 2017

Member

@refack Yeah I had to make that change. If this is not there that symbol will not be exported (will not end up in <PRODUCT_DIR)\obj\global_intermediate\openssl.def) and a link error will occur when linking cctest.exe. At least that is what I am seeing when building and running this. Where you able to build without this change?

This comment has been minimized.

@bnoordhuis

bnoordhuis May 23, 2017

Member

Doesn't adding FP_API to mkssldef_flags in node.gyp work?

@bnoordhuis

bnoordhuis May 23, 2017

Member

Doesn't adding FP_API to mkssldef_flags in node.gyp work?

This comment has been minimized.

@danbev

danbev May 23, 2017

Member

I was not aware of that. Let me give that a try. Thanks

@danbev

danbev May 23, 2017

Member

I was not aware of that. Let me give that a try. Thanks

This comment has been minimized.

@danbev

danbev May 23, 2017

Member

That work worked like a charm. Thanks @bnoordhuis
I'll update the PR with the changes later today.

@danbev

danbev May 23, 2017

Member

That work worked like a charm. Thanks @bnoordhuis
I'll update the PR with the changes later today.

@refack

refack approved these changes May 22, 2017

Confirmed dll target builds with vcbuild.bat dll debug x64 vc2015
Rubber stamp libeay.num

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 23, 2017

Member

Where you able to build without this change?

I'll check.
But if it's necessary it'll need @shigeki's review.

Member

refack commented May 23, 2017

Where you able to build without this change?

I'll check.
But if it's necessary it'll need @shigeki's review.

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 23, 2017

Member

P.S. split the commits, so it could be easily floated onto deps/openssl

Member

refack commented May 23, 2017

P.S. split the commits, so it could be easily floated onto deps/openssl

@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 23, 2017

Member

P.S. split the commits, so it could be easily floated onto deps/openssl

No problems, I'll do a rebase later and also remove the first or second commit. I'll leave this as is for now so others can see the options we have to move forward and then clean up the commits. Thanks

Member

danbev commented May 23, 2017

P.S. split the commits, so it could be easily floated onto deps/openssl

No problems, I'll do a rebase later and also remove the first or second commit. I'll leave this as is for now so others can see the options we have to move forward and then clean up the commits. Thanks

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 23, 2017

Member

Confirm the need for changing BIO_new_file:

node_crypto.obj : error LNK2019: unresolved external symbol BIO_new_file referenced in function "unsigned long __cdecl node::crypto::AddCertsFromFile(struct x509_store_st *,char const *)" (?AddCertsFromFile@crypto@node@@YAKPEAUx509_store_st@@PEBD@Z) [P:\code\node\cctest.vcxproj]
P:\code\node\Debug\cctest.exe : fatal error LNK1120: 1 unresolved externals [P:\code\node\cctest.vcxproj]

In this case I'm +1 on the first method (include [all] exclude [dll])

Member

refack commented May 23, 2017

Confirm the need for changing BIO_new_file:

node_crypto.obj : error LNK2019: unresolved external symbol BIO_new_file referenced in function "unsigned long __cdecl node::crypto::AddCertsFromFile(struct x509_store_st *,char const *)" (?AddCertsFromFile@crypto@node@@YAKPEAUx509_store_st@@PEBD@Z) [P:\code\node\cctest.vcxproj]
P:\code\node\Debug\cctest.exe : fatal error LNK1120: 1 unresolved externals [P:\code\node\cctest.vcxproj]

In this case I'm +1 on the first method (include [all] exclude [dll])

@gireeshpunathil

Why renaming the conflicting symbol was never thought as a solution? Circumventing the conflict through build script is not comprehensive in my opinion. We seem to be leveraging a chance that cctest does not require symbols from node core dll - this scenario can change in future and this circuvention will break.

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 23, 2017

Member

Why renaming the conflicting symbol was never thought as a solution?

@gireeshpunathil it's not just a one, it's the whole openSSL that gets included twice: #12952 (comment)

Member

refack commented May 23, 2017

Why renaming the conflicting symbol was never thought as a solution?

@gireeshpunathil it's not just a one, it's the whole openSSL that gets included twice: #12952 (comment)

@gireeshpunathil

This comment has been minimized.

Show comment
Hide comment
@gireeshpunathil

gireeshpunathil May 23, 2017

Member

@refack - ah, I see! thanks for the clarification.

Member

gireeshpunathil commented May 23, 2017

@refack - ah, I see! thanks for the clarification.

Show outdated Hide outdated node.gyp
'<(node_core_target_name)',
'deps/gtest/gtest.gyp:gtest',
],
'dependencies!': [

This comment has been minimized.

@refack

refack May 23, 2017

Member

Just checked, these 5 lines are unnecessary to this approach (only dll & gtest).

@refack

refack May 23, 2017

Member

Just checked, these 5 lines are unnecessary to this approach (only dll & gtest).

This comment has been minimized.

@danbev

danbev May 24, 2017

Member

Nice!

@danbev

danbev May 24, 2017

Member

Nice!

@refack

This comment has been minimized.

Show comment
Hide comment
@refack

refack May 23, 2017

Member

+1 for second approach (with the gyp:mkssldef_flags and 5 lines remove)

Member

refack commented May 23, 2017

+1 for second approach (with the gyp:mkssldef_flags and 5 lines remove)

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: #12952

@danbev danbev changed the title from build: don't link node.dll for cctest target to build: fix openssl link error on windows May 24, 2017

@danbev

This comment has been minimized.

Show comment
Hide comment
Member

danbev commented May 24, 2017

@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 24, 2017

Member
test/linux has completed

console output:

TAP Reports Processing: FINISH
Checking ^not ok
Notifying upstream projects of job completion
Finished: SUCCESS
Member

danbev commented May 24, 2017

test/linux has completed

console output:

TAP Reports Processing: FINISH
Checking ^not ok
Notifying upstream projects of job completion
Finished: SUCCESS
@refack

refack approved these changes May 24, 2017

Wow, that's minimal!

@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 25, 2017

Member
test/linux failure does not look related

console output:

EnvInject] - Loading node environment variables.
Building remotely on test-digitalocean-fedora23-x64-1 (fedora23) in workspace /home/iojs/build/workspace/node-test-commit-linux/nodes/fedora23
java.lang.NoClassDefFoundError: Could not initialize class com.sun.proxy.$Proxy11
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739)
	at hudson.remoting.RemoteInvocationHandler.wrap(RemoteInvocationHandler.java:143)
	at hudson.remoting.Channel.export(Channel.java:618)
	at hudson.remoting.Channel.export(Channel.java:587)
	at org.jenkinsci.plugins.gitclient.LegacyCompatibleGitAPIImpl.writeReplace(LegacyCompatibleGitAPIImpl.java:198)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1118)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1136)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
	at hudson.remoting.UserRequest._serialize(UserRequest.java:158)
	at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
	at hudson.remoting.UserRequest.perform(UserRequest.java:129)
	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
	at hudson.remoting.Request$2.run(Request.java:326)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at hudson.remoting.Engine$1$1.run(Engine.java:69)
	at java.lang.Thread.run(Thread.java:745)
	at ......remote call to Channel to /162.243.63.132(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)
Caused: java.io.IOException: Remote call on Channel to /162.243.63.132 failed
	at hudson.remoting.Channel.call(Channel.java:838)
	at hudson.FilePath.act(FilePath.java:985)
Caused: java.io.IOException: remote file operation failed: /home/iojs/build/workspace/node-test-commit-linux/nodes/fedora23 at hudson.remoting.Channel@16fc6ec9:Channel to /162.243.63.132
	at hudson.FilePath.act(FilePath.java:992)
	at hudson.FilePath.act(FilePath.java:974)
	at org.jenkinsci.plugins.gitclient.Git.getClient(Git.java:137)
	at hudson.plugins.git.GitSCM.createClient(GitSCM.java:751)
	at hudson.plugins.git.GitSCM.createClient(GitSCM.java:743)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1101)
	at hudson.scm.SCM.checkout(SCM.java:496)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1281)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
	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)
Run condition [Always] enabling perform for step [[Execute a set of scripts]]
Run condition [Always] enabling perform for step [[Execute a set of scripts]]
TAP Reports Processing: START
Looking for TAP results report in workspace using pattern: *.tap
Did not find any matching files. Setting build result to FAILURE.
Checking ^not ok
Jenkins Text Finder: File set '*.tap' is empty
Notifying upstream projects of job completion
Finished: FAILURE
Member

danbev commented May 25, 2017

test/linux failure does not look related

console output:

EnvInject] - Loading node environment variables.
Building remotely on test-digitalocean-fedora23-x64-1 (fedora23) in workspace /home/iojs/build/workspace/node-test-commit-linux/nodes/fedora23
java.lang.NoClassDefFoundError: Could not initialize class com.sun.proxy.$Proxy11
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:739)
	at hudson.remoting.RemoteInvocationHandler.wrap(RemoteInvocationHandler.java:143)
	at hudson.remoting.Channel.export(Channel.java:618)
	at hudson.remoting.Channel.export(Channel.java:587)
	at org.jenkinsci.plugins.gitclient.LegacyCompatibleGitAPIImpl.writeReplace(LegacyCompatibleGitAPIImpl.java:198)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at java.io.ObjectStreamClass.invokeWriteReplace(ObjectStreamClass.java:1118)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1136)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
	at hudson.remoting.UserRequest._serialize(UserRequest.java:158)
	at hudson.remoting.UserRequest.serialize(UserRequest.java:167)
	at hudson.remoting.UserRequest.perform(UserRequest.java:129)
	at hudson.remoting.UserRequest.perform(UserRequest.java:49)
	at hudson.remoting.Request$2.run(Request.java:326)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at hudson.remoting.Engine$1$1.run(Engine.java:69)
	at java.lang.Thread.run(Thread.java:745)
	at ......remote call to Channel to /162.243.63.132(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)
Caused: java.io.IOException: Remote call on Channel to /162.243.63.132 failed
	at hudson.remoting.Channel.call(Channel.java:838)
	at hudson.FilePath.act(FilePath.java:985)
Caused: java.io.IOException: remote file operation failed: /home/iojs/build/workspace/node-test-commit-linux/nodes/fedora23 at hudson.remoting.Channel@16fc6ec9:Channel to /162.243.63.132
	at hudson.FilePath.act(FilePath.java:992)
	at hudson.FilePath.act(FilePath.java:974)
	at org.jenkinsci.plugins.gitclient.Git.getClient(Git.java:137)
	at hudson.plugins.git.GitSCM.createClient(GitSCM.java:751)
	at hudson.plugins.git.GitSCM.createClient(GitSCM.java:743)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1101)
	at hudson.scm.SCM.checkout(SCM.java:496)
	at hudson.model.AbstractProject.checkout(AbstractProject.java:1281)
	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
	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)
Run condition [Always] enabling perform for step [[Execute a set of scripts]]
Run condition [Always] enabling perform for step [[Execute a set of scripts]]
TAP Reports Processing: START
Looking for TAP results report in workspace using pattern: *.tap
Did not find any matching files. Setting build result to FAILURE.
Checking ^not ok
Jenkins Text Finder: File set '*.tap' is empty
Notifying upstream projects of job completion
Finished: FAILURE
@bnoordhuis

This comment has been minimized.

Show comment
Hide comment
@bnoordhuis

bnoordhuis May 25, 2017

Member

That's a Jenkins error. The other linux buildbots are green. I think this should be good to go (the more so because the mkssldef target isn't used on UNIX.)

Member

bnoordhuis commented May 25, 2017

That's a Jenkins error. The other linux buildbots are green. I think this should be good to go (the more so because the mkssldef target isn't used on UNIX.)

@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 25, 2017

Member
Member

danbev commented May 25, 2017

danbev added a commit to danbev/node that referenced this pull request May 25, 2017

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: nodejs#12952
PR-URL: nodejs#13078
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>
@danbev

This comment has been minimized.

Show comment
Hide comment
@danbev

danbev May 25, 2017

Member

Landed in 1cde375

Member

danbev commented May 25, 2017

Landed in 1cde375

@danbev danbev closed this May 25, 2017

@danbev danbev deleted the danbev:build-win-cctest-link-error branch May 25, 2017

jasnell added a commit that referenced this pull request May 25, 2017

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: #12952
PR-URL: #13078
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>

jasnell added a commit that referenced this pull request May 28, 2017

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: #12952
PR-URL: #13078
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>

@jasnell jasnell referenced this pull request May 28, 2017

Closed

8.0.0 Release Proposal #12220

danbev added a commit to danbev/node that referenced this pull request May 30, 2017

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: nodejs#12952
PR-URL: nodejs#13078
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>

@gibfahn gibfahn referenced this pull request Jun 15, 2017

Closed

Auditing for 6.11.1 #230

2 of 3 tasks complete

gibfahn added a commit to gibfahn/node that referenced this pull request Jun 17, 2017

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: nodejs#12952
PR-URL: nodejs#13078
Backport-PR-URL: nodejs#12948
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>

MylesBorins added a commit that referenced this pull request Jul 11, 2017

build: fix openssl link error on windows
This commit attempts to fix an issue when building on windows using the
following command line options:
.\vcbuild.bat dll debug x64 vc2015

This will result in the following options passed to configure:
configure --debug --shared --dest-cpu=x64 --tag=

This commit excludes the dependency to openssl if node is configured
with --shared.

Also, FP_API to the categories to export in mkssldef when generating
the module definition (openssl.def) allowing the build to compile and
link successfully.

Fixes: #12952
PR-URL: #13078
Backport-PR-URL: #12948
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Refael Ackermann <refack@gmail.com>

@MylesBorins MylesBorins referenced this pull request Jul 18, 2017

Merged

v6.11.2 proposal #14356

@refack refack added the embedding label Aug 17, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment