[Dovecot] Checking for strtoumax and strtoimax
Tru64 5.1b PK6 : dovecot 1.1.7 : cc
Configuration checks for strtoumax and strtoimax are positive but both are unresolved during compilation. strtoq and strtouq checks are negative.
I can modify compat.c to use "unsigned long ret = 0;" in place of strtoumax (does this break anything?) and/but I would like to know how to handle strtoimax.
Thanks in advance.
On Dec 31, 2008, at 2:13 AM, J Springer wrote:
Tru64 5.1b PK6 : dovecot 1.1.7 : cc
Configuration checks for strtoumax and strtoimax are positive but
both are unresolved during compilation. strtoq and strtouq checks are negative.
In what header file are strtoumax and strtoimax declared? How are they
declared? (grep -r strtoumax /usr/include) Perhaps you'd just need to
link with some extra library to be able to use them.
I can modify compat.c to use "unsigned long ret = 0;" in place of
strtoumax (does this break anything?)
That'd work.
and/but I would like to know how to handle strtoimax.
If you're not using quota plugin you won't need it. If you're going to
use quota plugin it would have to be implemented somehow..
In what header file are strtoumax and strtoimax declared? How are they declared? (grep -r strtoumax /usr/include) Perhaps you'd just need to link with some extra library to be able to use them.
They're not declared at all which was why I was puzzled at the positive check.
and/but I would like to know how to handle strtoimax.
If you're not using quota plugin you won't need it. If you're going to use quota plugin it would have to be implemented somehow..
Quota won't be used. Any problem with just removing that section from compat.c?
On Dec 31, 2008, at 3:46 AM, J Springer wrote:
In what header file are strtoumax and strtoimax declared? How are
they declared? (grep -r strtoumax /usr/include) Perhaps you'd just
need to link with some extra library to be able to use them.They're not declared at all which was why I was puzzled at the
positive check.
It shows in config.log why exactly it thought they were working.
Copy&paste those parts of it?
and/but I would like to know how to handle strtoimax. If you're not using quota plugin you won't need it. If you're going
to use quota plugin it would have to be implemented somehow..Quota won't be used. Any problem with just removing that section
from compat.c?
You shouldn't need to remove anything, since the default
implementation is i_panic().
Actually easiest way for you would probably to just remove the
HAVE_STRTOIMAX and HAVE_STRTOUMAX from config.h.in and config.h
without modifying compat.c at all.
It shows in config.log why exactly it thought they were working. Copy&paste those parts of it?
configure:23169: checking for strtoimax configure:23196: cc -c -g conftest.c >&5 configure:23202: $? = 0 configure:23213: result: yes configure:23228: checking for strtoumax configure:23255: cc -c -g conftest.c >&5 configure:23261: $? = 0 configure:23272: result: yes
I am running the bash shell and I have found where bash compiles in definitions for strtoimax and strtoumax. So, even if the shell is changed, the environmental variable for the shell is not. Could this be the problem?
Actually easiest way for you would probably to just remove the HAVE_STRTOIMAX and HAVE_STRTOUMAX from config.h.in and config.h without modifying compat.c at all.
Yes, this works, as well. At this point I realize that it is a system and/or shell problem and not a dovecot problem. Is there a work around (not that you need more work) or do I just need to remember to undefine these for the Tru64 systems that I still support?
On Wed, 2008-12-31 at 10:28 -0600, J Springer wrote:
It shows in config.log why exactly it thought they were working. Copy&paste those parts of it?
configure:23169: checking for strtoimax configure:23196: cc -c -g conftest.c >&5 configure:23202: $? = 0 configure:23213: result: yes configure:23228: checking for strtoumax configure:23255: cc -c -g conftest.c >&5 configure:23261: $? = 0 configure:23272: result: yes
Well, that was useless. :) I somehow got confused, config.log is useful only on error cases.
I am running the bash shell and I have found where bash compiles in definitions for strtoimax and strtoumax. So, even if the shell is changed, the environmental variable for the shell is not. Could this be the problem?
I don't think so.
Actually easiest way for you would probably to just remove the HAVE_STRTOIMAX and HAVE_STRTOUMAX from config.h.in and config.h without modifying compat.c at all.
Yes, this works, as well. At this point I realize that it is a system and/or shell problem and not a dovecot problem. Is there a work around (not that you need more work) or do I just need to remember to undefine these for the Tru64 systems that I still support?
This should help: http://hg.dovecot.org/dovecot-1.1/rev/0041d055acac
participants (2)
-
J Springer
-
Timo Sirainen