Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#137 Crash during startup, won't compile, and other problems

linux
open
nobody
5
2007-08-31
2007-08-31
Anonymous
No

I include below patches that fix many problems with zinf that I see on my Fedora 7 system.

Problems:

Problem 1. When running zinf, you get an error like the following:

(<unknown>:2854): Gdk-WARNING **: Attempt to draw a drawable with depth 24 to a drawable with depth 32

(<unknown>:2854): Gdk-WARNING **: Attempt to draw a drawable with depth 24 to a drawable with depth 32

(<unknown>:2854): Gdk-WARNING **: Attempt to draw a drawable with depth 24 to a drawable with depth 32

(<unknown>:2854): Gdk-CRITICAL **: gdk_window_set_back_pixmap: assertion `pixmap == NULL || gdk_drawable_get_depth (window) == gdk_drawable_get_depth (pixmap)' failed
The program '<unknown>' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 1333 error_code 8 request_code 62 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)

Workaround 1. Set XLIB_SKIP_ARGB_VISUALS=1 in your environment variables.

Problem 2. When zinf exits, you get a backtrace with an error related to g_free().

Solution 2. Apply the patch below.

Problem 3. The compiler gives various compile errors when trying to compile zinf, including errors associated with Player::SetEQData(), Player::SendVisBuf(), assert(), and url_type().

Solution 3. Apply the patch below.

Problem 4. When running 'make install', the make fails with an error trying to execute ./config/mkinstalldirs.

Solution 4. Use the build script below to build zinf.

Problem 5. You get compile errors associated with c4_Row::Select() or
boost::filesystem.

Solution 5. Use the build script below to build zinf.

I hope this is helpful.

-- David Wagner, daw@cs.berkeley.edu

Discussion

  • Build script

     
    Attachments
  • David Wagner
    David Wagner
    2007-08-31

    Logged In: YES
    user_id=1879887
    Originator: NO

    I couldn't figure out how to attach the patch, so here is the patch.

    diff --exclude='*{arch}*' -u -r zinf--cvstrunk--1--patch-19/base/include/player.h daw-working/base/include/player.h
    --- zinf--cvstrunk--1--patch-19/base/include/player.h 2007-08-30 20:52:22.000000000 -0700
    +++ daw-working/base/include/player.h 2007-08-30 18:57:46.000000000 -0700
    @@ -156,13 +156,13 @@

    #define _EQUALIZER_ENABLE_
    #ifdef _EQUALIZER_ENABLE_
    - void Player::SetEQData(Event *pEvent);
    + void SetEQData(Event *pEvent);
    #endif // _EQUALIZER_ENABLE_
    #undef _EQUALIZER_ENABLE_

    #define _VISUAL_ENABLE_
    #ifdef _VISUAL_ENABLE_
    - void Player::SendVisBuf(Event *pEvent);
    + void SendVisBuf(Event *pEvent);
    #endif // _VISUAL_ENABLE_
    #undef _VISUAL_ENABLE_

    diff --exclude='*{arch}*' -u -r zinf--cvstrunk--1--patch-19/base/include/queue.h daw-working/base/include/queue.h
    --- zinf--cvstrunk--1--patch-19/base/include/queue.h 2007-08-30 20:52:22.000000000 -0700
    +++ daw-working/base/include/queue.h 2007-08-30 19:12:13.000000000 -0700
    @@ -26,6 +26,7 @@

    #include "config.h"
    #include "mutex.h"
    +#include "assert.h"

    template<class T>
    class Queue {
    diff --exclude='*{arch}*' -u -r zinf--cvstrunk--1--patch-19/mdb/treemetadata.cpp daw-working/mdb/treemetadata.cpp
    --- zinf--cvstrunk--1--patch-19/mdb/treemetadata.cpp 2007-08-30 20:52:22.000000000 -0700
    +++ daw-working/mdb/treemetadata.cpp 2007-08-30 19:11:13.000000000 -0700
    @@ -1,6 +1,8 @@
    #include <iostream>

    #include "facontext.h"
    +// hack: DAW
    +#define EXPERIMENTAL
    #include "utility.h"

    #include "treemetadata.h"
    diff --exclude='*{arch}*' -u -r zinf--cvstrunk--1--patch-19/ui/zinf/unix/src/GTKFont.cpp daw-working/ui/zinf/unix/src/GTKFont.cpp
    --- zinf--cvstrunk--1--patch-19/ui/zinf/unix/src/GTKFont.cpp 2007-08-30 20:52:22.000000000 -0700
    +++ daw-working/ui/zinf/unix/src/GTKFont.cpp 2007-08-30 20:38:01.000000000 -0700
    @@ -231,8 +231,8 @@
    //shot in the dark. is this right?
    if (G_IS_OBJECT(layout))
    g_object_unref(layout);
    - // if (G_IS_OBJECT(pango_context))
    - g_free(pango_context);
    + if (G_IS_OBJECT(pango_context))
    + g_object_unref(pango_context);
    gdk_threads_leave();
    }

    Also here is the build script (same as what is attached);

    #!/bin/sh
    make clean
    ./autoclean.sh
    cp /usr/share/aclocal/libtool.m4 aclocal.m4
    ./autogen.sh
    cp ./tmpwrk*/archive/mkinstalldirs config/
    CFLAGS='-g' CXXFLAGS='-g' LIBS='-lmk4 -lboost_filesystem' ./configure --enable-static --enable-debug --enable-dmalloc --enable-experimental
    make clean
    make