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

Building 2.0: builds, won't really run

Help
2008-12-28
2013-04-25
  • Hi, guys. I'm trying to update Mandriva's kiax (because I wanted to drop wxgtk 2.6, libiaxclient depended on it, kiax depended on the old libiaxclient major...I know, yak shaving extravaganza).

    Anyhow, I've got it to build, but it just doesn't run. Here's what I'm doing. The main build patch is here:

    http://pastie.org/347762

    basically it builds kiax2core entirely against system libraries, builds it as a static library not shared (so I don't have to install it system-wide just for kiax to find when it runs...), and then builds gui entirely against system libraries except for kiax2core, for which it uses the static copy we just built.

    It then gets installed like this:

    install -d %{buildroot}%{_bindir}
    install -d %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
    install -d %{buildroot}%{_datadir}/%{name}/icons

    install -m0755 gui/gui %{buildroot}%{_bindir}/%{name}
    install -m0644 gui/icons/*.png %{buildroot}%{_datadir}/%{name}/icons/
    install -m0644 gui/*.ui %{buildroot}%{_datadir}/%{name}

    I don't think installing the .ui files is actually any use, it's just something I was trying to make it work.

    Anyway - this all builds and installs correctly, but it just doesn't work. When I try and run it, sometimes it seems to just quit 'successfully' (but not do anything). Usually it prints a few messages:

    [adamw@lenovo gui]$ kiax
    Kiax -DEBUG- Application dir path: /usr/bin
    Kiax -INFO- Service Naming started successfully.
    Kiax -INFO- Service Storage started successfully.
    Kiax -INFO- Module CDRModuleImpl initialized.
    Kiax -INFO- Module ContactsModuleImpl initialized.
    Kiax -INFO- Module AccountsModuleImpl initialized

    and then just sits there. If I strace it, it appears to be stuck on a futex wait:

    futex(0x92185cc, FUTEX_WAKE_PRIVATE, 1) = 0
    open("/dev/mixer", O_RDWR)              = 22
    close(22)                               = 0
    open("/dev/mixer0", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer1", O_RDWR)             = 22
    close(22)                               = 0
    open("/dev/mixer2", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer3", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer4", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer5", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer6", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer7", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer8", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer9", O_RDWR)             = -1 ENOENT (No such file or directory)
    open("/dev/mixer", O_RDWR)              = 22
    ioctl(22, 0x80044dfe, 0xbfb93bac)       = 0
    ioctl(22, 0x80044dfd, 0xbfb93ba8)       = 0
    tgkill(8452, 8461, SIGRTMIN)            = 0
    futex(0xb465ebd8, FUTEX_WAIT, 8461, NULL

    If I run it through gdb I get:

    tarting program: /usr/bin/kiax
    [Thread debugging using libthread_db enabled]
    [New Thread 0xb579e6d0 (LWP 8498)]
    Kiax -DEBUG- Application dir path: /usr/bin
    Kiax -INFO- Service Naming started successfully.
    Kiax -INFO- Service Storage started successfully.
    Kiax -INFO- Module CDRModuleImpl initialized.
    Kiax -INFO- Module ContactsModuleImpl initialized.
    Kiax -INFO- Module AccountsModuleImpl initialized.
    [New Thread 0xb1539b90 (LWP 8501)]
    [Thread 0xb1539b90 (LWP 8501) exited]
    [New Thread 0xb1539b90 (LWP 8502)]
    [Thread 0xb1539b90 (LWP 8502) exited]
    [New Thread 0xb1539b90 (LWP 8503)]
    [Thread 0xb1539b90 (LWP 8503) exited]
    [New Thread 0xb1539b90 (LWP 8504)]
    [Thread 0xb1539b90 (LWP 8504) exited]
    [New Thread 0xb1539b90 (LWP 8505)]
    Detaching after fork from child process 8506.
    [New Thread 0xb54f5b90 (LWP 8507)]
    [New Thread 0xb4cf4b90 (LWP 8508)]
    [New Thread 0xb44f3b90 (LWP 8509)]

    however, just one time, when I ran it through gdb, it worked.

    Is this some kind of threading problem? Any suggestions? Thanks!