Hello
On 1 Feb 2008, at 14:54, Russell Bryant wrote:
Try the attached patch to see if moving building the sys_guicmd to before the fork fixes it. If it doesn't, try commenting out the call to seteuid(). Between those two, you should be able to find out what it's complaining about.
So, you may have heard 0.40.1 was the bugfix that never was (my fault...)
I've now come to grips with packages/darwin_app and I'm building successfully on 10.5.1, so can test patches to resolve the fork() issue easily enough.
However, both setting the sys_guicmd call before the fork _and_ commenting out the call to setuid() fail to get rid of the messages:
14/02/2008 18:13:02 [0x0-0x185185].org.puredata.pd.wish[66305] Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ () to debug.
coming up in /var/log/syslog when starting pd
Below are the offending bits of s_inter.c as they stand right now; can anyone see what's wrong with this picture?
#endif sys_guicmd = cmdbuf; }
if (sys_verbose) fprintf(stderr, "%s", sys_guicmd);
childpid = fork(); if (childpid < 0) { if (errno) perror("sys_startgui"); else fprintf(stderr, "sys_startgui failed\n"); return (1); } else if (!childpid) /* we're the child */ { /*seteuid(getuid());*/ /* commented out to see if that's what causes exec errors /* /* lose setuid priveliges */
#ifndef __APPLE__ /* the wish process in Unix will make a wish shell and read/write standard in and out unless we close the file descriptors. Somehow this doesn't make the MAC OSX version of Wish happy...*/ if (pipe(stdinpipe) < 0) sys_sockerror("pipe"); else { if (stdinpipe[0] != 0) { close (0); dup2(stdinpipe[0], 0); close(stdinpipe[0]); } } #endif execl("/bin/sh", "sh", "-c", sys_guicmd, (char*)0); perror("pd: exec"); _exit(1); }