mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-03-02 22:57:32 -05:00
Error compiling qBittorrent-nox 4.2.1 on Debian 10.2 #9514
Labels
No labels
Accessibility
AppImage
Bounty
Build system
CI
Can't reproduce
Code cleanup
Confirmed bug
Confirmed bug
Core
Crash
Data loss
Discussion
Docker
Documentation
Duplicate
Feature
Feature request
Feature request
Feature request
Filters
Flatpak
GUI
Has workaround
I2P
Invalid
Libtorrent
Look and feel
Meta
NSIS
Network
Not an issue
OS: *BSD
OS: Linux
OS: Windows
OS: macOS
PPA
Performance
Project management
Proxy/VPN
Qt bugs
Qt6 compat
RSS
Search engine
Security
Temp folder
Themes
Translations
Triggers
Waiting diagnosis
Waiting info
Waiting upstream
Waiting web implementation
Watched folders
WebAPI
WebUI
autoCloseOldIssue
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/qBittorrent#9514
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Elypha on GitHub (Dec 21, 2019).
qBittorrent version and Operating System
qBittorrent 4.2.1
Linux 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
If on linux, libtorrent-rasterbar and Qt version
libtorrent-rasterbar 1.2.3
Qt 5.11
What is the problem
Following error during the make step of qbittorrent:
$ ldd -r /usr/local/lib/libtorrent-rasterbar.so
$ ldconfig -p | grep iconv
I followed the installation steps on the wiki and here is the detailed output.
git clone https://github.com/arvidn/libtorrent.gitcd libtorrentgit checkout RC_1_2./autotool.sh./configure --disable-debug --enable-encryption CXXFLAGS="-std=c++14"https://pastebin.com/cH7rHnat
make -j 6https://pastebin.com/af9iQ8r2
make installhttps://pastebin.com/aX43SsuN
git clone https://github.com/qbittorrent/qBittorrentcd qBittorrentgit checkout v4_2_x./configure --disable-gui CXXFLAGS="-std=c++14"https://pastebin.com/2FiKNMj7
(Here seems to be errors about the missing of translation files)
make -j 6https://pastebin.com/RSn49AQE
I have tried using
./configure --disable-debug --enable-encryption --with-libiconv CXXFLAGS="-std=c++14"when configuring libtorrent but it did not help.Could anyone kindly help me out of this problem? I have tried this on two different debian 10 x64 servers and both got the same error.
What is the expected behavior
Steps to reproduce
Extra info(if any)
Solution
This error is due to an inappropriate manual installation of libiconv, and can be fixed by removing manually installed libiconv files according to this.
@NickHo99 commented on GitHub (Dec 22, 2019):
Try to building with below:
Dependencies:
libtorrent:
qBittorrent:
@Kolcha commented on GitHub (Dec 22, 2019):
Is it critical for you to use libtorrent 1.2? if no, you can just add my repo and install qBittorrent 4.2.1 from it. It will use libtorrent available in official Debian repositories.
If you want libtorrent 1.2, you can try my script to build it. It was written on Ubuntu 19.10, tested on Debian 9, but must also work on Debian 10 too. Right now I don't have Debian 10 system, only Debian unstable, and this is not development system, so I can't test this script on it.
@Elypha commented on GitHub (Dec 22, 2019):
Hello, thanks for your reply! I tried your instructions but sadly it came to the same error. BTW I have also tried to compile without
CXXFLAGS="-std=c++14"yesterday (just the way your first reply shows) but it did not help and threw out the same error.@Elypha commented on GitHub (Dec 22, 2019):
No, I have no demand for libtorrent 1.2, and actually libtorrent 1.1.13 is fine. I just want to try the update for comparison. Thanks for your script, I tried it but got an error when building qt5:
There still seemed to be problems with libiconv. I then did
apt install libclang-dev.For the second run, the warning was gone but it threw out
ERROR: Feature 'iconv' was enabled, but the pre-condition '!features.icu && features.textcodec && (features.posix-libiconv || features.sun-libiconv || features.gnu-libiconv)' failed.at the same step.
Then I tried skipping the qt5 part (with qt5 from debian repo instead) and running the rest of the script manually. All went well but it came to the same error when building qbittorrent
Do you know any method to check if the library 'libiconv' on my server is exactly ready to use? I'm quite confused with it... Thanks anyway!
@Kolcha commented on GitHub (Dec 22, 2019):
@Elypha I didn't noticed that from your previous messages...
this shows that you installed libiconv manually... this may be the problem.
first of all, why that was did? and where to get its sources? some time ago I needed it on macOS, and it was not so easy to find it.
try to remove this custom
libiconvfrom your/usr/local/libthan runldconfigand try to rebuild.@Kolcha commented on GitHub (Dec 22, 2019):
AFAIK, iconv functions is part of libc (libc.so.6)
@Elypha commented on GitHub (Dec 22, 2019):
@Kolcha Yes I installed it manually from https://www.gnu.org/software/libiconv/ yesterday as some googling results said this was a solution...
I checked /usr/local/lib. There are libiconv.so.2.6.0 and libiconv.so.2.6.1. I removed 2.6.1, re-linked libiconv.so and libiconv.so.2, and copied other related files from another debian server. But the problem was still there.
As all my two debian systems are built with the same setup, I'm thinking about installing a fresh new debian 10 to check out what's going wrong with libiconv. I will comment and let you know if I get any results!
@Kolcha commented on GitHub (Dec 22, 2019):
so, I reproduced your error! I was right: your custom libiconv is the reason!
I build libiconv from here, rebuild libtorrent, and than try to build qbittorrent-nox and got an error.
I also found the way to solve this error with your custom libiconv - just add
LDFLAGS=-liconvto qbittorrent configure line.But it looks like your custom libiconv misses something, because according to your logs libtorrent configure script doesn't found it, but in my case it was found:
@Elypha commented on GitHub (Dec 22, 2019):
Lol that's great news! Let me try it later and many thanks to you again :)
@Kolcha commented on GitHub (Dec 22, 2019):
first of all installing libiconv usally is not required, as I wrote before, everything required already included into libc.so.6.
secondly, copying just libraries (binary files) is not enough for compilation, headers and pkg-config (.pc) files. such files are required to be able to detect library in the system. Binary files are required only on run time.
I suggest to remove all libiconv files you installed, there is a list of all installed files:
you can safely remove them
@Elypha commented on GitHub (Dec 22, 2019):
@Kolcha Everything goes well now! But there's one thing that this problem occurred before I manually install libiconv. I guess a certain install script I used before has changed related files, but it is hard to reproduce.
Anyway, I will update the op and close this issue shortly after. I'm really thankful for your detailed debugging and instruction!