it is working now. Thanks for the help.
Original Message:
Sent: Fri June 02, 2023 07:19 AM
From: Ayappan P
Subject: Build httpd 64Bit module
Looks like during the linking stage "-maix64" is not getting passed.
You can run like this /opt/freeware/bin/apxs_64 -c -S CC="/opt/freeware/bin/gcc -maix64" mod_test.c
This is a workaround but we will find a way to fix this permanently in httpd build.
------------------------------
Ayappan P
Original Message:
Sent: Fri June 02, 2023 06:36 AM
From: Henning Bösch
Subject: Build httpd 64Bit module
I have run the command with OBJECT_MODE=64, but now another error pops up. The file with the error is only temporary and imediately deleted after the command terminates. When searching for this error the provided the solutions I have found is to compile in 32Bit, but this is exactly what I not want.
$ export OBJECT_MODE=64
$ /opt/freeware/bin/apxs_64 -c mod_test.c
/opt/freeware/lib64/apr-1/build/libtool --silent --mode=compile /opt/freeware/bin/gcc -prefer-pic -maix64 -fsigned-char -O2 -U__STR__ -D_THREAD_SAFE -D_USE_IRS -pthread -I/opt/freeware/include/httpd -I/opt/freeware/include/apr-1 -I/opt/freeware/include/apr-1 -c -o mod_test.lo mod_test.c && touch mod_test.slo
/opt/freeware/lib64/apr-1/build/libtool --silent --mode=link /opt/freeware/bin/gcc -L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -o mod_test.la -rpath /opt/freeware/lib64/httpd/modules -module -avoid-version -Wl,-brtl mod_test.lo
Assembler:
/tmp//ccbZexBe.s: line 18: Only .llong should be used for relocatable expressions.
/tmp//ccbZexBe.s: line 83: Only .llong should be used for relocatable expressions.
/tmp//ccbZexBe.s: line 142: Only .llong should be used for relocatable expressions.
/tmp//ccbZexBe.s: line 170: Only .llong should be used for relocatable expressions.
/tmp//ccbZexBe.s: line 196: Only .llong should be used for relocatable expressions.
/tmp//ccbZexBe.s: line 199: Only .llong should be used for relocatable expressions.
/tmp//ccbZexBe.s: line 200: Only .llong should be used for relocatable expressions.
collect2: fatal error: gcc returned 1 exit status
compilation terminated.
apxs:Error: Command failed with rc=65536
Thanks, Henning
------------------------------
Henning Bösch
Original Message:
Sent: Thu June 01, 2023 11:01 AM
From: RESHMA KUMAR
Subject: Build httpd 64Bit module
You can run "export OBJECT_MODE=64" and then try again.
------------------------------
RESHMA KUMAR
Original Message:
Sent: Thu June 01, 2023 02:57 AM
From: Henning Bösch
Subject: Build httpd 64Bit module
I tried building with apxs_64 and now it seems it is building in 64Bit, but somewhere during linking it uses 32Bit:
$ /opt/freeware/bin/apxs_64 -c mod_test.c
/opt/freeware/lib64/apr-1/build/libtool --silent --mode=compile /opt/freeware/bin/gcc -prefer-pic -maix64 -fsigned-char -O2 -U__STR__ -D_THREAD_SAFE -D_USE_IRS -pthread -I/opt/freeware/include/httpd -I/opt/freeware/include/apr-1 -I/opt/freeware/include/apr-1 -c -o mod_test.lo mod_test.c && touch mod_test.slo
/opt/freeware/lib64/apr-1/build/libtool --silent --mode=link /opt/freeware/bin/gcc -L/opt/freeware/lib64 -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib64:/opt/freeware/lib:/usr/lib:/lib -o mod_test.la -rpath /opt/freeware/lib64/httpd/modules -module -avoid-version -Wl,-brtl mod_test.lo
0654-210 .libs/mod_test.o is not valid in the current object file mode.
Use the -X option to specify the desired object mode.
ld: 0711-736 ERROR: Input file .libs/mod_test.o:
XCOFF64 object files are not allowed in 32-bit mode.
collect2: error: ld returned 8 exit status
apxs:Error: Command failed with rc=65536
Thanks, Henning
------------------------------
Henning Bösch
Original Message:
Sent: Wed May 31, 2023 08:48 AM
From: RESHMA KUMAR
Subject: Build httpd 64Bit module
In AIX toolbox, we have both 32bit and 64bit apxs (provided by httpd-devel rpm). The default is 32bit. So, you can try building with apxs_64.
------------------------------
RESHMA KUMAR
Original Message:
Sent: Wed May 31, 2023 04:16 AM
From: Henning Bösch
Subject: Build httpd 64Bit module
Hello,
I am trying to build a httpd 64Bit module on AIX with apxs, but apxs creates a 32Bit module. Has anyone already tried this and knows how to build a 64Bit module?
This is the build output:
$ /opt/freeware/bin/apxs -c mod_test.c
/opt/freeware/lib/apr-1/build/libtool --silent --mode=compile /opt/freeware/bin/gcc -prefer-pic -maix32 -fsigned-char -D_LARGE_FILES -O2 -U__STR__ -D_THREAD_SAFE -D_USE_IRS -pthread -I/opt/freeware/include/httpd -I/opt/freeware/include/apr-1 -I/opt/freeware/include/apr-1 -c -o mod_test.lo mod_test.c && touch mod_test.slo
/opt/freeware/lib/apr-1/build/libtool --silent --mode=link /opt/freeware/bin/gcc -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 -o mod_test.la -rpath /opt/freeware/lib/httpd/modules -module -avoid-version -Wl,-brtl mod_test.lo
This is the system version information:
$ oslevel -s
7200-02-01-1732
$ rpm -qa | grep -e http -e apr
apr-1.5.2-1.ppc
apr-util-devel-1.5.4-1.ppc
httpd-devel-2.4.53-1.ppc
apr-devel-1.5.2-1.ppc
apr-util-1.5.4-1.ppc
httpd-2.4.53-1.ppc
$ sudo bootinfo -y
64
$ sudo bootinfo -K
64
Thanks, Henning
------------------------------
Henning Bösch
------------------------------