> Date: Tue, 13 Jan 2009 19:29:48 +0000 > From: Jonathan Gazeley > <jonathan.gaze...@bristol.ac.uk> > Subject: [timidity-talk] Running Timidity as a service
. . . > [jonat...@poseidon ~]$ sudo service timidity start > [jonat...@poseidon ~]$ file mcoputils.cc: line 499 (static > std::string > Arts::MCOPUtils::mcopDirectory()): assertion failed: (home > != 0) > HOME environment variable not set? > jack_client_new: deprecated > Cannot connect to server socket err = No such file or > directory > Cannot connect to server socket > jack server is not running or cannot be started > no message buffer overruns > Couldn't open output device > > > I tested that I can successfully run timidity using sudo: > > [jonat...@poseidon ~]$ sudo timidity -iA > TiMidity starting in ALSA server mode > Opening sequencer port: 128:0 128:1 128:2 128:3 > > Does anyone have any ideas what might be up? > > Cheers, > Jonathan I use Debian, not Fedora, so there might be some config differences. I don't know about the HOME environment thing right off the bat. If someone knows, please answer. Else, someone may have to look into Timidity source code to figure out. As for server socket error, and "jack server is not running or cannot be started", I think it is one and the same. The problem is the new "jackd" version, the message "jack_client_new: deprecated" points to the real cause. Timidity code still uses jack_client_new() as a mean to connect to jackd. However, with the new jackd, and libjack0 both are at version 0.116.1-2 in Debian Sid (unstable), the call to jack_client_new() doesn't seem to work. I tried the following code in jack_a.c static int detect(void) { jack_client_t *client; jack_status_t status; /* ---OLD--- client = jack_client_new(TIMIDITY_JACK_CLIENT_NAME); */ /* open a connection to the JACK server */ client = jack_client_open (TIMIDITY_JACK_CLIENT_NAME, JackNullOption, &status); if (! client) { ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "jack_client_open() failed, status = 0x%2.0x\n", status); return 0; } jack_client_close(client); return 1; /* found */ } and equivalent code in static int open_jack(void) function of the same file. It seems jackd deliberately breaks that old jack_client_new() API call. Otherwise, they could have easily use similar code as shown above to implement jack_client_new(), which is simple enough to keep old apps working without changes. Either that or they don't care for backward compatibility in this case, and force everyone to use new code. Jimmy ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Timidity-talk mailing list Timidity-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/timidity-talk