-
Notifications
You must be signed in to change notification settings - Fork 166
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
libuv CI should build 64-bit binaries on AIX #1245
Comments
libuv/libuv#1807 has landed so it should just be a matter of passing I have no strong feelings on whether we should continue to build 32-bit AIX binaries for libuv -- we currently only build 64-bit for AIX for Node.js. |
@richardlau so do you mean add -Dtarget_arch=ppc64 to the CI job ? I'd lean to just building for 64 bit, although the libuv jobs are quite quick. |
I did, but I was assuming the CI job was using gyp, but looking at https://ci.nodejs.org/job/libuv-test-commit-aix/803/nodes=aix61-ppc64/console it looks like it might be using autotools which I am not familiar with. |
@richardlau if you can't figure it out can you see if you can get help from @gireeshpunathil |
@richardlau - can you try this? diff --git a/Makefile.am b/Makefile.am
index ae9d96bc..45936421 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -331,7 +331,9 @@ libuv_la_CFLAGS += -D_ALL_SOURCE \
-D_XOPEN_SOURCE=500 \
-D_LINUX_SOURCE_COMPAT \
-D_THREAD_SAFE \
- -DHAVE_SYS_AHAFS_EVPRODS_H
+ -DHAVE_SYS_AHAFS_EVPRODS_H \
+ -maxi64 \
+test_run_tests_CFLAGS += -maix64
include_HEADERS += include/uv-aix.h
libuv_la_SOURCES += src/unix/aix.c src/unix/aix-common.c
endif As we don't have 32 bit builds, the 64 bit hard-coding is fine, and that is what other platforms that don't support 32 bit do. |
@gireeshpunathil Unfortunately I cannot because the AIX machines I have access to do not have autotools installed. |
Thanks to @gireeshpunathil I've found an AIX machine with autotools. It's not enough to pass The libuv build instructions for autotools:
what appears to work for 64-bit binaries on AIX is:
Validating binary is 64-bit
@mhdawson I believe adding |
Alternatively we could switch the AIX build to use gyp, but we should clear that with the libuv maintainers first. |
I'm fine with that, I don't think there are any users of the aix+autotools combo. Pull request welcome. |
Ok so current job has sh autogen.sh && ./configure
make -j2
make check @richardlau I tried to update to:
We got an error:
which is strange since we compile libuv fine in the Node.js builds |
Actually, that same error occurs previously but does not seem to block the process is unrealated. The real problem seems to be:
|
@richardlau ar shows as
and figure out what might be going wrong. |
@mhdawson was |
@bnoordhuis AFAIK the libuv CI configuration isn't stored in a GitHub repo? Happy to raise a PR otherwise. |
It's not. It's done through Jenkins config, I think. |
Sorry missed the OBJECT_MODE bit |
Ok now building ok, thanks for all the help. |
Refs: nodejs/node#20129 (comment)
Node.js only supports 64-bit AIX but it looks like libuv is compiling 32-bit binaries on AIX and thus didn't detect the compilation failure that libuv/libuv#1795 introduced.
Needs libuv/libuv#1807 to land first so that libuv can actually build 64-bit AIX binaries.
cc @nodejs/libuv @nodejs/platform-aix
The text was updated successfully, but these errors were encountered: