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.

Reply via email to