Installing GIFT on Mac OS 10.4.7 - issues, and some fixes

David Squire <[email protected]>
Newsgroups gmane.comp.gnu.gift.general
Message-ID <[email protected]>
Issues:

- ./configure succeeded, but makes fails because expat.h can't be found. 
I have installed expat using DarwinPorts, so it is found in 
/opt/local/include/. I added this to DEFAULT_INCLUDES in Makefiles in 
libMRML/cc/, libGIFTAcURL2FTS/cc/, and libGIFTAcHierarchy/cc/, 
GIFTServer, . This fixed the problem. Should ./configure be checking for 
expat.h?

- Mac OS X does not have malloc.h. malloc() is defined in stdlib.h. I 
removed "#include <malloc.h>" from *.c in libSquirePPM/, and ensured 
that all had "include <stdlib.h". I seem to recall that when building on 
my AMD 64 machine under Ubuntu I had to ensure that malloc.h *was* 
included, so perhaps we need conditional includes here.

- Mac OS X does not have values.h. This causes a problem for 
libSquirePPM/ppm_normalize.c, which uses it for MAXFLOAT. Solution? Just 
remove the line, as it is defined in math.h.

- Sockets. And now we run into the first problem that I can't do a quick 
fix for:

if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/local/include 
-I../libMRML/include -I../libGIFTAcInvertedFile/include 
-I../libGIFTAcURL2FTS/include -I.   -I.    -g -O2 -DEF_PROTECT_BELOW=1 
-DEF_PROTECT_FREE -DEF_PROTECT_ALIGNMENT=8 -DEF_FILL=42  -MT 
CDomainSocket.o -MD -MP -MF ".deps/CDomainSocket.Tpo" -c -o 
CDomainSocket.o CDomainSocket.cc; \
then mv -f ".deps/CDomainSocket.Tpo" ".deps/CDomainSocket.Po"; else rm 
-f ".deps/CDomainSocket.Tpo"; exit 1; fi
CDomainSocket.cc: In member function 'virtual bool 
CDomainSocket::acceptAndServe()':
CDomainSocket.cc:98: error: aggregate 'ucred lCredentials' has 
incomplete type and cannot be defined
CDomainSocket.cc:102: error: 'SO_PEERCRED' was not declared in this scope
make[3]: *** [CDomainSocket.o] Error 1

It seems that BSD (on which Darwin is built) and Linux handle this stuff 
differently. See for example 
http://archives.postgresql.org/pgsql-patches/2002-12/msg00015.php

If someone has experience of getting this to work on BSD systems, leap 
in now :) Otherwise I will start digging and see what I can find out.

Regards,

David


-- 
Dr David McG. Squire,  Senior Lecturer, on sabbatical in 2006
Caulfield School of Information Technology, Monash University, Australia
CRICOS Provider No. 00008C       http://www.csse.monash.edu.au/~davids/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.