Opened 18 years ago

Closed 18 years ago

#1877 closed defect (fixed)

PHP Mapscript build on OSX broken

Reported by: kyngchaos@… Owned by: hobu
Priority: high Milestone: 4.10 release
Component: MapScript-PHP Version: 4.10
Severity: major Keywords:
Cc:

Description

There were a couple changes in the PHP Mapscript build that broke it on OSX in the 4.10 beta 1:

- PHP extensions on Mac OS X use the linux .so file extension, not OSX's dylib library extension.  The 
PHP mapscript makefile changed this from a hardwired .so to a configured @SO_EXT@.

- The build options for a PHP extension on OSX are different from a normal dynamic library.  They 
should be as they were in past PHP Mapscript versions:

g++ -bundle -flat_namespace -undefined suppress

A suggestion that could automate this instead of trying to figure out all system possibilities is to 
remove PHP MapScript as a configure option, and have it a separate build like the other mapscripts.  
The PHP extension build would then use phpize to setup the PHP Mapscript build environment.  This 
would get the correct file extension and build settings for the OS.

Change History (5)

comment:1 by dmorissette, 18 years ago

Cc: dmorissette@… added
Milestone: 4.10 release
Owner: changed from mapserverbugs to hobu@…
Reassigned to Howard and set target milestone to 4.10 release

comment:2 by hobu, 18 years ago

ok, changed it bact to a hardwired .so extension instead of substituting in the
@SO_EXT@ macro

comment:3 by hobu, 18 years ago

Status: newassigned
For lack of a better option, I created a PHP_LD_SHARED macro to determine PHP's
shared library building requirements.  These are necessarily different on OSX
than the normal requirements, but the same as LD_SHARED everywhere else.  This
fix was tested on the buildbot and seems to be doing what is expected now.

I also fixed the use of @SO_EXT@ and hardcoded .so as was there before.  

Please confirm before I close this bug.

Howard

comment:4 by kyngchaos@…, 18 years ago

Checks out OK for me.  Thanks.

comment:5 by hobu, 18 years ago

Resolution: fixed
Status: assignedclosed
closing
Note: See TracTickets for help on using tickets.