/usr/include/asm-generic/int-ll64.h:31:42: errors conflicting types for __u64
31 | __extension__ typedef unsigned long long __u64;
In file included from <command-line>:
././include/compiler.h:69:18: note: previous declaration of '__u64' was here
69 | typedef uint64_t __u64;
######### as root
pacman -Sy --noconfirm archlinux-keyring
pacman -Su --noconfirm --needed asciidoc bash bc binutils bzip2 fastjar flex git gcc util-linux gawk intltool zlib make cdrkit ncurses openssl patch perl-extutils-makemaker rsync unzip wget gettext libxslt boost libusb bin86 sharutils b43-fwcutter findutils time
############ not sure how up to date they are...
#EDIT -> needs
pacman -Su --noconfirm --needed nettle gnutls python3
############as normal user
make clean
make -j1 V=s
edit: that error in the screenshot... is something your likely to come across when the compiler / source get out of whack = version compatibility issues...
sometimes you can use an older/alternate os.... sometimes the maintainer updates the source to support newer constructs...
as it's only cropping up here... ( arch / 18 = not common )... and most of the arch guides i've found are for previous releases...
this points to the compiler versions in the newer arch maybe... but it's just a guess...
simplest thing to do tho' is to switch to debian/ubuntu...
$ sudo pacman -Su --noconfirm --needed asciidoc bash bc binutils fastjar flex git gcc util-linux gawk intltool zlib make cdrkit ncutses openssl patch perl-extutils-makemaker rsync unzip wget gettext libxslt boost libusb bin86 sharutils b43-fwcutter findutils time
warning: asciidoc-8.6.10-1 is up to date -- skipping
warning: bash-5.0.011-1 is up to date -- skipping
warning: bc-1.07.1-3 is up to date -- skipping
warning: fastjar-0.98-5 is up to date -- skipping
warning: flex-2.6.4-2 is up to date -- skipping
warning: git-2.23.0-1 is up to date -- skipping
warning: util-linux-2.34-3 is up to date -- skipping
warning: gawk-5.0.1-1 is up to date -- skipping
warning: intltool-0.51.0-4 is up to date -- skipping
warning: zlib-1:1.2.11-3 is up to date -- skipping
warning: make-4.2.1-3 is up to date -- skipping
warning: cdrtools-3.02a09-2 is up to date -- skipping
warning: ncurses-6.1-6 is up to date -- skipping
warning: openssl-1.1.1.d-1 is up to date -- skipping
warning: patch-2.7.6-7 is up to date -- skipping
warning: perl-5.30.0-3 is up to date -- skipping
warning: rsync-3.1.3-1 is up to date -- skipping
warning: unzip-6.0-13 is up to date -- skipping
warning: wget-1.20.3-2 is up to date -- skipping
warning: gettext-0.20.1-2 is up to date -- skipping
warning: libxslt-1.1.33-1 is up to date -- skipping
warning: boost-1.71.0-2 is up to date -- skipping
warning: libusb-1.0.23-1 is up to date -- skipping
warning: bin86-0.16.21-2 is up to date -- skipping
warning: sharutils-4.15.2-3 is up to date -- skipping
warning: b43-fwcutter-019-2 is up to date -- skipping
warning: findutils-4.7.0-1 is up to date -- skipping
warning: time-1.9-2 is up to date -- skipping
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing x265 (3.2.1-1) breaks dependency 'libx265.so=176-64' required by ffmpeg2.8
Changed it to pacman -S instead of -Su so that it didn't try to perform a full system upgrade. It installed four packages that weren't previously installed. Unfortunately I'm getting another compile error. Looks like the same error but it seems like it's in a different spot this time.
EDIT: I think the problem may be a mismatch between the version of the kernel in memory and the version on disk:
usr/include/asm-generic/int-ll64.h:31:42: error: conflicting types for '__u64' 31 | __extension__ typedef unsigned long long __u64; | ^~~~~ In file included from <command-line>: ././include/compiler.h:69:18: note: previous declaration of '__u64' was here 69 | typedef uint64_t __u64; | ^~~~~ make[5]: *** [scripts/Makefile.host:116: tools/mkenvimage.o] Error 1 make[4]: *** [Makefile:1509: tools-only] Error 2 make[4]: Leaving directory '/home/tonybryantjr/openwrt/github/openwrt/build_dir/host/u-boot-2018.03' make[3]: *** [Makefile:49: /home/tonybryantjr/openwrt/github/openwrt/build_dir/host/u-boot-2018.03/.built] Error 2 make[3]: Leaving directory '/home/tonybryantjr/openwrt/github/openwrt/tools/mkimage' time: tools/mkimage/compile#0.82#0.53#1.41 make[2]: *** [tools/Makefile:154: tools/mkimage/compile] Error 2 make[2]: Leaving directory '/home/tonybryantjr/openwrt/github/openwrt' make[1]: *** [tools/Makefile:150: /home/tonybryantjr/openwrt/github/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.tools_compile_yynyyyyynyyyyynyynnyyyynyyyyyyyyyyyyyyynyynynnyyynnyy] Error 2 make[1]: Leaving directory '/home/tonybryantjr/openwrt/github/openwrt' make: *** [/home/tonybryantjr/openwrt/github/openwrt/include/toplevel.mk:218$
I deleted the top-level directory and started over a few hours ago, and its still compiling. It was error'ing out after a few minutes earlier. I put the commands in a script and ran it instead of doing all the steps manually.
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt
git checkout v18.06.4
./scripts/feeds update -a && ./scripts/feeds install -a
wget -O .config https://downloads.openwrt.org/releases/18.06.4/targets/ramips/mt7620/config.seed
sed --in-place /CONFIG_PACKAGE_/d .config
make defconfig
echo "Press enter to start menuconfig"
read
make menuconfig
echo "Press enter to start build"
read ; cp -rv ~/openwrt/files .
make download
export IGNORE_ERRORS=1
make V=s 2>&1 | tee build.log | grep -i '[^_-"a-z]error[^_-.a-z]'
unset IGNORE_ERRORS
Donât use config.seed ârawâ as it builds âeverythingâ. Clear out .config, select your board, then add the specific packages/options you want.
Edit:
sed --in-place /CONFIG_PACKAGE_/d .config
doesnât look right to me
Edit: See above post for how to strip out the âimportantâ things from config.seed - populate-.config-justpackages - remember to select your board!
With the exception of a LuCI package group, youâll basically get what is in a âreleaseâ build for your board by just selecting the board.
Iâd suggest enabling ccache as it will speed subsequent builds. The first-time build takes around an hour on a âlowlyâ J4105. Subsequent builds are 5-15 with ccache.
Thanks. I didn't realize it was building everything. I started over and didn't download config.seed this time. I just selected my board, the packages I want and enabled ccache.
It's been compiling for about an hour. The build directory is only about 1.3 GB right now. I had to kill the last build after I realized it was building everything. The build directory was already over 11 GB when I killed it.
That is almost about the size you'll get for any 'normal' build tree, without that many optional features; a full build would be more than an order of magnitude beyond that.
It's possible that I used Ubuntu 18.04 in a container and actually used the manjaro kernel. When I go home at night, I will try to use real Ubuntu 18.04 in the KVM virtual machine, which allows me to use it. The old kernel of Ubuntu 18.04.
It seems that the ArchLinux user has failed to compile. I have a hunch that this may be because the ArchLinux kernel is too new.