Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Jan 2004 12:49:09 -0800
From:      "Renaud Waldura" <renaud+freebsd-java@waldura.com>
To:        <freebsd-java@freebsd.org>
Subject:   Problems linking against pthreads
Message-ID:  <001101c3e384$ae908180$011211ac@biohz.net>

next in thread | raw e-mail | index | archive | help
I'm attempting to write an Icecast stream source in Java. I've got Icecast
2.0 all built up and working, with all its libraries libshout, libvorbis
etc.

I have found this package:
http://benow.ca/index?page=project&project=libshout-java
that allows me to make calls to libshout from a Java program, but I'm having
a hard time getting the library links resolved correctly.

When running a Java program that uses the libshout-java glue, I get:

java.lang.UnsatisfiedLinkError:
/home/renaud/src/libshout-java-0.1-freebsd/native/libshoutjava.so.1.0:
/usr/local/lib/libshout.so.3: Undefined symbol "pthread_cond_signal"

OK, so it looks like libshout needs pthreads. Another program that uses
libshout is linked against both libc and libc_r, thus including pthreads.

work/ices-2.0-Beta2/src/ices:
        libshout.so.3 => /usr/local/lib/libshout.so.3 (0x28158000)
        libc_r.so.4 => /usr/lib/libc_r.so.4 (0x28343000)
        libc.so.4 => /usr/lib/libc.so.4 (0x283fa000)

Yet the Diablo VM I'm using is linked against libc only:

java version "1.3.1"
Java(TM) 2 Runtime Environment, Standard Edition (build diablo-1.3.1-0)
Classic VM (build diablo-1.3.1-0, green threads, nojit)

/usr/local/diablo-jdk1.3.1/jre/bin/i386/green_threads/java:
        libhpi.so => not found (0x0)
        libc.so.4 => /usr/lib/libc.so.4 (0x28067000)

This is where I get stuck. How can I provide libc_r to my libshout when the
VM doesn't use it? Or is this the wrong approach?

I'm running FreeBSD 4.2-RELEASE. Thanks for any clues!

--Renaud



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?001101c3e384$ae908180$011211ac>