From owner-freebsd-java Tue Nov 19 10: 8:39 2002 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 3E16537B401 for ; Tue, 19 Nov 2002 10:08:37 -0800 (PST) Received: from mail.mstar2.net (mail.mstar2.net [216.126.197.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id CE04F43E6E for ; Tue, 19 Nov 2002 10:08:36 -0800 (PST) (envelope-from gsemones@treenleaf.com) Date: Tue, 19 Nov 2002 11:07:29 -0800 Message-Id: <200211191107.AA2316304618@mail.mstar2.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii From: "Guerry Semones" Reply-To: X-Sender: To: Subject: Re: loading of libverify.so reports undefined symbol X-Mailer: Sender: owner-freebsd-java@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Many thanks for your help! We have a wrapper class doing our dynamic loading, and I was using RTLD_LAZY by default. Doh! Using the call: dlopen("libjvm.so", RTLD_NOW|RTLD_GLOBAL) did the trick! Much better than having to statically link all that stuff in.... Thanks again, Guerry (who now knows more about dlopen than ever :-) ---------- Original Message ---------------------------------- From: Alexey Zelkin Date: Tue, 19 Nov 2002 15:35:35 +0200 >Which options to dlopen() you're using ? > >I'd suggest to play with dlopen()'s options (like RTLD_NOW or RTLD_GLOBAL) > >On Mon, Nov 18, 2002 at 11:25:12AM -0800, Guerry Semones wrote: >> Greetings, >> >> I have a c++ application that is dynamically loading libjvm.so to >> instantiate the JVM and call java classes from C++. Everything >> compiles happily, but when run my executable, I get the following: >> >> Can't load >> library "/usr/local/jdk1.3.1/jre/lib/i386/libverify.so", >> because /usr/local/jdk1.3.1/jre/lib/i386/libverify.so: Undefined >> symbol JVM_GetClassNameUTF" >> >> If I do an "nm" dump of libverify.so, it reports that >> JVM_GetClassNameUTF is indeed Undefined. I can tell from within >> my code that libjvm.so is loading okay. Obviously, libjvm.so is >> trying to load libverify.so, or some other intermediary lib is >> trying to do so. Note that JVM_GetClassNameUTF *is* defined in >> libjvm.so. >> >> Does anyone have any ideas? Is this a load order problem? I feel >> pretty confident that it is not a library path issue, but perhaps >> I'm missing a step. > > >To Unsubscribe: send mail to majordomo@FreeBSD.org >with "unsubscribe freebsd-java" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message