I had been running pound without problem on my Mac with OS 10.4 and
10.5.
After upgrading to 10.6, I rebuilt pound for reasons unconnected to
the upgrade.
Post-rebuild, pound would not run -- I would get the following error:
line 10: Unknown Listener address ""
Line 10 in my config file was a typical "Address 0.0.0.0" line.
In looking at the source code, it seemed that the regex that matches
the "Address" line succeeded, but lin + matches[1] was ending up with
the null string. After digging further, I saw that the start and end
offset for matches[1] were both -1. Offsets for matches[0] were
ridiculously large numbers.
I wrote a little C program, copying the relevant lines from config.c,
compiled it ("gcc test.c") and ran it, and it worked perfectly. There
had to be a difference.
The difference was that pound's configure script was finding
libpcreposix on my system. Its inclination is to add that to the link
line if it is present and responds to a call.
The problem is that after upgrading to OS 10.6, pound no longer found
pcreposix.h, and instead was including regex.h.
There is a vast difference in certain #defines for flags between
pcreposix.h and regex.h. The net effect is that regexp.h's flags were
being passed to function calls in libpcreposix.
After removing -lpcreposix from the Makefile and running "sudo make
install" it all worked properly.
I'd suggest requiring the presence of pcreposix.h before including
libpcreposix. Seems that it would take a fair amount of heavy lifting
in the configure script to do so.
Thanks!
-zs
--
To unsubscribe send an email with subject unsubscribe to [email protected].
Please contact [email protected] for questions.