From: Richard Kettlewell Date: Wed, 3 Oct 2007 21:19:40 +0000 (+0100) Subject: build fixes, works on mac now X-Git-Tag: debian-1_5_99dev8~144 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/commitdiff_plain/dc450d306ec47916c28a11b84d9757f0e1921460 build fixes, works on mac now --- diff --git a/README.mac b/README.mac index 2a17cc1..6ccbf6a 100644 --- a/README.mac +++ b/README.mac @@ -1,9 +1,8 @@ DisOrder on OS X ================ -The server builds on OS X. However the kernel panics when I run it -(kernel 8.10.1). Until Apple can provide a stable operating system, -it is not recommended that you run the server on this platform. +The server builds on OS X. It is not well tested in this environment. +Please report successes and failures! Things you will need to do: diff --git a/server/play.c b/server/play.c index 1530fe8..fbd7f70 100644 --- a/server/play.c +++ b/server/play.c @@ -392,7 +392,7 @@ static int start(ev_source *ev, snprintf(addr.sun_path, sizeof addr.sun_path, "%s/speaker", config->home); sfd = xsocket(PF_UNIX, SOCK_STREAM, 0); - if(connect(sfd, &addr, sizeof addr) < 0) + if(connect(sfd, (const struct sockaddr *)&addr, sizeof addr) < 0) fatal(errno, "connecting to %s", addr.sun_path); l = strlen(q->id); if(write(sfd, &l, sizeof l) < 0 diff --git a/server/speaker.c b/server/speaker.c index 1e3a059..2c742f7 100644 --- a/server/speaker.c +++ b/server/speaker.c @@ -469,7 +469,7 @@ static void mainloop(void) { uint32_t l; char id[24]; - if((fd = accept(listenfd, &addr, &addrlen)) >= 0) { + if((fd = accept(listenfd, (struct sockaddr *)&addr, &addrlen)) >= 0) { if(read(fd, &l, sizeof l) < 4) { error(errno, "reading length from inbound connection"); xclose(fd); @@ -627,7 +627,7 @@ int main(int argc, char **argv) { if(unlink(addr.sun_path) < 0 && errno != ENOENT) error(errno, "removing %s", addr.sun_path); xsetsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof one); - if(bind(listenfd, &addr, sizeof addr) < 0) + if(bind(listenfd, (const struct sockaddr *)&addr, sizeof addr) < 0) fatal(errno, "error binding socket to %s", addr.sun_path); xlisten(listenfd, 128); nonblock(listenfd); diff --git a/server/trackdb.c b/server/trackdb.c index ab5a5e9..d0147e6 100644 --- a/server/trackdb.c +++ b/server/trackdb.c @@ -129,7 +129,7 @@ void trackdb_init(int recover) { |DB_CREATE |recover_type[recover], 0666))) - fatal(0, "trackdb_env->open: %s", db_strerror(err)); + fatal(0, "trackdb_env->open %s: %s", config->home, db_strerror(err)); trackdb_env->set_errpfx(trackdb_env, "DB"); trackdb_env->set_errfile(trackdb_env, stderr); trackdb_env->set_verbose(trackdb_env, DB_VERB_DEADLOCK, 1);