Coder Social home page Coder Social logo

Problems with frostwire-jlibtorrent-linux artifact(libjlibtorrent.so) on linux kernel versions 4.x about frostwire-jlibtorrent HOT 46 CLOSED

frostwire avatar frostwire commented on August 18, 2024
Problems with frostwire-jlibtorrent-linux artifact(libjlibtorrent.so) on linux kernel versions 4.x

from frostwire-jlibtorrent.

Comments (46)

aldenml avatar aldenml commented on August 18, 2024

The only thing I can imagine is a missing library, or different location of one of them. I compile the library in ubuntu and this is the ldd result:
screen shot 2015-09-02 at 9 12 03 pm
Can you request a ldd from one of this computers?

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

On it, waiting for a reply back from the person with the issue.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Here's their output:

linux-vdso.so.1 (0x00007ffeb1503000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f1c25dde000)
    libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007f1c25b6f000)
    libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007f1c25786000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1c25404000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f1c250fc000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1c24ee4000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1c24b24000)
    /lib64/ld-linux-x86-64.so.2 (0x0000563b595cb000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1c24908000)
    libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f1c246ba000)
    libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f1c243d5000)
    libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f1c241d1000)
    libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f1c23f9d000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f1c23d99000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f1c23b83000)
    libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f1c23973000)
    libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f1c2376f000)
    libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f1c23554000)
    libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f1c2332f000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f1c230bf000)

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

No idea why so many dependencies are listed here. I suppose that a compilation under kernel 4.x is in order.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Can you ask which distribution is this? may be the problem is related to some libc incompatibility.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Its fedora.

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

did they do ldd linux-vdso.so.1?
I see no mention of libjlibtorrent.so on that output, just making sure for sanity that they did ldd libjlibtorrent.so

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

I will compile it in fedora for testing, but I don't know if we will support binary per distribution in the near future.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

They ran ldd libjlibtorrent.so , linux-vdso.so.1 was just the first one on the list.

Hrm... their output seems to be resolving everything correctly, but this is out of my realm of expertise. The only possibilities I can think of is a boost dependency issue, or something to do with a different version of libc.

I tried a little googling on fedora and libc issues, but couldn't find anything.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Taking a look at it in my VM (fedora 22 with kernel 4.1.6-200.fc22.x86_64).

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Just to post and update. It seems that the problem is the version of openssl, even if the ldd resolve them, fedora 22 does not have openssl-1.0.0 (the actual package is >= 1.0.1). It seems to me that this link was manually done. I did this, and the error is:

/lib64/libcrypto.so.1.0.0: versionOPENSSL_1.0.0' not found`

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Should just installing openssl be enough?

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

no, because the version does not match (in fedora is newer). I'm trying to link statically to openssl and see the resulting size.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Ok, it adds like 2MB. If you are pressed by this issue, I recommend you to compile the binary for this distribution until we figure out a better solution.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

I'm not pressed by the issue.

I'm not sure how libtorrent in general gets around this issue, if apps like deluge come packaged with openssl or not, and if they can even run on fedora(I assume they can).

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Then, I will try to get this done for 1.1.0.9. I will play with the flags of openssl to get it statically linked.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Sounds good.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Fixed and you should be able to run it in next version

screen shot 2015-09-05 at 10 26 40 pm

from frostwire-jlibtorrent.

gubatron avatar gubatron commented on August 18, 2024

sweet.

i wonder if android has issues like these with openssl.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

no, because I compile statically with openssl (as in windows), the same will be for linux.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

@aldenml When will you guys release 1.1.0.9? Some of my users are requesting support for fedora.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Hopefully this week

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Sounds good, thanks.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Let me reopen this issue to not forget notify you.

from frostwire-jlibtorrent.

joaoluizcadore avatar joaoluizcadore commented on August 18, 2024

Hi, I have the same problem with MacOS X Yosemite.
I will wait for the next version. Thank you,

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

@joaoluiz in this case the problem was the openssl version, but mac should be fine, since it's a standard component. Could you provide more details?

from frostwire-jlibtorrent.

joaoluizcadore avatar joaoluizcadore commented on August 18, 2024

@aldenml thank you for reply. I found my problem, I needed to put this line before use the Session:
System.setProperty("jlibtorrent.jni.path", "/Users/joaoluiz/projects/TestTorrent/lib/libjlibtorrent.dylib");

After this, my code works!
Thank you for helping us.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

@tchoulihan jlibtorrent 1.1.0.9 is released (http://repo1.maven.org/maven2/com/frostwire/jlibtorrent/1.1.0.9/)

For linux, there are two binaries (x86 and x86_64) and both are compiled with openssl statically.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

For some reason, 1.1.0.9 isn't working for me now on my ubuntu 64 bit version(the jlibtorrent-linux dependency). It built and wrote the two libjlibtorrent.so files correctly, but the 64 bit one doesn't work at least. The last version I had working and tested was 1.1.0.5.

tyler@tyler-ThinkPad-Edge-E545:~/git/torrenttunes-client$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
...
16:08:00.725 [main] INFO  c.t.client.tools.DataSources - Operating system: linux, JVM bits: 64
16:08:00.737 [main] INFO  c.t.client.tools.DataSources - Using libtorrent @ /home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so
Exception in thread "main" java.lang.UnsatisfiedLinkError: Look for your architecture binary instructions at: https://github.com/frostwire/frostwire-jlibtorrent
    at com.frostwire.jlibtorrent.swig.libtorrent_jni.<clinit>(libtorrent_jni.java:22)

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Can you give me the result of: $md5sum /home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

fb1d1314493d4ac27f9f299d73849148 /home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

and? $ldd /home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024
tyler@tyler-ThinkPad-Edge-E545:~/git/torrenttunes-client$ ldd /home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so
/home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/tyler/.torrenttunes-client/src/lib/x86_64/libjlibtorrent.so)
    linux-vdso.so.1 =>  (0x00007fff91300000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2645eb0000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2645ba8000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f26458a0000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2645688000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f26452c0000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f2646b80000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f26450a0000)

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

I'm compiling with ubuntu 15.04 due to the lack of java 8 un ubuntu 14.04. Let me research about "/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found "

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Maybe this answer?

http://stackoverflow.com/a/19997068/1655478

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

I think that doing that in linux is a risky proposition, since there are a lot of others shared libraries loaded. What is our OS?

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Reading through some comments on related threads, people seem to say that's the quickest workaround.

There seems to be one other solution mentioned in this thread:
http://stackoverflow.com/questions/5216399/usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Maybe you could just link to a lower version of glibc, my system has up to GLIBCXX_3.4.19 , but not .20

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Yes, maybe. I'm frustrated by this linux shared libraries issues, not in this project, but in general. Anything that comes outside the official packages is the same, binary issues (I started with RedHat 5.3). What's the point :)

Ok, I will recompile the libraries, but I will update them in frostwire-desktop. Is that ok for you?

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

All I really care about is those maven dependencies that hold your libraries, jlibtorrent-android, jlibtorrent-linux, etc. Its the easiest way for me to use them. You could just overwrite them, and I can run a mvn -U to force the update, since probably nobody other than me has pulled down 1.1.0.9 so far.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Ok, I will override only the jblitorrent-linux.

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

Sounds good, let me know when you're ready for me to test.

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Compiling it now

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Ok, already release to maven, give it like 10 mins and let me know

from frostwire-jlibtorrent.

dessalines avatar dessalines commented on August 18, 2024

That did it! Thanks @aldenml . I had to manually delete it from my .m2/ folder, but it picked up the new one now.

Question: does this linking issue only exist for the linux version? Is there any reason the same problem we just had might exist for the windows or mac version?

from frostwire-jlibtorrent.

aldenml avatar aldenml commented on August 18, 2024

Good to know, thanks for reporting.

Similar problems could happen in windows and mac, but so far, we don't have them.

from frostwire-jlibtorrent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.