-
Notifications
You must be signed in to change notification settings - Fork 30k
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 /opt/freeware/... to AIX library path #10128
Conversation
Looks like you have some stray commits in the PR. Those from Nov 23. I expect only the last one whould be in the PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change itself looks ok, but need to fix up commits included.
Done - I'd added some unlanded commits into the master branch I'd based this off. SIde effect to submitting the PR quickly before I was leaving he office for the day :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
CI run to validate: https://ci.nodejs.org/job/node-test-pull-request/5267/ |
LGTM, this seems like a sensible default, and anything that means less fiddling with the Windows CI failure looks unrelated. |
There's an follow-up issue with this that I'll need to address - it's not correctly picking up the threaded version of libstdc++ on all machines - please do not land yet. |
Follow-up issue resolved - it wasn't pointing at the location of the pthread variants of the GNU C++ runtime libraries. If someone could run this through CI again that would be appreciated ... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but the status line should be <= 50 characters and the convention is to not uppercase (i.e., 'modify' instead of 'Modify'.)
@@ -936,6 +936,12 @@ | |||
}, { | |||
'type': 'executable', | |||
}], | |||
['target_arch=="ppc64"', { | |||
'ldflags': ['-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread/ppc64'], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps the tiniest of nits: if you break after the [
, the line fits in 80 columns.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done - made the change to both versions to make them consistent
@bnoordhuis The first line of the commit message was <50 characters - it was only the title of this PR that was longer in order to be a bit more descriptive - I've changed it now, but are the titles of PRs always expected to be that short too? |
@sxa555 Agreed that your commit message is already <50 chars, but it is still capitalised ( |
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment.
@gibfahn are you going to land this ? |
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Landed in e407478 |
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
To ease the use of the AIX binaries, add /opt/freeware/lib/pthread{/ppc64} into the search path encoded into the library, so that any version the user has installed from the common download locations will work out of the box without having to explicitly set LIBPATH in their environment. PR-URL: #10128 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Johan Bergström <bugs@bergstroem.nu> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Checklist
make -j8 test
(UNIX), orvcbuild test nosign
(Windows) passesAffected core subsystem(s)
build
Description of change
At the moment the library search path encoded into the AIX binary has the full path to whether the GNU libstdc++ and libgcc_s were installed on the machine. Unless the user has the exact same package/version as was used on the build machine, the node binary will not be able to pick them up by default, and the user will have to set the LIBPATH variable themselves to the location on their machine.
On the assumption that most people will be picking up their is of libstdc++/libgcc_s from either the Bull Freeware site or the IBM AIX toolbox, this PR adjusts the search path within the node binary to point to /opt/freeware/lib (or lib64) to find this library. The current packages from Bull Freeware/AIX toolbox symlinks those libraries into those locations, so it is far more likely to work out of the box than the current system. For reference, here is the library search path within the current node 7.2.0 binary:
/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.5/pthread/ppc64:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.5/../../../pthread/ppc64:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.5:/opt/freeware/lib/gcc/powerpc-ibm-aix6.1.0.0/4.8.5/../../..:/usr/lib:/lib
This change squashes that to be /usr/lib:/lib:/opt/freeware/lib (or lib64).
Considerations for reviewers: