Skip to content
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

Is there a docker image for #20118 #20920

Closed
stauffenberg2020 opened this issue Jun 3, 2024 · 12 comments
Closed

Is there a docker image for #20118 #20920

stauffenberg2020 opened this issue Jun 3, 2024 · 12 comments

Comments

@stauffenberg2020
Copy link

Suggestion

Hi

Can anyone let me know if there is a docker image for #20118

Thanks in advance

Use case

No response

Extra info/examples/attachments

No response

@Piccirello
Copy link
Member

You should be able to use my build script to build that PR. You'll just need to make one minor modification to get it working. Specifically, set QBITTORRENT_MASTER_SRC to https://github.com/OdinVex/qBittorrent/archive/refs/heads/master.tar.gz in build.sh. Then run build.sh qbittorrent --master --no-push. I've pre-built an image using libtorrent 2.0.10 and Qt 6.7.1, so as long as you don't change LIBTORRENT_VERSION or QT_VERSION, you won't have to rebuild those.

@stauffenberg2020
Copy link
Author

Hi @Piccirello , Thanks for your reply. I simply cloned your repo and updated the QBITTORRENT_MASTER_SRC as you suggested and was trying to execute the build script. But I get the following error. Am I doing something really stupid?

/workspaces/qbittorrent-docker (main) $ ./build.sh qbittorrent --master --no-push

=== Configuration ===
Base image: ubuntu:24.04
Platform(s): linux/amd64,linux/arm64
Push image: no
Tag w/ latest: yes
Use master branch: yes
=== END Configuration ===

Building Qt6
[+] Building 0.0s (0/0)                                                                                                                                                                                    docker:default
ERROR: failed to stat ./qtaccount.ini: stat ./qtaccount.ini: no such file or directory

Do I need to do this from a different startup folder or from a different repo?

@stauffenberg2020
Copy link
Author

When I previously tried to build a docker image using the nox repo, I got the following error

105.2 ninja: job failed: /usr/bin/c++ -DBOOST_ASIO_ENABLE_CANCELIO -DDISABLE_GUI -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_UP_TO=0x060500 -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_SQL_LIB -DQT_STRICT_ITERATORS -DQT_USE_QSTRINGBUILDER -DQT_XML_LIB -DTORRENT_NO_DEPRECATE -DTORRENT_USE_ICONV -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -I/qBittorrent-master/build/src/base/qbt_base_autogen/include -I/qBittorrent-master/src -isystem /usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtSql -isystem /usr/include/qt6/QtXml -pipe -fstack-clash-protection -fstack-protector-strong -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -O2 -g -DNDEBUG -std=c++20 -flto=auto -fno-fat-lto-objects -fexceptions -Wall -Wextra -Wcast-qual -Wcast-align -Winvalid-pch -Woverloaded-virtual -Wold-style-cast -Wnon-virtual-dtor -pedantic -pedantic-errors -Wstrict-null-sentinel -MD -MT src/base/CMakeFiles/qbt_base.dir/bittorrent/torrentimpl.cpp.o -MF src/base/CMakeFiles/qbt_base.dir/bittorrent/torrentimpl.cpp.o.d -o src/base/CMakeFiles/qbt_base.dir/bittorrent/torrentimpl.cpp.o -c /qBittorrent-master/src/base/bittorrent/torrentimpl.cpp
105.2 In file included from /qBittorrent-master/src/base/bittorrent/torrentimpl.cpp:73:
105.2 /qBittorrent-master/src/base/bittorrent/sessionimpl.h:428:17: error: 'QString BitTorrent::SessionImpl::getLastExternalIPv6Address() const' marked 'override', but does not override
105.2   428 |         QString getLastExternalIPv6Address() const override;
105.2       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
105.2 /qBittorrent-master/src/base/bittorrent/sessionimpl.h:429:17: error: 'QString BitTorrent::SessionImpl::getLastExternalIPv4Address() const' marked 'override', but does not override
105.2   429 |         QString getLastExternalIPv4Address() const override;
105.2       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
109.8 ninja: subcommand failed

But if you have a working docker image built, Can you please share it?

@Piccirello
Copy link
Member

Do I need to do this from a different startup folder or from a different repo?

I just pushed up a fix to address this. The script required a qtaccount.ini file to exist even when using an existing Qt image. It should now skip that step and jump directly to building qBittorrent.

@stauffenberg2020
Copy link
Author

Hi @Piccirello , Thanks for the repo update - But then I am getting the same error as I tried with the official nox repo

/workspaces/qbittorrent-docker (main) $ ./build.sh qbittorrent --master --no-push
=== Configuration ===
Base image: ubuntu:24.04
Platform(s): linux/amd64
Push image: no
Tag w/ latest: yes
Use master branch: yes
=== END Configuration ===

2.0.10-6.7.1: Pulling from piccirello/libtorrent-qt
00d679a470c4: Pull complete 
535e9736c7b9: Pull complete 
e6e319372435: Pull complete 
043c42929bdf: Pull complete 
9c8d4ab544d8: Pull complete 
9265aa712913: Pull complete 
9c135818e996: Pull complete 
Digest: sha256:6800f28e502d5ec053d481833b30da14d688ce073b8ec58aa6a91ad6cbbae157
Status: Downloaded newer image for piccirello/libtorrent-qt:2.0.10-6.7.1
docker.io/piccirello/libtorrent-qt:2.0.10-6.7.1
Building qbittorrent master branch
[+] Building 28.8s (8/13)                                                                                                                                                                                  docker:default
 => [internal] load build definition from qbittorrent-master.dockerfile                                                                                                                                              0.3s
 => => transferring dockerfile: 2.35kB                                                                                                                                                                               0.0s
 => [internal] load metadata for docker.io/piccirello/libtorrent-qt:2.0.10-6.7.1                                                                                                                                     0.0s
 => [internal] load .dockerignore                                                                                                                                                                                    0.2s
 => => transferring context: 2B                                                                                                                                                                                      0.0s
 => [stage-0 1/4] FROM docker.io/piccirello/libtorrent-qt:2.0.10-6.7.1                                                                                                                                               0.9s
 => [stage-0 2/4] WORKDIR /usr/src/qbittorrent                                                                                                                                                                       0.3s
 => [stage-1 2/7] RUN apt-get update && apt-get install -y     libboost-python1.83.0     libboost-system1.83.0     libssl3     python3     libqt6network6t64     libqt6sql6t64     libqt6xml6t64     curl     && a  13.4s
 => [stage-0 3/4] RUN wget -q https://github.com/OdinVex/qBittorrent/archive/refs/heads/master.tar.gz -O qbittorrent.tar.gz --secure-protocol=TLSv1_2 --https-only     && bsdtar --strip-components=1 -xzf ./qbitto  3.4s
 => ERROR [stage-0 4/4] RUN cmake -B build -DCMAKE_BUILD_TYPE=Release -DGUI=OFF     && cmake --build build     && cmake --install build                                                                             23.3s
------                                                                                                                                                                                                                    
 > [stage-0 4/4] RUN cmake -B build -DCMAKE_BUILD_TYPE=Release -DGUI=OFF     && cmake --build build     && cmake --install build:                                                                                         
1.083 -- The CXX compiler identification is GNU 13.2.0                                                                                                                                                                    
1.101 -- Detecting CXX compiler ABI info
1.236 -- Detecting CXX compiler ABI info - done
1.246 -- Check for working CXX compiler: /usr/bin/c++ - skipped
1.247 -- Detecting CXX compile features
1.247 -- Detecting CXX compile features - done
1.252 -- The following features have been enabled:
1.252 
1.252  * WEBUI, Enable built-in HTTP server for remote control (default: ON)
1.252  * STACKTRACE, Enable stacktrace support (default: ON)
1.252 
1.252 -- The following features have been disabled:
1.252 
1.252  * GUI, Build GUI application (default: ON)
1.252  * TESTING, Build internal testing suite (default: OFF)
1.252  * VERBOSE_CONFIGURE, Show information about PACKAGES_FOUND and PACKAGES_NOT_FOUND in the configure output (only useful for debugging the CMake build scripts) (default: OFF)
1.252  * DBUS, Enable support for notifications and power-management features via D-Bus (default: ON; depends on condition: GUI)
1.252  * SYSTEMD, Install systemd service file. Target directory is overridable with `SYSTEMD_SERVICES_INSTALL_DIR` variable (default: OFF; depends on condition: NOT GUI)
1.252 
1.282 -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
1.283 -- Checking for module 'libtorrent-rasterbar>=1.2.19'
1.297 --   Found libtorrent-rasterbar, version 2.0.10
1.346 -- Checking for module 'libtorrent-rasterbar>=2.0.9'
1.358 --   Found libtorrent-rasterbar, version 2.0.10
1.453 -- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libcrypto.so (found suitable version "3.0.13", minimum required is "3.0.2")  
1.485 -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found suitable version "1.3", minimum required is "1.2.11")  
1.500 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
1.856 -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
1.857 -- Found Threads: TRUE  
1.864 -- Performing Test HAVE_STDATOMIC
2.177 -- Performing Test HAVE_STDATOMIC - Success
2.179 -- Found WrapAtomic: TRUE  
2.212 -- Performing Test SNS_SUPPORT
2.312 -- Performing Test SNS_SUPPORT - Success
2.327 -- Configuring done (1.5s)
2.492 -- Generating done (0.1s)
2.495 -- Build files have been written to: /usr/src/qbittorrent/build
2.556 [  0%] Built target qbt_base_autogen_timestamp_deps
2.578 [  0%] Automatic MOC for target qbt_base
12.45 AutoMoc: /usr/src/qbittorrent/src/base/interfaces/iapplication.h: note: No relevant classes found. No output generated.
16.19 [  0%] Built target qbt_base_autogen
16.24 [  0%] Building CXX object src/base/CMakeFiles/qbt_base.dir/qbt_base_autogen/mocs_compilation.cpp.o
20.69 In file included from /usr/src/qbittorrent/build/src/base/qbt_base_autogen/VKOXE6AELE/moc_sessionimpl.cpp:9,
20.69                  from /usr/src/qbittorrent/build/src/base/qbt_base_autogen/mocs_compilation.cpp:12:
20.69 /usr/src/qbittorrent/build/src/base/qbt_base_autogen/VKOXE6AELE/../../../../../src/base/bittorrent/sessionimpl.h:428:17: error: 'QString BitTorrent::SessionImpl::getLastExternalIPv6Address() const' marked 'override', but does not override
20.69   428 |         QString getLastExternalIPv6Address() const override;
20.69       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
20.69 /usr/src/qbittorrent/build/src/base/qbt_base_autogen/VKOXE6AELE/../../../../../src/base/bittorrent/sessionimpl.h:429:17: error: 'QString BitTorrent::SessionImpl::getLastExternalIPv4Address() const' marked 'override', but does not override
20.69   429 |         QString getLastExternalIPv4Address() const override;
20.69       |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
23.18 gmake[2]: *** [src/base/CMakeFiles/qbt_base.dir/build.make:82: src/base/CMakeFiles/qbt_base.dir/qbt_base_autogen/mocs_compilation.cpp.o] Error 1
23.18 gmake[1]: *** [CMakeFiles/Makefile2:298: src/base/CMakeFiles/qbt_base.dir/all] Error 2
23.18 gmake: *** [Makefile:136: all] Error 2
------
qbittorrent-master.dockerfile:23
--------------------

@stauffenberg2020
Copy link
Author

Hi again @Piccirello ,
Can you please let me know if you have used QBITTORRENT_MASTER_SRC as https://github.com/OdinVex/qBittorrent/archive/refs/heads/master.tar.gz in your docker build?

@Piccirello
Copy link
Member

I haven't attempted to build that PR, but based on the error it appears to be caused by the changes made in the PR. I would follow up with a comment in the PR directly.

@stauffenberg2020
Copy link
Author

Hi @Piccirello , Were you able to make an comment in the PR so that the author is aware of the error in building the Docker image?

@Piccirello
Copy link
Member

I haven't; I was suggesting that you should follow up in the PR.

@stauffenberg2020
Copy link
Author

I am unable to. Because the admin of qbittorrent repo has restricted me the access to comment. Hence I am not allowed to comment there in that PR.

@stauffenberg2020
Copy link
Author

Hi @Piccirello , Can you please help me post this comment in the original PR?

@Piccirello
Copy link
Member

I'm not sure why you were restricted but I would suggest reaching out to that admin to get unrestricted. I'm going to close out this issue as it's unrelated to qBittorrent itself. This issue would be best handled in the linked PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants