From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 113731 invoked by alias); 12 May 2019 15:24:22 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 113697 invoked by uid 89); 12 May 2019 15:24:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy=mat, rid, H*RU:sk:relay.m, HX-Spam-Relays-External:sk:relay.m X-HELO: cichlid.maple.relay.mailchannels.net Received: from cichlid.maple.relay.mailchannels.net (HELO cichlid.maple.relay.mailchannels.net) (23.83.214.36) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 12 May 2019 15:24:18 +0000 X-Sender-Id: dreamhost|x-authsender|chaw@eip10.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 0E413500EEF for ; Sun, 12 May 2019 15:24:16 +0000 (UTC) Received: from pdx1-sub0-mail-a15.g.dreamhost.com (100-96-30-28.trex.outbound.svc.cluster.local [100.96.30.28]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 34B28500E64 for ; Sun, 12 May 2019 15:24:15 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|chaw@eip10.org Received: from pdx1-sub0-mail-a15.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.17.2); Sun, 12 May 2019 15:24:16 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|chaw@eip10.org X-MailChannels-Auth-Id: dreamhost X-Attack-Invention: 46ef1d96511ff63d_1557674655828_1943789381 X-MC-Loop-Signature: 1557674655828:406452198 X-MC-Ingress-Time: 1557674655828 Received: from pdx1-sub0-mail-a15.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a15.g.dreamhost.com (Postfix) with ESMTP id 3B5488091D for ; Sun, 12 May 2019 08:24:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=eip10.org; h=to:subject :from:reply-to:mime-version:content-type:content-id :content-transfer-encoding:date:message-id; s=eip10.org; bh=xTCb yHkpdC3NzIwIn9Of8w6sdaw=; b=VQeiE++y+Ge09ZSN4eNxf2ikMiI3igKdC8ad jVLTLDSZCof6Sr5tZ4lEJ05dgsH3eedY89U/Oo7dXaTBwFiC8tE5loYb6tpNgEa2 MA6kEgDTZdFIdOhg1oMlK9LhKdXX5ZwN4fIBVpgcZvmQTnTVY14vQ7V+S06rrvKY kG8uS1Q= Received: from vpaur.eip10.org (cpe-67-241-141-159.buffalo.res.rr.com [67.241.141.159]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: chaw@eip10.org) by pdx1-sub0-mail-a15.g.dreamhost.com (Postfix) with ESMTPSA id D9A648091A for ; Sun, 12 May 2019 08:24:10 -0700 (PDT) Received: from chaw by vpaur.eip10.org with local (Exim 4.89) (envelope-from ) id 1hPqKe-0008E2-GR for kawa@sourceware.org; Sun, 12 May 2019 11:24:08 -0400 To: Kawa mailing list Subject: Kawa and System.loadLibrary and native code X-DH-BACKEND: pdx1-sub0-mail-a15 From: "Sudarshan S Chawathe" Reply-To: "Sudarshan S Chawathe" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <31620.1557674648.1@vpaur.eip10.org> Content-Transfer-Encoding: quoted-printable Date: Sun, 12 May 2019 15:24:00 -0000 Message-ID: <31621.1557674648@vpaur.eip10.org> X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -90 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduuddrledvgdeltdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenogfpohfkffculddutddmnecujfgurhepvffuhfhrofggtgfgsehtqhdttdertddvnecuhfhrohhmpedfufhuuggrrhhshhgrnhcuufcuvehhrgifrghthhgvfdcuoegthhgrfiesvghiphdutddrohhrgheqnecukfhppeeijedrvdeguddrudeguddrudehleenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepvhhprghurhdrvghiphdutddrohhrghdpihhnvghtpeeijedrvdeguddrudeguddrudehledprhgvthhurhhnqdhprghthhepfdfuuhgurghrshhhrghnucfuucevhhgrfigrthhhvgdfuceotghhrgifsegvihhpuddtrdhorhhgqedpmhgrihhlfhhrohhmpegthhgrfiesvghiphdutddrohhrghdpnhhrtghpthhtohepkhgrfigrsehsohhurhgtvgifrghrvgdrohhrghenucevlhhushhtvghrufhiiigvpedt X-IsSubscribed: yes X-SW-Source: 2019-q2/txt/msg00005.txt.bz2 I am trying to use OpenCV from Kawa using the OpenCV-Java library (which uses JNI) but cannot seem to get rid of an UnsatisfiedLinkError. I suspect I am confused about how System.loadLibrary works relative to class loading in Kawa (or Java for that matter) and would be grateful for any pointers. Here is my test code: (import (class org.opencv.core Core CvType Mat)) (define (hello) (java.lang.System:loadLibrary Core:NATIVE_LIBRARY_NAME) (display ((Mat:eye 3 3 CvType:CV_8UC1):dump)) (newline)) (hello) Core:NATIVE_LIBRARY_Name evaluates to "opencv_java249" on my setup (Debian 9) and I am invoking kawa with the following command line (/usr/lib/jni contains libopencv_java249.so): java -Djava.library.path=3D"/usr/lib/jni:" kawa.repl \ --output-format readable-scheme $* Here's the error trace: Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.cor= e.Mat.n_eye(III)J at org.opencv.core.Mat.n_eye(Native Method) at org.opencv.core.Mat.eye(Mat.java:1467) at atInteractiveLevel-4.hello(tty:17) at atInteractiveLevel-4.hello$check(tty:15) at gnu.mapping.Procedure.applyToConsumerDefault(Procedure.java:75) at gnu.mapping.CallContext.runUntilDone(CallContext.java:586) at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:343) at gnu.expr.ModuleExp.evalModule(ModuleExp.java:211) at kawa.Shell.run(Shell.java:289) at kawa.Shell.run(Shell.java:196) at kawa.Shell.run(Shell.java:183) at kawa.repl.processArgs(repl.java:724) at kawa.repl.main(repl.java:830) For reference, here is the Java version, from the opencv-java tutorial, which works fine. If I comment out the System.loadlibrary line then it generates an error very similar to what I get from the above Kawa code. import org.opencv.core.Core; import org.opencv.core.CvType; import org.opencv.core.Mat; public class HelloCV { public static void main(String[] args){ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat mat =3D Mat.eye(3, 3, CvType.CV_8UC1); System.out.println("mat =3D " + mat.dump()); } } Regards, -chaw