[postgis-users] shp2pgsql problems on Mac OS X Leopard

Patrick Hartling patrick.hartling at priority5.com
Thu Dec 6 07:37:18 PST 2007


Yes, that is what was happening for me. Without looking at the code, I  
had narrowed it down to some sort of argument processing problem. On  
my way in to the office this morning, I started wondering if it might  
not be better to use the system-provided getopt(3) for the Mac OS X  
case. I could not tell if that was the intention, but I will look into  
that as soon as I can. If I come up with something other than this  
#include removal hack, I will post a patch.

  -Patrick

On Dec 5, 2007, at 10:35 PM, John Cartwright wrote:

> Hi Patrick,
>
> I think I ran into the same problem, but didn't realize what the  
> underlying issue was.  Just found that shp2pgsql kept complaining  
> about the inability to open valid shapefiles.
>
> --john
>
>
> On Dec 5, 2007, at 9:32 AM, Patrick Hartling wrote:
>
>> I have run into a rather perplexing problem with shp2pgsql from  
>> PostGIS 1.3.1 and 1.3.2 on Mac OS X Leopard. As far as I can tell,  
>> the optarg and optind variables declared in ParseCmdline() of  
>> loader/shp2pgsql.c are being linked to the globals declared in  
>> unistd.h rather than those in loader/getopt.h. The result is that  
>> references to these variables in ParseCmdline() give the wrong  
>> values. Specifically, optarg is always NULL, and optind is 0 until  
>> the loop in lines 1363 through 1377.
>>
>> Looking at the output from the preprocessor, optarg, optind,  
>> opterr, and optopt are all  declared twice. The first is from  
>> unistd.h, and the second is from PostGIS' loader/getopt.h. If I  
>> remove the #include directive for unistd.h, shp2pgsql compiles,  
>> links, and runs correctly, although there is a compiler warning  
>> saying that getopt() is not declared.
>>
>> My guess is that there is some compiler or linker option that might  
>> fix this behavior, but I have not been able to determine what that  
>> might be. Removing the inclusion of unistd.h does not seem like the  
>> best fix, but it is a workaround that gets things running for me.
>>
>> -Patrick
>>
>>
>> --
>> Patrick L. Hartling
>> Senior Software Engineer, Priority 5
>> http://www.priority5.com/
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users

--
Patrick L. Hartling
Senior Software Engineer, Priority 5
http://www.priority5.com/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20071206/a1283d33/attachment.pgp>


More information about the postgis-users mailing list