-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix compiling issues with gcc v6.x #89
Comments
About 1.:
About 2. |
Thank you for your reply. About 1: About 2: |
I took a look about point 1. (using Debian 9 Stretch):
Solution for now is what you mentioned: thank you for this, you saved a lot of time for me! :)
Honestly I don't know what causes the problem:
I need more investigation. @pyroscope, what do you think? |
Which version/flavour is this exactly? Can you link the iso image? (I want to play with it, maybe there's a simpler solution.) |
Yes, it is 17.04 (Zesty Zapus) . And like you say, it only affects the check itself not the compilation. But when you run rtorrent, you also need set LD_LIBRARY_PATH, else you will fail for not found the so files. |
Thanks for the confirmation. I asked for the exact distro because Debian 9 - strangely enough - doesn't have this rpath problem.
Thanks, as I thought, I'll try out today, just in case, disabling the check in
:) That's what I thought as well 1 year ago :) , as it turned out it's not the case: different fixes, small enhancements are cherry-picked "randomly"!
The only difference is regarding to the other projects, that they release a major (!) version in every 1-2 years, not 8-10! :) More than that, they backport fixes from master to the release branch and not applying any major changes that can brake the previous minor version (that's true also for rtorrent). The drawback is (if it's not the case) that the code in master branch is untested by the public so when the next major version is released it can be full of bugs! That's exactly what happens in the case of rtorrent. :) As you can see, I don't like this dev approach at all, hence I'm doing in a different way :) So, in summary: this issue can be easily the fault of rtorrent but as easily be a fault of our autoconf chain. |
The check i mentioned was in the build.sh file.(echo -n "Check that static linking worked: "), and it's seems that we are not discuss the same check. And thank you so much for telling me the detail about release, i learned a lot. |
… works fine. git tip? meh, until the current mess is properly merged to something coherent. |
:) Probably. About issue 1.: Ok, I've played with it a lot: it's definitely the problem of libtorrent (and probably rtorrent?), but I don't have a clue why. I'll create an issue about it in libtorrent project, maybe rakshasa will pick it up. Since I'm not sure at all that rtorrent isn't affected by this hence my dirty fix will be not just commenting out that line but unsetting it if gcc varsion >= 6, since this env variable can be easily set in the user's enviroment as well:
The interesting bit about this nasty bug, that compilation is going fine until the given method/object is tried to be used: thus breaks the xmlrpc check in the beginning of compilation of rtorrent. I tested 0.9.6 on the same system: it doesn't suffer from this bug.
:D Otherwise it's rock stable, even with my patches :D |
I've created the issue in libtorrent: rakshasa/libtorrent#155 I've created a new issue for rpath linking bug: #93 |
@colinhd8 : new version is out, can you test it e.g. on Ubuntu 17.07? (that's the most problematic system, but more system would be better) New build is tested on:
Thanks for the bug reports! |
I forgot how. May compare you build file with pyroscope's ? And thanks to your work for the new version, i'll try it and report the result. |
:) It's in his as well. Btw: I added a small optimization example code. If you can compile it normally, then uncomment that line (after you check which |
@chros73 I have compiled on Fedora 26(gcc 7.1.1 20170622, and seems that openssl patch works fine) and ubuntu server 17.04, all of them are ok now(wl rpath is not need for fedora). Thank you. Next i will try the optimization code, and thank you again for the tips and great work. |
I have added more (final) info onto the rpath linking issue.
Good to hear it! :)
Good to know. But it only gives benefit (moving, copying main directory), so just leave it there :)
With newer gcc (> 5) it won't do much for now due to this check.
So, in summary: I don't understand where the |
Apply Occam's Razor, and an empty CXXFLAGS will likely defeat some defaults that are needed for the git head code, and would need to be included in the custom flags. Now find out what those defaults are. |
I have tried it and below is the results(rtorrent version: latest version from master branch):
|
@colinhd8 : thanks so much for testing!
So, at first, I haven't realized this "shocking" news! :D
You were right! Thanks! I found out what's the real issue by fiddling more. Take a look at the B. part of this comment. |
Yes, you are right. Below was what i have done:
I also notice that there's a little difference between two make files's CXXFLAG , but not sure which parameter was the reason. Thanks for point out the real issue and thanks to @pyroscope for the tips. |
And here's the proper fix for the issue (not implemented yet). :) I learned a lot during the last week, it was edifying. :) E.g.:
The next piece of work will be, mostly modifying the build process (I'm not just writing down for you but for myself as well :) ):
@colinhd8 : thanks, again, for your effort! It would have taken way-way more time without you! Btw, what happened the color-theme configs?! :D |
I have just create a pr, please review it. :D |
:D Thanks, I'll take a look at it during the weekend. |
A few days ago i switch os from fedora to ubuntu, and use the latest build.sh to compile rtorrent. But have some problems about compile:
1). line 133 of build.sh: if it was not comment out, the error occurs(build with ./build.sh all):
2). it's seems that all of the necessary xmlrpc's so file can be found at the compile time, but some of them can't be found at runtime without change LD_LIBRARY_PATH.(build with ./build.sh all, of course firstly comment out line 133)
the command of (ldd rtorrent)'s output:
but libxmlrpc_server.so.3,
libxmlrpc.so.3,
libxmlrpc_util.so.3
can be found. In fact all of them are in the same directory.
For the problem 1, i test it with other os, and all of them have the same result.These os are:
Fedora 24 x64 GCC:6.3.1 20161221 (Red Hat 6.3.1-1) (GCC)
CentOs 7 x64 GCC:gcc version 6.2.1 20160916 (Red Hat 6.2.1-3) (GCC)
For the problem 2, only ubuntu has this problem.
ubuntu version: ubuntu-server 4.10.0-22-generic #24-Ubuntu SMP Mon May 22 17:43:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
The text was updated successfully, but these errors were encountered: