Messaging
cancel
Showing results for 
Search instead for 
Did you mean: 

CourierIMAP (authlib) - Cannot find function res_query

SOLVED
Go to solution
Bartoka
Occasional Advisor

CourierIMAP (authlib) - Cannot find function res_query

Hi,

I'm trying to compile courier-authlib-0.60.2 on HP-UX 11.23 Itanium platform.
Configure script yields about :
checking whether -lresolv is needed for res_query... configure: error: Cannot find function res_query

I checked on mailinglists to this problem but there is no solution to it.
I found out that /usr/include/resolv.h file of HP-UX 11.23 mentions the fact that
"res_query" has been removed from it:
/*
* This used to be defined in res_query.c, now it's in herror.c. It was
* never extern'd by any *.h file before it was placed here. herror.c is
* part of libresolv.a even though it might make more sense in libnetdb.a
* or even libnet.a.
*/

How can I fix this prob ? Has someone installed properly CourierIMAP with Authlib on HP-UX11.23 IA64 ?
May you give me a hints/pointers ?

Any answer appreaciated!

Regards
Bartos
7 REPLIES
Dennis Handly
Acclaimed Contributor

Re: CourierIMAP (authlib) - Cannot find function res_query

I see res_query is still in the 11.31 man page. Have you look in all libs in /usr/lib/hpux32 for it?
$ nm -px /usr/lib/hpux32/lib* | fgrep res_query
Bartoka
Occasional Advisor

Re: CourierIMAP (authlib) - Cannot find function res_query

Hi Dennis,

yes I found res_query in different locations, but I guess I don't know how to use it ? Should I pass this libs during configuration?
Cause I already tried, and it didn't help.

Bartos
Dennis Handly
Acclaimed Contributor

Re: CourierIMAP (authlib) - Cannot find function res_query

>yes I found res_query in different locations, but I guess I don't know how to use it?

You need to find entries that have a "T" for an exported function, not "U" for an unsat.
Bartoka
Occasional Advisor

Re: CourierIMAP (authlib) - Cannot find function res_query

Entering command:/var/courier-authlib-0.60.2 >nm -px /usr/lib/hpux32/lib* | fgrep res_query

Results in:
/*
nm: /usr/lib/hpux32/lib.b: bad magic
0x00000000 a ../../../../../core/libs/libc/shared_em_32/../net/bsdipc/res_query.c
0x040773a0 t T_e_1711_cl__res_querydomain
0x040746a0 t _res_query
0x04076140 t _res_querydomain
0x040746a0 T res_query
0x04076140 T res_querydomain
0x00000000 a ../../../../../core/libs/libc/shared_em_32/../net/bsdipc/res_query.c
0x040773a0 t T_e_1711_cl__res_querydomain
0x040746a0 t _res_query
0x04076140 t _res_querydomain
0x040746a0 T res_query
0x04076140 T res_querydomain
nm: /usr/lib/hpux32/libc_symbols: bad magic
no symbols
0x00000000 U res_query
0x00000000 U res_query
nm: /usr/lib/hpux32/libp: bad magic
nm: /usr/lib/hpux32/libsasl2.la: bad magic
no symbols
*/

I see "0x040746a0 T res_query" that you mentioned, and what now ? Still no idea how to use this information to solve my prob...

Bartos
Dennis Handly
Acclaimed Contributor
Solution

Re: CourierIMAP (authlib) - Cannot find function res_query

>I see "0x040746a0 T res_query" that you mentioned, and what now?

Sorry, I forgot some options:
$ nm -pxAN /usr/lib/hpux32/lib* | fgrep res_query

This should list the lib in question. It probably will show it is in libc.

If so, the config script is broken:
checking whether -lresolv is needed for res_query... configure: error: Cannot find function res_query

I.e. it shouldn't add -lresolv to the link line.
Bartoka
Occasional Advisor

Re: CourierIMAP (authlib) - Cannot find function res_query

Supposing, configure script is broken, I can forget about compiling Courier in my environment ?

Starting from the beginning"
Do you know any other POP3/IMAP server "compatible" with HPUX 11.23 that will support: -maildir
-LDAP authentication


I already tried CyrusIMAP+CyrusSASL. Both compiling from src and installing from depots but also without success.
Any suggestions ?

Maybe someone has a running configuration of POP3/IMAP server with maildir and LDAP auth. and can propose me smth ?
Dennis Handly
Acclaimed Contributor

Re: CourierIMAP (authlib) - Cannot find function res_query

>ME: It probably will show it is in libc.

Yes, it is in libc.

>Supposing, configure script is broken, I can forget about compiling Courier in my environment?

No, you just fix the script. There is no libresolv on HP-UX. res_query is in libc.
So if you see -lresolv and change it to -lc, it should work.

Of course the "correct" fix would be to check "uname -s" for "HP-UX" then do that.