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 > >