From owner-freebsd-java@FreeBSD.ORG Sun Jan 25 14:06:37 2004 Return-Path: Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7A8B416A4CE for ; Sun, 25 Jan 2004 14:06:37 -0800 (PST) Received: from ebola.biohz.net (adsl-66-127-84-214.dsl.sntc01.pacbell.net [66.127.84.214]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B55043D5F for ; Sun, 25 Jan 2004 14:06:10 -0800 (PST) (envelope-from renaud+freebsd-java@waldura.com) Received: from flu (localhost [127.0.0.1]) by ebola.biohz.net (Postfix) with SMTP id BFECF1153AB for ; Sun, 25 Jan 2004 14:06:02 -0800 (PST) Message-ID: <001f01c3e38f$6d6b8fa0$011211ac@biohz.net> From: "Renaud Waldura" To: References: <001101c3e384$ae908180$011211ac@biohz.net> Date: Sun, 25 Jan 2004 14:06:02 -0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_001C_01C3E34C.5DADD980" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Subject: Re: Problems linking against pthreads X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jan 2004 22:06:37 -0000 This is a multi-part message in MIME format. ------=_NextPart_000_001C_01C3E34C.5DADD980 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit I got it. I needed to link the glue library against libc_r. I attach a patch with my changes, maybe it will help somebody one day... ----- Original Message ----- From: "Renaud Waldura" To: Sent: Sunday, January 25, 2004 12:49 PM Subject: Problems linking against pthreads > 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 > ------=_NextPart_000_001C_01C3E34C.5DADD980 Content-Type: application/octet-stream; name="libshout-java-0.1-freebsd.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="libshout-java-0.1-freebsd.patch" Only in libshout-java-0.1: build=0A= diff -u -r libshout-java-0.1/build.xml = libshout-java-0.1-freebsd/build.xml=0A= --- libshout-java-0.1/build.xml Sun Dec 14 18:26:00 2003=0A= +++ libshout-java-0.1-freebsd/build.xml Sun Jan 25 02:27:04 2004=0A= @@ -58,7 +58,7 @@=0A= =0A= =0A= - =0A= + =0A= =0A= =0A= 8192) return SHOUTERR_MALLOC; =0A= =0A= // copy to const array=0A= - jchar *elems=3D(*env)->GetCharArrayElements(env, chars, 0);=0A= + elems=3D(*env)->GetCharArrayElements(env, chars, 0);=0A= for (i=3D0;iReleaseCharArrayElements(env, chars,elems,0);=0A= =0A= ------=_NextPart_000_001C_01C3E34C.5DADD980--