From: curl-library [mailto:curl-library-boun...@cool.haxx.se] On Behalf Of Michael Schultz via curl-library Sent: Wednesday, March 13, 2019 4:46 PM To: libcurl development <curl-library@cool.haxx.se> Cc: Michael Schultz <michael.schu...@microfocus.com> Subject: RE: Problem building curl 7.64.0 on AIX 7.2 using xlc 13.1.0
-----Original Message----- From: curl-library [mailto:curl-library-boun...@cool.haxx.se] On Behalf Of Ray Satiro via curl-library Sent: Tuesday, March 12, 2019 7:50 PM To: curl-library@cool.haxx.se Cc: Ray Satiro <raysat...@yahoo.com> Subject: Re: Problem building curl 7.64.0 on AIX 7.2 using xlc 13.1.0 On 3/12/2019 7:06 PM, Michael Schultz via curl-library wrote: > I have built a previous version of curl on this AIX 7.2 machine without > incident, but I'm having trouble with curl 7.64.0. It may be due to the > version of the xlc compiler, but since I've built with this C compiler > before, it may also be a bug in 7.64.0, so it's worth reporting it. > > My configure is: > > ./configure --disable-shared --disable-ipv6 --disable-ldap > --without-zlib --without-libidn --with-ssl=/usr/local/openssl-1.1.1a > --prefix=/usr/local/curl-7.64.0 > > The output from the configure is: > > Host setup: powerpc-ibm-aix7.2.0.0 > Install prefix: /usr/local/curl-7.64.0 > Compiler: xlc > CFLAGS: -O2 -pthread > CPPFLAGS: -qthreaded -qnoansialias -qhalt=e > -I/usr/local/openssl-1.1.1a/include > -I/usr/local/openssl-1.1.1a/include/openssl > LDFLAGS: -L/usr/local/openssl-1.1.1a/lib > LIBS: -lssl -lcrypto > > curl version: 7.64.0 > SSL support: enabled (OpenSSL) > SSH support: no (--with-libssh2) > zlib support: no (--with-zlib) > brotli support: no (--with-brotli) > GSS-API support: no (--with-gssapi) > TLS-SRP support: enabled > resolver: POSIX threaded > IPv6 support: no (--enable-ipv6) > Unix sockets support: enabled > IDN support: no (--with-{libidn2,winidn}) > Build libcurl: Shared=no, Static=yes > Built-in manual: enabled > --libcurl option: enabled (--disable-libcurl-option) > Verbose errors: enabled (--disable-verbose) > Code coverage: disabled > SSPI support: no (--enable-sspi) > ca cert bundle: no > ca cert path: no > ca fallback: no > LDAP support: no (--enable-ldap / --with-ldap-lib / > --with-lber-lib) > LDAPS support: no (--enable-ldaps) > RTSP support: enabled > RTMP support: no (--with-librtmp) > metalink support: no (--with-libmetalink) > PSL support: no (libpsl not found) > HTTP2 support: disabled (--with-nghttp2) > Protocols: DICT FILE FTP FTPS GOPHER HTTP HTTPS IMAP IMAPS POP3 > POP3S RTSP SMB SMBS SMTP SMTPS TELNET TFTP > > All throughout the build, I see these messages: > > CC ../../lib/tftpd-memdebug.o > /opt/IBM/xlC/13.1.0/bin/.orig/cc: 1501-210 (W) command option t > contains an incorrect subargument > > And finally the build fails with: > > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_init > ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_destroy > ld: 0711-317 ERROR: Undefined symbol: .pthread_join > ld: 0711-317 ERROR: Undefined symbol: .pthread_create > ld: 0711-317 ERROR: Undefined symbol: .pthread_detach > ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. > make: The error code from the last command is 8. > > Any advice? For verbose run make V=1 Possibly some bug with -pthread being used instead of -lpthread and some library needs the latter (but didn't specify it for some reason? what?)? I don't know... ===== I tried the make V=1 and this is the output that I got: libtool: link: xlc -O2 -pthread -o curl curl-slist_wc.o curl-tool_binmode.o curl-tool_bname.o curl-tool_cb_dbg.o curl-tool_cb_hdr.o curl-tool_cb_prg.o curl-tool_cb_rea.o curl-tool_cb_see.o curl-tool_cb_wrt.o curl-tool_cfgable.o curl-tool_convert.o curl-tool_dirhie.o curl-tool_doswin.o curl-tool_easysrc.o curl-tool_filetime.o curl-tool_formparse.o curl-tool_getparam.o curl-tool_getpass.o curl-tool_help.o curl-tool_helpers.o curl-tool_homedir.o curl-tool_hugehelp.o curl-tool_libinfo.o curl-tool_main.o curl-tool_metalink.o curl-tool_msgs.o curl-tool_operate.o curl-tool_operhlp.o curl-tool_panykey.o curl-tool_paramhlp.o curl-tool_parsecfg.o curl-tool_strdup.o curl-tool_setopt.o curl-tool_sleep.o curl-tool_urlglob.o curl-tool_util.o curl-tool_vms.o curl-tool_writeout.o curl-tool_xattr.o ../lib/curl-strtoofft.o ../lib/curl-nonblock.o ../lib/curl-warnless.o ../lib/curl-curl_ctype.o -L/usr/local/openssl-1.1.1a/lib ../lib/.libs/libcurl.a -lssl -lcrypto -pthread /opt/IBM/xlc/13.1.0/bin/.orig/xlc: 1501-210 (W) command option t contains an incorrect subargument /opt/IBM/xlc/13.1.0/bin/.orig/xlc: 1501-210 (W) command option t contains an incorrect subargument ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_init ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_destroy ld: 0711-317 ERROR: Undefined symbol: .pthread_join ld: 0711-317 ERROR: Undefined symbol: .pthread_create ld: 0711-317 ERROR: Undefined symbol: .pthread_detach ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. make: The error code from the last command is 8. So, this is definitely a problem with the pthread library. I'll dig into it some more. Mike S ========= Looking at my curl 7.49.1 build, I'm seeing things like: configure:27428: cc -qlanglvl=extc89 -c -O2 -qthreaded -qnoansialias -qhalt=e -I/usr/local/openssl-1.0.2h-64/include -I/usr/local/openssl-1.0.2h-64/include/openssl conftest.c >&5 And I'm wondering if the -pthread shouldn't be -qthreaded on AIX. The 7.64.0 configure contains: CFLAGS="$CFLAGS -pthread" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 It seems uncool to alter CFLAGS like that. The 7.49.1 configure doesn't just unilaterally append -pthread to the CFLAGS. I haven't diff'd them, but the two configures appear to be different in this area, so someone has performed some work here. Mike S ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html