Hi Willy, Thanks for your prompt response. I appreciate your help with this matter.
Here is the ld version on my AIX system. ld: LD 1.65.6.6 (4/1/14) I tried changing the linker in the Makefile from gcc to ld, but ran into similar undefined symbol errors. I installed binutils which includes gld version 2.29.1, but ran into many undefined reference errors (attached). Thank you! Patrick Overbey Fiserv -----Original Message----- From: Willy Tarreau [mailto:[email protected]] Sent: Thursday, December 27, 2018 8:17 AM To: Overbey, Patrick (Sioux Falls) <[email protected]> Cc: Aleksandar Lazic <[email protected]>; [email protected] Subject: Re: haproxy AIX 7.1.0.0 compile issues Hi Patrick, On Thu, Dec 27, 2018 at 01:37:15PM +0000, Overbey, Patrick (Sioux Falls) wrote: > I have attached connection.c and vars.c (aixchg.tar.bz2) which had to > have changes to (ip_v and var) variable assignments to compile version 1.8. > > I have also attached a build log (haproxy-make.zip) for version 1.9 > when the build failed which has the same code changes to connection.c and > vars.c. Thanks for your report. That's really sad that it broke, to say the least :-( The problem that the change addressed was that we were dealing with init ordering dependencies that really required to do something finer than what we had till now. Certain things couldn't be pre-initialized (e.g. thread-local variables), resulting in the need to run through complex fixing operations when switching to multi-thread. What you report indicates that your linker doesn't seem to create the start and end of section automatic symbols that we are relying on. Could you please send the output of "ld --version" ? I suspect it's not a binutils-compatible linker but there might be some options to make it become more compatible and/or to emit these symbols. Alternatively maybe you have another linker available on the system. Please check if you have something called "gld", "gcc-ld" or so, I wouldn't be surprised. > When I attempt to add the -bnoquiet to the LDFLAGS, I get an error > that it is an unrecognized command line option. Here is the command I > used that included the -bnoquiet. > > /usr/local/gnu-2018/bin/gmake -B CFLAGS="-maix64" LDFLAGS="-maix64 -bnoquiet" > TARGET=aix52 USE_OPENSSL=1 SSL_INC=/opt/freeware/include/openssl > SSL_LIB=/opt/freeware/lib USE_ZLIB=1 2>&1 | tee haproxy-make.log > > gcc: error: unrecognized command line option '-bnoquiet'; did you mean > '-quiet'? Regarding this one I'm less worried. We default to LD=$(CC) so by just setting "LD=ld" or wherever your ld is located, it should more or less be OK. At the moment I'd really like to see how to make your linker generate the initcall symbols. Regards, Willy
haproxy-gld.log.bz2
Description: haproxy-gld.log.bz2

