Date: Tue, 16 Sep 2008 12:24:41 +0200 From: "Marcel Grandemange" <thavinci@thavinci.za.net> To: "'Jeremy Chadwick'" <koitsu@FreeBSD.org> Cc: freebsd-java@freebsd.org Subject: RE: Error: Can't find libjava.so Message-ID: <01a301c917e6$6df6af50$49e40df0$@za.net> In-Reply-To: <20080916100727.GA60836@icarus.home.lan> References: <015101c9164a$f3f12d30$dbd38790$@za.net> <20080915093815.GA33139@icarus.home.lan> <002b01c91737$2af8ac30$80ea0490$@za.net> <20080915152631.GA39924@icarus.home.lan> <00be01c9176a$182f3910$488dab30$@za.net> <20080916043322.GA54034@icarus.home.lan> <018f01c917e1$0e250f40$2a6f2dc0$@za.net> <20080916100727.GA60836@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > > I do realize this is probably better suited for freebsd-questions , > > > however > > > > haven't received any response and was simply hoping someone would be > > kind > > > > enough. > > > > > > > > I recently obtained a very decent ups, however it is not supported by > > NUT. > > > > > > > > It does however come with winpower software that does run on FreeBSD. > > > > > > > > However it rewuired java. > > > > > > > > So installed from ports > > > > > > > > And was presented with following error: > > > > > > > > Error: can't find libjava.so > > > > > > > > This is on system in folder > > > "/usr/local/Diablo-jre1.6.0/lib/amd64/libjava.so > > > > > > >Can you provide the output of "ldconfig -r" from that box? I have > > > >a feeling the ld.so pathing hints might lack a directory or two. > > > > > > > > > /var/run/ld-elf.so.hints: > > > search directories: /lib:/usr/lib:/usr/lib/compat:/usr/local/lib > > > > >This is the problem as I see it. ld.so, which is used for finding and > > >loading shared libraries, is not configured to look in > > >/usr/local/Diablo-jre1.6.0/lib/amd64 for libraries. > > > > >I'd like to know which port you installed, and how you installed it. > > > > I did a cvsup on ports to update to latest on FreeBSD7.0 release amd64 > > Used port /usr/ports/java/Diablo-jre16 > > Simply did > > Make > > Make install > > Make clean > > >Can you please apply the below patch and tell me if it solves your > >problem? Proper procedure should be: > > ># cd /usr/ports/java/diablo-jre16 > ># patch < /wherever/the/patch/is > ># make clean > ># make > ># make deinstall > ># make install > > This went through successfully. > > >After this is done, use "ldconfig -r" and look at the search path > >shown at the top; hopefully /usr/local/diablo-jre1.6.0/lib/amd64 > >will be there, and libjava.so should be found (hopefully). > > The Results.... > > /var/run/ld-elf.so.hints: > search directories: > /lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/diablo-jre1.6.0/lib/ > amd64 > 0:-lc.7 => /lib/libc.so.7 > 1:-lcrypt.4 => /lib/libcrypt.so.4 > 2:-lkvm.4 => /lib/libkvm.so.4 > 3:-lm.5 => /lib/libm.so.5 > 4:-lmd.4 => /lib/libmd.so.4 > 5:-lncurses.7 => /lib/libncurses.so.7 > 6:-lncursesw.7 => /lib/libncursesw.so.7 > 7:-lsbuf.4 => /lib/libsbuf.so.4 > 8:-lutil.7 => /lib/libutil.so.7 > 9:-lalias.6 => /lib/libalias.so.6 > 10:-lbegemot.3 => /lib/libbegemot.so.3 > 11:-lbsnmp.4 => /lib/libbsnmp.so.4 > 12:-lcam.4 => /lib/libcam.so.4 > 13:-ldevstat.6 => /lib/libdevstat.so.6 > 14:-ledit.6 => /lib/libedit.so.6 > 15:-lbsdxml.3 => /lib/libbsdxml.so.3 > 16:-lgeom.4 => /lib/libgeom.so.4 > 17:-lipsec.3 => /lib/libipsec.so.3 > 18:-lipx.4 => /lib/libipx.so.4 > 19:-lkiconv.3 => /lib/libkiconv.so.3 > 20:-lpcap.5 => /lib/libpcap.so.5 > 21:-lthr.3 => /lib/libthr.so.3 > 22:-lufs.4 => /lib/libufs.so.4 > 23:-lz.4 => /lib/libz.so.4 > 24:-lavl.1 => /lib/libavl.so.1 > 25:-lnvpair.1 => /lib/libnvpair.so.1 > 26:-lumem.1 => /lib/libumem.so.1 > 27:-luutil.1 => /lib/libuutil.so.1 > 28:-lzfs.1 => /lib/libzfs.so.1 > 29:-lzpool.1 => /lib/libzpool.so.1 > 30:-lgcc_s.1 => /lib/libgcc_s.so.1 > 31:-lreadline.7 => /lib/libreadline.so.7 > 32:-lssp.0 => /lib/libssp.so.0 > 33:-lcrypto.5 => /lib/libcrypto.so.5 > 34:-lbsm.2 => /usr/lib/libbsm.so.2 > 35:-lcom_err.4 => /usr/lib/libcom_err.so.4 > 36:-lelf.1 => /usr/lib/libelf.so.1 > 37:-lform.4 => /usr/lib/libform.so.4 > 38:-lmenu.4 => /usr/lib/libmenu.so.4 > 39:-lpanel.4 => /usr/lib/libpanel.so.4 > 40:-lformw.4 => /usr/lib/libformw.so.4 > 41:-lmenuw.4 => /usr/lib/libmenuw.so.4 > 42:-lpanelw.4 => /usr/lib/libpanelw.so.4 > 43:-lnetgraph.3 => /usr/lib/libnetgraph.so.3 > 44:-lradius.3 => /usr/lib/libradius.so.3 > 45:-lrpcsvc.4 => /usr/lib/librpcsvc.so.4 > 46:-ltacplus.3 => /usr/lib/libtacplus.so.3 > 47:-lypclnt.3 => /usr/lib/libypclnt.so.3 > 48:-larchive.4 => /usr/lib/libarchive.so.4 > 49:-lbluetooth.3 => /usr/lib/libbluetooth.so.3 > 50:-lbz2.3 => /usr/lib/libbz2.so.3 > 51:-lcalendar.4 => /usr/lib/libcalendar.so.4 > 52:-ldevinfo.4 => /usr/lib/libdevinfo.so.4 > 53:-lfetch.5 => /usr/lib/libfetch.so.5 > 54:-lftpio.7 => /usr/lib/libftpio.so.7 > 55:-lgpib.2 => /usr/lib/libgpib.so.2 > 56:-lgssapi.9 => /usr/lib/libgssapi.so.9 > 57:-lmagic.3 => /usr/lib/libmagic.so.3 > 58:-lmemstat.2 => /usr/lib/libmemstat.so.2 > 59:-lmilter.4 => /usr/lib/libmilter.so.4 > 60:-lmp.6 => /usr/lib/libmp.so.6 > 61:-lncp.3 => /usr/lib/libncp.so.3 > 62:-lngatm.3 => /usr/lib/libngatm.so.3 > 63:-lopie.5 => /usr/lib/libopie.so.5 > 64:-lpam.4 => /usr/lib/libpam.so.4 > 65:-lpmc.4 => /usr/lib/libpmc.so.4 > 66:-lkse.3 => /usr/lib/libkse.so.3 > 67:-lrt.1 => /usr/lib/librt.so.1 > 68:-lsdp.3 => /usr/lib/libsdp.so.3 > 69:-lsmb.3 => /usr/lib/libsmb.so.3 > 70:-lthread_db.3 => /usr/lib/libthread_db.so.3 > 71:-lugidfw.3 => /usr/lib/libugidfw.so.3 > 72:-lusbhid.3 => /usr/lib/libusbhid.so.3 > 73:-lwrap.5 => /usr/lib/libwrap.so.5 > 74:-llwres.30 => /usr/lib/liblwres.so.30 > 75:-ldialog.6 => /usr/lib/libdialog.so.6 > 76:-lgomp.1 => /usr/lib/libgomp.so.1 > 77:-lgnuregex.4 => /usr/lib/libgnuregex.so.4 > 78:-lhistory.7 => /usr/lib/libhistory.so.7 > 79:-lstdc++.6 => /usr/lib/libstdc++.so.6 > 80:-lobjc.3 => /usr/lib/libobjc.so.3 > 81:-lasn1.9 => /usr/lib/libasn1.so.9 > 82:-lgssapi_krb5.9 => /usr/lib/libgssapi_krb5.so.9 > 83:-lhdb.9 => /usr/lib/libhdb.so.9 > 84:-lkadm5clnt.9 => /usr/lib/libkadm5clnt.so.9 > 85:-lkadm5srv.9 => /usr/lib/libkadm5srv.so.9 > 86:-lkafs5.9 => /usr/lib/libkafs5.so.9 > 87:-lkrb5.9 => /usr/lib/libkrb5.so.9 > 88:-lroken.9 => /usr/lib/libroken.so.9 > 89:-lssl.5 => /usr/lib/libssl.so.5 > 90:-lssh.4 => /usr/lib/libssh.so.4 > 91:-lcharset.1 => /usr/local/lib/libcharset.so.1 > 92:-liconv.3 => /usr/local/lib/libiconv.so.3 > 93:-lintl.8 => /usr/local/lib/libintl.so.8 > 94:-lasprintf.0 => /usr/local/lib/libasprintf.so.0 > 95:-lgettextpo.3 => /usr/local/lib/libgettextpo.so.3 > 96:-lusb-0.1.8 => /usr/local/lib/libusb-0.1.so.8 > 97:-lusbpp-0.1.8 => /usr/local/lib/libusbpp-0.1.so.8 > 98:-lupsclient.1 => /usr/local/lib/libupsclient.so.1 > 99:-lXau.6 => /usr/local/lib/libXau.so.6 > 100:-lXau.0 => /usr/local/lib/libXau.so.0 > 101:-lXdmcp.6 => /usr/local/lib/libXdmcp.so.6 > 102:-lX11.6 => /usr/local/lib/libX11.so.6 > 103:-lXext.6 => /usr/local/lib/libXext.so.6 > 104:-lXi.6 => /usr/local/lib/libXi.so.6 > 105:-lXp.6 => /usr/local/lib/libXp.so.6 > 106:-lICE.6 => /usr/local/lib/libICE.so.6 > 107:-lSM.6 => /usr/local/lib/libSM.so.6 > 108:-lXt.6 => /usr/local/lib/libXt.so.6 > 109:-lXtst.6 => /usr/local/lib/libXtst.so.6 > > > >Regarding the problem itself: there are ways to work around this by > > >using the environment variable LD_LIBRARY_PATH. I do not recommend > > >this, though -- properly configuring the ld.so search path when a > > >program (or port) is installed is the proper method. > > > > Could you advise me how to do this? Hope you don't mind! > > >Set the LD_LIBRARY_PATH environment variable to the search paths > >you desire. Colon-delimited, and it overrides the defaults. E.g. > > >export > LD_LIBRARY_PATH="/lib:/usr/lib:/usr/lib/compat:/usr/local/lib:/usr/local/dia > blo-jre1.6.0/lib/amd64" > > >But the below patch, assuming it works (and I got the paths right), > >should not require you to do that. LD_LIBRARY_PATH is somewhat evil, > >and it's not recommended you use it. > > Yup worked flawlessly on that part, but this always helps in the learning > process ;> > > However even after that I was still presented with a...... > > [root@testvmbsd /opt/MonitorSoftware]# ./agent start > Starting Agent: > Error: can't find libjava.so. > > Done > [root@testvmbsd /opt/MonitorSoftware]# >I'm making some assumptions about this Java software. I want to assume >that libjava.so is shared library that programs are actually linked to >(e.g. ldd /some/binary/that/uses/libjava should show libjava.so.X in >the list of libraries) during link-time (e.g. gcc -o binary -ljava). >It's also possible that libjava.so isn't linked to programs, but instead >is loaded directly by some code using dlopen(3) and friends, and tha >the "Error" message is coming from those programs and not from ld.so >itself. >With the above patch, your ldconfig hint paths are right, but libjava.so >isn't in the list of libraries it recognised. That indicates the >shared library was built in an odd way,, was built on another >architecture or version of FreeBSD which semantically is different, or >contains some low-level oddity which ld.so is refusing to cooperate with >(e.g. Linux binary). >What does "file /usr/local/diablo-jre1.6.0/lib/amd64/libjava.so" return? [root@testvmbsd /opt/MonitorSoftware]# file /usr/local/diablo-jre1.6.0/lib/amd64/libjava.so /usr/local/diablo-jre1.6.0/lib/amd64/libjava.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), not stripped I did same with original file that came packages with application, [root@testvmbsd /opt/MonitorSoftware]# file /usr/home/thavinci/Winpower_setup_FreeBSD/FreeBSD/resource/jre/lib/i386/libj ava.so /usr/home/thavinci/Winpower_setup_FreeBSD/FreeBSD/resource/jre/lib/i386/libj ava.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (FreeBSD), dynamically linked, not stripped >Let's move this discussion to freebsd-java@freebsd.org. I've changed >the CC list to point there. Please keep me in the CC list, as >freebsd-java is not a list I follow. Sure will do! Thanks >This also sounds very similar to what you're experiencing: >http://lists.freebsd.org/pipermail/freebsd-java/2008-September/007657.html Will read through in few seconds.... , Thanks -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB | __________ NOD32 3444 (20080916) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01a301c917e6$6df6af50$49e40df0$>