I am trying to get toolchain working on my machine, but without vagrant I cannot compile it since the code of many tools is incompatible with the recent glibc versions. Using vagrant, however I faced the issue with cloning from git.openwrt.org:
I decided to go another way and fix incompatibilities with the latest glibc. I have written patches for bison, e2fsprogs, m4, make-ext4fs, mtd-utils, squashfs4, util-linux to make compile on my host system.
I did another attempt today. Making the sources of Turris OS compiling on the recent distros seems to require a lot of work. Not only glibc causes incompatibility but at least openssl does it too. So I returned to the original way of building it inside of the vagrant container.
I workarounded the issue with SSL on git.openwrt.org by adding proxy to that site into my nginx server. I replaced all mentions of git.openwrt.org and lede-project.org (http, https and git) with the url https://mysite/git.openwrt.org. That let me go further and a bit later compilation stopped with the error ld: cannot find -lpython2.7
I fixed that issue by apt install libpython2.7-dev inside the LXC container.
Now the build fails with the error:
SHELL= flock /openwrt/tmp/.QCA988X-firmware-2-ct-full-community-21.bin.lede.002.flock -c ’ /openwrt/scripts/download.pl “/openwrt/dl” “QCA988X-firmware-2-ct-full-community-21.bin.lede.002” “354b8a116a406ba6521a8bf6165ea2dce76996ab36e7905cd71e772ea240017d” “firmware-2-ct-full-community-21.bin.lede.002” “Index of /downloads”’
–2019-02-09 16:14:43-- https://repo.turris.cz/downloads/firmware-2-ct-full-community-21.bin.lede.002
Resolving repo.turris.cz (repo.turris.cz)… 217.31.192.69, 2001:1488:ac15:ff80::69
Connecting to repo.turris.cz (repo.turris.cz)|217.31.192.69|:443… connected.
HTTP request sent, awaiting response… 404 Not Found
2019-02-09 16:14:43 ERROR 404: Not Found.
I have manually patched turris-os/package/firmware/ath10k-firmware/Makefile and restarted the build and after about two hours (I did it in a single-threaded mode), turris-os/bin-nand/mvebu-musl appeared:
package directory contains 1295 .ipk files plus some Packages files
Does that mean that build completed?
I am asking because it ended with that:
Generating index for package ./poppler_0.24.1-1_mvebu.ipk
Generating index for package ./qpdf_6.0.0-1_mvebu.ipk
Signing key has not been configured
make[2]: Leaving directory `/openwrt'
make[1]: Leaving directory `/openwrt'
+ ./scripts/unpack-version.sh bin/mvebu-musl/packages bin/mvebu-musl/
+ '[' -n '' ']'
+ ./scripts/generate_junit.sh
Directory /openwrt/logs doesn't exist!
Skipping junit output
+ '[' '!' -d ./logs ']'
+ '[' '!' -d ./logs ']'
++ git log --format=format:%cD -1
+ COMMIT_DATE='Tue, 18 Dec 2018 11:19:29 +0100'
+ '[' omnia = turris ']'
+ '[' -d ./bin-nand ']'
+ mv ./bin ./bin-nand
+ '[' -d ./tmp ']'
+ rm -rf ./tmp
++ head -n1
++ ls -1d bin-nand/mvebu-musl
+ PUB_BIN_DIR=bin-nand/mvebu-musl
+ '[' -n '' ']'
+ USRLISTS_ARGS=--minimal
+ LIST_BRANCH=
+ '[' -n '' ']'
++ echo ''
++ sed 's|.*/||'
+ LIST_BRANCH=
+ scripts/gen-userlists.sh --model omnia --branch '' --minimal bin-nand/mvebu-musl/lists
Missing --branch option.
vagrant@turris-buildroot:/openwrt$
Yes OpenWRT build completed. The script that failed was for generating userlists (package lists) for Turris OS. That is happening after packages build.