Heya PK... if you ever find this out, please post the solution!!

I believe it has to do with the completely lacking IPC interfaces, 
especially the SysV semaphore implementation.  various IPC and 
Semaphore/Lock mechanisms won't install because of this.  It's REALLY 
annoying.  

You can use mod_perl for your perl applications (or CGI), but if you 
want sessions of any sort, I believe you will have to use seomthing that 
isn't dependant on those locking modules.  IPC is pretty much out of the 
question with Perl on OS X.  You could always write your own file-based 
session system, with the filename being the unique key assigned to that 
user's session, and the contents being the session data.  But this 
certainly isn't as ellegant or fast as a memory based session system. 
 Although, it is more reliable in the event that the web server needs to 
quickly be restarted.

Or, if it's just for playing around, you could just limit Apache to only 
1 server process, which will make it so that the memory doesn't HAVE to 
be shared, because there's only 1 process running, ensuring that the 
user gets the same process containing their session data.

Fun stuff, huh?  hehehe..

Cheers.
-Alex

Puneet Kishor wrote:

> I tried installing Apache::Session via CPAN. Failed with the message 
> below. Then I saw on the CPAN page that Apache-Session fails on 
> darwin. Any suggestions/workarounds? How do I implement sessions in 
> perl powered web applications on MacOS X with Apache?
>
> Thanks,
>
> Puneet.
>
>
> ===== Apache::Session fail message tail =====
>
> t/99flex............semget not implemented at 
> /System/Library/Perl/darwin/IPC/Semaphore.pm line 38.
>         (in cleanup) semget not implemented at 
> /System/Library/Perl/darwin/IPC/Semaphore.pm line 38.
> t/99flex............dubious
>         Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED test 2
>         Failed 1/2 tests, 50.00% okay
> t/99md5gen..........ok
> t/99moduniqgen......ok
> t/99mysql...........skipped test on this platform
> t/99mysqllock.......skipped test on this platform
> t/99mysqlstore......skipped test on this platform
> t/99nulllock........ok
> t/99oracle..........skipped test on this platform
> t/99postgres........skipped test on this platform
> t/99semaphore.......semget not implemented at 
> /System/Library/Perl/darwin/IPC/Semaphore.pm line 38.
> t/99semaphore.......dubious
>         Test returned status 255 (wstat 65280, 0xff00)
> DIED. FAILED tests 2-28
>         Failed 27/28 tests, 3.57% okay
> t/99storable........ok
> t/99uue.............ok
> Failed Test     Status Wstat Total Fail  Failed  List of Failed
> -------------------------------------------------------------------------------- 
>
> t/99flex.t       255 65280     2    1  50.00%  2
> t/99semaphore.t  255 65280    28   27  96.43%  2-28
> 5 tests skipped.
> Failed 2/18 test scripts, 88.89% okay. 28/100 subtests failed, 72.00% 
> okay.
> make: *** [test_dynamic] Error 2
>   /usr/bin/make test -- NOT OK
> Running make install
>   make test had returned bad status, won't install without force
>
>



Reply via email to