Re: [EXTERNAL] Odd differences with cURL and GCC 9 and 10: curl_easy_setopt
Date: Tue, 12 May 2020 20:28:08 +0000
All,
Apologies, but this might be a red-herring. It was not cURL but GNU Make. For some reason, when I have GNU make spit out if I'm passing '--enable-dap' to netCDF in a "tell me what variables are set" it says it is enabled, but when I actually do 'make install', it passes in '--disable-dap'.
My base libraries can be built with or without curl (because sometimes I don't need DAP support) and for some reason the "am I building with cURL?" test has decided to become unreliable after about 5 years of working just fine.
Oh GNU Make, you are my enemy sometimes. Something works for a half decade, and then, let's be weird and break stuff!
Matt
--
Matt Thompson, SSAI, Ld Scientific Programmer/Analyst
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712 Fax: 301-614-6246
http://science.gsfc.nasa.gov/sed/bio/matthew.thompson
From: curl-users <curl-users-bounces_at_cool.haxx.se> on behalf of "Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC] via curl-users" <curl-users_at_cool.haxx.se>
Reply-To: the curl tool <curl-users_at_cool.haxx.se>
Date: Tuesday, May 12, 2020 at 3:27 PM
To: "curl-users_at_cool.haxx.se" <curl-users_at_cool.haxx.se>
Cc: "Thompson, Matt (GSFC-610.1)[SCIENCE SYSTEMS AND APPLICATIONS INC]" <matthew.thompson_at_nasa.gov>
Subject: [EXTERNAL] Odd differences with cURL and GCC 9 and 10: curl_easy_setopt
Dear cURL Gurus,
I'm having some odd issues. Now, in truth the odd issues are manifesting in netCDF-C:
https://github.com/Unidata/netcdf-c/issues/1725<https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Unidata_netcdf-2Dc_issues_1725&d=DwMGaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=t-_8LOcT3mR0eRjGIhNBgNcMPWsPBrZlJ8ZiJNKcEVg&m=s2uGlI7Uo7lOG_6ADPldBAbCnvcrqSpXFuSkaHSrnM8&s=vklEAOGBNWy1cCbgsQvHLEUh5allXs0Jv1d6OJWPzPI&e=>
but one of the devs pointed me to one place to explain some of it: Sometimes when I build with GCC 10.1, netCDF-C reports:
checking for curl_easy_setopt in -lcurl... no
and sometimes it reports:
checking for curl_easy_setopt in -lcurl... yes
The thing is, in both cases, I have *never* changed how I build cURL (and haven't for a while) and I don't change how I build netCDF! I essentially do:
@echo "Configuring curl"
@(cd curl; \
export PATH="$(prefix)/bin:$(PATH)" ;\
export CPPFLAGS="$(INC_SUPP)";\
export LIBS="-lm";\
./buildconf;\
./configure --prefix=$(prefix) \
--includedir=$(prefix)/include/ \
--libdir=$(prefix)/lib \
--with-zlib=$(prefix) \
--disable-ldap \
--enable-manual \
--disable-shared \
--enable-static \
--without-libidn \
--without-libidn2 \
CFLAGS="$(CFLAGS)" CC=$(CC) CXX=$(CXX) FC=$(FC) )
@touch $@
to build cURL. (I run buildconf because my "Base Libraries" (aka Baselibs) have curl as a submodule in a Git repo.)
I have nothing between the two that seems to be different other than whether I load my GCC 9.3 module or my GCC 10.1 module. If I diff curl-config after each successfully builds, the main difference is:
❯ diff curl.930.log curl.1010.log
31d30
< parallel-tests: installing './test-driver'
726c725
< Install prefix: /Users/mathomp4/installed/MPI/gcc-gfortran-9.3.0/openmpi-4.0.3/Baselibs/6.0.12-Snap13/Darwin
---
> Install prefix: /Users/mathomp4/installed/MPI/gcc-gfortran-10.1.0/openmpi-4.0.3/Baselibs/6.0.12-Snap13/Darwin
(Note CPPFLAGS and LDFLAGS are also different because of different installation prefixes for sub-libraries)
I'm kind of at a loss. The log output from my curl build is about as identical as you can get. Thus, I can't see why support for curl_easy_setopt would be different.
If I try building simple.c:
https://curl.haxx.se/libcurl/c/simple.html<https://urldefense.proofpoint.com/v2/url?u=https-3A__curl.haxx.se_libcurl_c_simple.html&d=DwMGaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=t-_8LOcT3mR0eRjGIhNBgNcMPWsPBrZlJ8ZiJNKcEVg&m=s2uGlI7Uo7lOG_6ADPldBAbCnvcrqSpXFuSkaHSrnM8&s=LrENqHnxnRf_TrRm68LkdwUuQ5_HI5w5b7U44CLZ1kg&e=>
with my GCC 9.3 and GCC 10.1 build of cURL they both work.
Is it possible the test for curl_easy_setopt in netCDF-C's configure isn't good? I don't read autotools well enough to know.
Any ideas? Am I perhaps building cURL incorrectly in some way that netCDF is annoyed with it?
Thanks,
Matt
--
Matt Thompson, SSAI, Ld Scientific Programmer/Analyst
NASA GSFC, Global Modeling and Assimilation Office
Code 610.1, 8800 Greenbelt Rd, Greenbelt, MD 20771
Phone: 301-614-6712 Fax: 301-614-6246
http://science.gsfc.nasa.gov/sed/bio/matthew.thompson
-----------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-users
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2020-05-12