View Issue Details

IDProjectCategoryView StatusLast Update
0003941unrealinstallingpublic2018-05-01 16:59
Reporterohnobinki Assigned Toohnobinki  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Platformamd64OSGentooOS Version2.0
Product Version3.2.8 
Summary0003941: pkg-config support for curl
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
:-O
ohnobinki@ohnopublishing ~/unreal.0 $ eix -e curl
* dev-haskell/curl
     Available versions: ~1.3.5 {doc profile}
     Homepage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl
     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)
     Homepage: http://curl.haxx.se/
     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/libcurl.so |grep libcares
 0x0000000000000001 (NEEDED) Shared library: [libcares.so.2]
ohnobinki@ohnopublishing ~/unreal.0 $ curl-config --configure | grep -o -e '.--enable-c\?-\?ares.'
'--enable-ares'


You may find interest in:

ohnobinki@ohnopublishing ~/unreal.0 $ curl-config --libs
-lcurl
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.
Attached Files
3rd party modules

Relationships

related to 0003940 resolvedohnobinki ./configure claims curl doesn't have cares enabled, could use pkg-config 

Activities

syzop

2010-07-22 12:07

administrator   ~0016240

> 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 ;-).

Yes, please remove.. we don't want to encourage users doing silly things :)

Anyway --> 3.2.10

ohnobinki

2010-07-22 13:57

reporter   ~0016242

unreal-3941-pkg-config-libcurl-r1.patch: removed message about avoiding libcares check :-p. Will be committed when the repo is open for 3.2.10.

syzop

2012-10-06 12:11

administrator   ~0017146

Can you review the patch and update it if needed? As I asked a few months ago on IRC
I presume things like:
+ echo "I be called!"
shouldn't be in it... ;)

I'm working towards a rc1/alpha/beta/pre1/whatever, so this would need to be done fast if you still want it in. Otherwise it'll be in next release. Not really a problem for me, as so far I haven't heard of any issues with current trunk & unable to use libcurl... so I guess pkg-config support is not that important.

syzop

2012-10-06 12:12

administrator   ~0017147

Also, just to check: this patch does -just- add pkg-config support, right? It doesn't silently alter any other parts like stripping the libraries so we use our own c-ares (if not using system wide c-ares), correct?

syzop

2013-01-09 10:21

administrator   ~0017321

reassigned to 3.4

syzop

2018-05-01 16:59

administrator   ~0020120

As far as I know we have this in 4.0.x

Issue History

Date Modified Username Field Change
2010-07-22 12:00 syzop New Issue
2010-07-22 12:00 syzop Status new => assigned
2010-07-22 12:00 syzop Assigned To => ohnobinki
2010-07-22 12:00 syzop QA => Not touched yet by developer
2010-07-22 12:00 syzop U4: Need for upstream patch => No need for upstream InspIRCd patch
2010-07-22 12:00 syzop U4: Upstream notification of bug => Not decided
2010-07-22 12:00 syzop U4: Contributor working on this => None
2010-07-22 12:00 syzop Issue generated from: 0003940
2010-07-22 12:01 syzop Reporter syzop => ohnobinki
2010-07-22 12:01 syzop Relationship added related to 0003940
2010-07-22 12:03 syzop Relationship added child of 0003915
2010-07-22 12:07 syzop Note Added: 0016240
2010-07-22 13:56 ohnobinki File Added: unreal-3941-pkg-config-libcurl-r1.patch
2010-07-22 13:57 ohnobinki Note Added: 0016242
2012-10-06 12:11 syzop Note Added: 0017146
2012-10-06 12:12 syzop Note Added: 0017147
2012-10-15 15:07 syzop Relationship deleted child of 0003915
2013-01-09 10:21 syzop Note Added: 0017321
2013-01-09 10:21 syzop Severity trivial => minor
2013-01-09 10:21 syzop Status assigned => acknowledged
2018-05-01 16:59 syzop Status acknowledged => closed
2018-05-01 16:59 syzop Resolution open => fixed
2018-05-01 16:59 syzop Note Added: 0020120