problems running 0.20.4/0.20.5

Rich E
  • Rich E

    Rich E - 2008-05-27


    I just downloaded and tried compiling bristol-0.20.5; it configures okay, but errors here:

    if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/X11R6/include  -Wall -g -I./../include/slab -I./../include/bristol `pkg-config --silence-errors --cflags alsa` `pkg-config --silence-errors --cflags jack` -DBRISTOL_HAS_ALSA=1 -D_BRISTOL_JACK -MT midiJACKDevMan.lo -MD -MP -MF ".deps/midiJACKDevMan.Tpo" -c -o midiJACKDevMan.lo midiJACKDevMan.c; \         then mv -f ".deps/midiJACKDevMan.Tpo" ".deps/midiJACKDevMan.Plo"; else rm -f ".deps/midiJACKDevMan.Tpo"; exit 1; fi
    gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/X11R6/include -Wall -g -I./../include/slab -I./../include/bristol -I/usr/include/alsa -DBRISTOL_HAS_ALSA=1 -D_BRISTOL_JACK -MT midiJACKDevMan.lo -MD -MP -MF .deps/midiJACKDevMan.Tpo -c midiJACKDevMan.c  -fPIC -DPIC -o .libs/midiJACKDevMan.o
    midiJACKDevMan.c: In function 'jackMidiRoutine':
    midiJACKDevMan.c:50: error: too few arguments to function 'jack_midi_get_event_count'
    midiJACKDevMan.c:59: error: too few arguments to function 'jack_midi_event_get'
    midiJACKDevMan.c:72: warning: implicit declaration of function 'checkcallbacks'

    So, I downloaded bristol 0.20.4; it compiles okay with default settings.  However, I cannot get it running with alsa or jack, or with as super user.  when I run startBristol -b3, an empty window shows up on the screen and I get the following in the terminal:

    r@pal:~/src/bristol-0.20.4$ startBristol -b3
    spawning midi thread
    parent going into idle loop
    got the long semaphore
    got the short semaphore
    midi sequencer
    open_remote_socket: Address already in use
    socket id 5028
    Could not open control socket, count 0
    No controlling socket available: anticipating MIDI
    Error opening control device, exiting midi thread
    bristol version 0.20.4
    connected to :0.0
    display is 1680 by 1050 pixels
    Window is w 1680, h 1050, d 24, 0 0 0
    Using DirectColor display
    alloc color by name Blue
    Initialise the hammondB3 link to bristol: 8140020
    hostname is localhost, bristol
    TCP port: 5028
    Connected to the bristol control socket: 4
    bristolengine already active
    parent exiting
    Midi read retry
    Midi read retry
    Midi read retry
    return - no data in buffer
    Midi read retry
    Midi read retry
    Midi read retry
    return - no data in buffer
    socket closed
    request acked: -1

    The same happens with -jack or with sudo.  I am running Ubuntu Gutsy, rt kernel with jack version 0.103 and alsa version 1.0.14

    If you can help, thanks... the bristol package looks amazing and I would love to try it out.


    • Nick Copeland

      Nick Copeland - 2008-05-27

      Hi Rich,

      The failure to compile is in the MIDI interface to Jack which was new to 0.20.5. I will admit that I expected problems although not with compilation. Let me have a look through the code since perhaps I put in some loose flags. I did the integration work with 0.109 rather than 0.103 but I cannot say whether there were any changes to the interface, the compiler output suggests there were - different numbers of subroutine parameters but I can try and look into that.

      The second fault is difficult to debug with this output - it looks to me like the engine was already running and you started bristol for a second time. Can you look for a bristol daemon and kill it?

      ps aux | egrep '(bristol|brighton)'

      The output should be a little different. This failure may be due to not compiling with ALSA. Can you see if you have installed the alsa development and jack library development packages? That should give me what I need. Also, what do you see at the end of the ./configure command? Here is out put from my system:

      bristol 0.20.6 :

      | Build with ALSA support .............................. : true
      | Build with JACK support .............................. : true
      | Installing data into ................................. : /usr/local/share/bristol

      Ignore the 0.20.6, it is the code under development. The main interest is whether ALSA and JACK are found.

      Kind regards,


      • Rich E

        Rich E - 2008-05-27

        I see the problem now.  ps aux did report that bristol was still running:  I remember that I ran bristol the first time with "bristol -rhodes", although jack was running.  The script then did its thing, reported some errors that the audio device was in use and exited.  But it did not kill bristol, so when I tried to run again with "bristol -jack -rhodes", I got the error that I previously posted.

        It is working now, and I am having fun with it!  I will have to test it more when I am not so tired.. thanks for the fast response and helping me solve this problem.


    • Nick Copeland

      Nick Copeland - 2008-05-27

      Hi Rich,

      Its not the first time the engine has been lazily wandering around in the background. I have considered putting in a 'pkill' to make sure he has gone to bed before I start things up however since the engine will accept multiple GUI connections to run different emulations simultaneously there are times when I want it to be running in the background. I will consider making it default to kill the daemon and add an option to the script to not kill the daemon if requested, that way people using more complex engine configurations will have to be a bit more specific with their options, however that should not be an issue. I did consider some 'active' sensing between GUI and engine however there are times when the engine should run without a GUI as well which means active sensing is a little harder to implement (but not out of the question).

      I will say that bristol should not have been running around blindly however if the GUI exits ungracefully then it does not always tell the engine to exit. This generally happens due to bugs in the GUI and 0.20.6 fixes another one that could have caused the GUI to damage its connection to the engine leading to this kind of stuff. The plan is to have it released sometime in June. The original plan was sometime in May but then a lot of work came up and June looks busy too. The release is being delayed whilst I work on a Yamaha CS-80 emulator.




Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks