Just spent a good little chunk of time getting 2.8p20 to compile on Mac OS X, so I figured I'd pass along what I did to make it work in case anyone else is trying to do this.
Run configure with options --disable-zero --disable-owtcl Make sure you've installed Swig and all the swig modules (php, perl, python) if building those - easy to do with macports. I was getting compile errors related to an undefined type uint when compiling the php module. If you edit module/swig/php/ow_wrap.c and add "typedef unsigned int uint;" before line 717 where zend.h gets included, that fixes that issue. My Python module wasn't working with an error about not being able to find Python.Frameworks for _PyMac_Error in the compiler. This is apparently a known bug with python 2.7, it can be fixed by opening ...Frameworks/Python.framework/Versions/2.7/lib/python2.7/config (probably in your /Users/username/Library folder on OS X) and search for PyMac_Error. Change PYTHONFRAMEWORKDIR to PYTHONFRAMEWORKINSTALLDIR on that line, and re-configure. After those tweaks, everything compiled correctly, but I was getting a segfault when trying to start up anything with the owlib. After doing some digging I found that this was coming from ow_alias.c, which uses the function strsep. This function wasn't getting defined for some reason, leaving the compiler to implicitly treat the value as an int, which then gets cast to a 64 bit size_t pointer on my system - bad things! Turns out the compiler flag -D_POSIX_C_SOURCE=200112L blocks the definition of strsep on my system, so I went into the configure script and searched for that flag and edited it out of the lines where it gets added to CFLAGS and EXTRA_CFLAGS. The only problem with this is that by default this flag is needed to get C Signal library functions like sigaddset. On OS X you can get around this though, by including a different signals file. After you run the new configure, go to the file module/owlib/src/include/ow.lib and search for the include line for signal.h - it'll read #include <sys/signal.h>. Change that to #include <signal.h> and you should get the signal functions even without the compiler flag. After those changes, everything seems to compile and run fine. I haven't exhaustively tested it, and my system has a lot of different stuff on it, so your mileage may vary, but that worked for me! ------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d _______________________________________________ Owfs-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/owfs-developers
