Giter VIP home page Giter VIP logo

Comments (11)

userdocs avatar userdocs commented on June 14, 2024

It looks like a PATH issue, and I cannot replicate it on a Ubuntu WSL2 i actively use.

You can try the docker method instead

https://userdocs.github.io/qbittorrent-nox-static/#/script-installation?id=docker-via-ssh

from qbittorrent-nox-static.

sbivol avatar sbivol commented on June 14, 2024

Thanks for the URL, but I have no issues with installing the script. It runs fine.

I think gawk and bison are being built for the wrong architecture when cross-compiling.
My understanding is that the following command should build an aarch64 binary:

docker run -it -w /root -e "LANG=en_GB.UTF-8" -v $HOME/qbt:/root ubuntu:latest /bin/bash -c 'apt update && apt install -y curl && curl -sL git.io/qbstatic | qbt_cross_name="aarch64" qbt_qt_version="5.15" bash -s all'

It passes all the checks successfully:

 ✔ Dependencies installed!
 ● All checks passed and core dependencies are installed, continuing to build
 ● Script version: 1.0.4
 ● Install Prefix : ~/qbt-build
 ● Script help : ~/bash -h
 ● Using multiarch - arch: aarch64 host: ubuntu target: ubuntu

But then it fails to build glibc with the error I posted above.

from qbittorrent-nox-static.

userdocs avatar userdocs commented on June 14, 2024

First, I am not sure what you mean about installing the script when it was instructions to run the script via docker to avoid host system conflicts.

Second, this command works fine and successfully built it via docker with ubuntu 22.04

docker run -it -w /root -e "LANG=en_GB.UTF-8" -v $HOME/qbt:/root ubuntu:latest /bin/bash -c 'apt update && apt install -y curl && curl -sL git.io/qbstatic | qbt_cross_name="aarch64" qbt_qt_version="5.15" bash -s all'

Third, there is currently no replication of your issue. You are the only person having the issue.

My Debian CI runs are working fine, as you can see here.

https://github.com/userdocs/qbittorrent-nox-static/actions/runs/4297732051/jobs/7491066521

So the question is why do you have this issue that is not a script issue.

Maybe purge your ubuntu dockers images and pull new ones. If you are using the docker command above I can only assume your images are corrupted somehow.

Unless you can show how this is a script issue that i can replicate I'm not sure what I can do here.

from qbittorrent-nox-static.

sbivol avatar sbivol commented on June 14, 2024

Thanks for looking into this.

I get the same issue on an Ubuntu 22.04.1 live CD in a diskless VM, it has no image cache or any preexisting software. Simply installed docker (sudo apt install docker.io) and ran the same command as you.

I managed to build qB by removing the bison and gawk build steps from the script. The built qbittorrent-nox binary works correctly on a Pi 4B.

from qbittorrent-nox-static.

userdocs avatar userdocs commented on June 14, 2024

The problem is nothing explains why you have this issue that appears isolated to you, specifically.

Yours looks like this

checking version of gawk... v. ?.??, bad
checking for bison... bison
checking version of bison... v. ?.??, bad

Here is the script on Ubuntu latest where I skip gawk and bison and just install glibc.

checking version of /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld... 2.38, ok
checking for gnumake... no
checking for gmake... gmake
checking version of gmake... 4.3, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.8, ok
checking for gawk... no
checking for bison... no
checking if aarch64-linux-gnu-gcc is sufficient to build libc... yes
checking for aarch64-linux-gnu-nm... aarch64-linux-gnu-nm
checking for python3... python3
checking version of python3... 3.10.6, ok
configure: error:
*** These critical programs are missing or too old: gawk bison
*** Check the INSTALL file for required versions.
make: *** No targets specified and no makefile found.  Stop.

Here is the script wtih gawk bison glibc

checking version of /usr/lib/gcc-cross/aarch64-linux-gnu/11/../../../../aarch64-linux-gnu/bin/ld... 2.38, ok
checking for gnumake... no
checking for gmake... gmake
checking version of gmake... 4.3, ok
checking for gnumsgfmt... no
checking for gmsgfmt... no
checking for msgfmt... no
checking for makeinfo... no
checking for sed... sed
checking version of sed... 4.8, ok
checking for gawk... gawk
checking version of gawk... 5.2.1, ok
checking for bison... bison
checking version of bison... 3.8.2, ok
checking if aarch64-linux-gnu-gcc is sufficient to build libc... yes
checking for aarch64-linux-gnu-nm... aarch64-linux-gnu-nm
checking for python3... python3
checking version of python3... 3.10.6, ok

There is something wrong here but it seems more likely a local issue than a script as this issue cannot be replicated.

from qbittorrent-nox-static.

userdocs avatar userdocs commented on June 14, 2024

Can you try this script

https://gist.githubusercontent.com/userdocs/2c09644e86e97a476f2fc034aa0d47d6/raw/e38c1824691912e5dd52a3ae3d515c245f051c59/qbittorrent-nox-static.sh

Only changes are not to install gawk bison and use apt instead.

	qbt_modules=("all" "install" "glibc" "zlib" "iconv" "icu" "openssl" "boost" "libtorrent" "double_conversion" "qtbase" "qttools" "qbittorrent") # Define our list of available modules in an array.
...
...
...
	if [[ "${what_id}" =~ ^(debian|ubuntu)$ ]]; then # if debian based then set the required packages array
		qbt_required_pkgs=("gettext" "texinfo" "gawk" "bison" "build-essential" "crossbuild-essential-${cross_arch}" "curl" "pkg-config" "automake" "libtool" "git" "openssl" "perl" "python${qbt_python_version}" "python${qbt_python_version}-dev" "python${qbt_python_version}-numpy" "unzip" "graphviz" "re2c")
	fi

from qbittorrent-nox-static.

userdocs avatar userdocs commented on June 14, 2024

The way I am thinking about this is that I can avoid the need to build gawk and bison, irrespective of this issue but it might also solve the issue you face.

So this tweak might indirectly solve your issue.

from qbittorrent-nox-static.

sbivol avatar sbivol commented on June 14, 2024

Ran this:

lxc launch ubuntu:22.04 --ephemeral qbt-build
lxc shell qbt-build
wget -q https://gist.githubusercontent.com/userdocs/2c09644e86e97a476f2fc034aa0d47d6/raw/e38c1824691912e5dd52a3ae3d515c245f051c59/qbittorrent-nox-static.sh
sudo su -
qbt_cross_name="aarch64" qbt_qt_version="5.15" bash qbittorrent-nox-static.sh all

Got this:

● All checks passed and core dependencies are installed, continuing to build
● Script version: 1.0.4
● Install Prefix : /home/ubuntu/qbt-build
● Script help : /home/ubuntu/qbittorrent-nox-static.sh -h
● Using multiarch - arch: aarch64 host: ubuntu target: ubuntu
● Skipping bison module installation
● Skipping gawk module installation
+ Installing glibc - https://ftp.gnu.org/gnu/libc/glibc-2.35.tar.gz
[...]

The resulting qbittorrent-nox binary was tested on Pi 4B and appears to be working fine.

Then I tested Docker:

docker run -it -w /root -e "LANG=en_GB.UTF-8" -v $HOME/qbt:/root ubuntu:latest /bin/bash -c 'apt update && apt install -y curl && curl -sL https://gist.githubusercontent.com/userdocs/2c09644e86e97a476f2fc034aa0d47d6/raw/e38c1824691912e5dd52a3ae3d515c245f051c59/qbittorrent-nox-static.sh | qbt_cross_name="aarch64" qbt_qt_version="5.15" bash -s all'

Same thing, binary built successfully.

Thank you!

from qbittorrent-nox-static.

userdocs avatar userdocs commented on June 14, 2024

What platform and OS are you building on? not the docker stuff, the main host?

from qbittorrent-nox-static.

sbivol avatar sbivol commented on June 14, 2024

The host is running Kubuntu 22.04 x86_64.

from qbittorrent-nox-static.

userdocs avatar userdocs commented on June 14, 2024

We may never know but this commit should provide a fix.

8aaeca3

https://github.com/userdocs/qbittorrent-nox-static/blob/master/changelog.md

from qbittorrent-nox-static.

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.