View Issue Details

IDProjectCategoryView StatusLast Update
0003940unrealinstallingpublic2010-07-22 12:02
Reporterohnobinki Assigned Toohnobinki  
Status resolvedResolutionfixed 
Platformamd64OSGentooOS Version2.0
Product Version3.2.8 
Target Version3.2.9-RC1Fixed in Version3.2.9-RC1 
Summary0003940: ./configure claims curl doesn't have cares enabled, could use pkg-config
DescriptionI get a false warning about libcurl not having c-ares enabled at compiletime. I pasted proof into Additional Information.

I suspected that ./Config would make the same mistake, but in my quick test it didn't.
Steps To Reproduce1. Use Gentoo :-)
2. Install curl into the system with cares support enabled
Additional Informationchecking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for TRE... yes
checking for CARES... yes
checking /usr/bin/curl-config... yes
configure: WARNING: cURL is compiled without c-ares support. Your IRCd will possibly stall when REHASHing!
checking curl_easy_init() in -lcurl... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/modules/Makefile
config.status: creating unreal
config.status: creating ircdcron/ircdchk
config.status: creating include/setup.h
config.status: include/setup.h is unchanged
ohnobinki@ohnopublishing ~/unreal.0 $ echo :-O
ohnobinki@ohnopublishing ~/unreal.0 $ eix -e curl
* dev-haskell/curl
     Available versions: ~1.3.5 {doc profile}
     Description: Haskell binding to libcurl

[I] net-misc/curl
     Available versions: 7.20.0-r2{tbz2} ~7.20.1 ~7.21.0 {ares gnutls idn ipv6 kerberos ldap libssh2 nss ssl test threads}
     Installed versions: 7.20.0-r2{tbz2}(21:21:37 05/05/10)(ares gnutls ipv6 kerberos ldap lib32 ssl test -idn -libssh2 -nss)
     Description: A Client that groks URLs

Found 2 matches.
ohnobinki@ohnopublishing ~/unreal.0 $ echo 'I see my ares enabled up there...'
I see my ares enabled up there...
ohnobinki@ohnopublishing ~/unreal.0 $ readelf -d /usr/lib64/ |grep libcares
 0x0000000000000001 (NEEDED) Shared library: []
ohnobinki@ohnopublishing ~/unreal.0 $ curl-config --configure | grep -o -e '.--enable-c\?-\?ares.'

You may find interest in:

ohnobinki@ohnopublishing ~/unreal.0 $ curl-config --libs
ohnobinki@ohnopublishing ~/unreal.0 $ curl-config --static-libs
/usr/lib64/libcurl.a -Wl,--as-needed -Wl,-O1 -Wl,-t -Wl,--enable-new-dtags -Wl,--hash-style=both -lcares -lldap -lrt -L/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 -O2 -pipe -march=athlon64 -combine -ftree-vectorize -falign-functions=16 -falign-labels=16 -falign-jumps=16 -g0 -Wno-system-headers -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -L/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 -O2 -pipe -march=athlon64 -combine -ftree-vectorize -falign-functions=16 -falign-labels=16 -falign-jumps=16 -g0 -Wno-system-headers -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lresolv -ldl -lz -lgnutls

Note that --static-libs's output may include libs required for dependencies of libcurl.a. That is, if libcurl uses another library that requires -lcares, curl-config --static-libs will list -lcares even if curl wasn't compiled with support for it.
TagsNo tags attached.
3rd party modules


related to 0003941 closedohnobinki pkg-config support for curl 



2010-07-20 16:22

administrator   ~0016227

Perhaps have a look at my ./Config check I put in a few days ago. It does a proper check by doing curl-config --features and checking for AsynchDNS :)

2010-07-22 01:13



2010-07-22 01:15

reporter   ~0016235

unreal-3940-pkg-config-libcurl.patch: Add pkg-config support for curl, detect features properly in ./configure.

I expect the pkg-config support half of this is more controversial. Also, I can remove the hint to the user about forcing compilation against a libcurl that doesn't have cares if you want ;-).


2010-07-22 12:02

administrator   ~0016239

- Fix the detection for curl-without-c-ares a little (0003940).

Sorry for stealing your bug slightly... but I wanted a simple fix :P.
I tried to clone this bug to 0003941, so to make a separate bug for pkg-config support -> 3.2.10, but it seems it does not really clone it, as it didn't copy the attachement!

Issue History

Date Modified Username Field Change
2010-07-20 16:03 ohnobinki New Issue
2010-07-20 16:03 ohnobinki QA => Not touched yet by developer
2010-07-20 16:03 ohnobinki U4: Need for upstream patch => No need for upstream InspIRCd patch
2010-07-20 16:03 ohnobinki U4: Upstream notification of bug => Not decided
2010-07-20 16:03 ohnobinki U4: Contributor working on this => None
2010-07-20 16:22 syzop Note Added: 0016227
2010-07-20 18:25 ohnobinki Status new => assigned
2010-07-20 18:25 ohnobinki Assigned To => ohnobinki
2010-07-22 01:13 ohnobinki File Added: unreal-3940-pkg-config-libcurl.patch
2010-07-22 01:15 ohnobinki Note Added: 0016235
2010-07-22 01:15 ohnobinki Summary ./configure claims curl doesn't have cares enabled => ./configure claims curl doesn't have cares enabled, could use pkg-config
2010-07-22 12:00 syzop Issue cloned: 0003941
2010-07-22 12:01 syzop Relationship added related to 0003941
2010-07-22 12:02 syzop Note Added: 0016239
2010-07-22 12:02 syzop Status assigned => resolved
2010-07-22 12:02 syzop Fixed in Version => 3.2.9-RC1
2010-07-22 12:02 syzop Resolution open => fixed