Closed THS-on closed 5 years ago
@THS-on It looks like my cleanup action was a bit too much, I have put back http://download.kiwix.org/dev/zlib-1.2.8.tar.gz. Can you try again please?
Currently it fails because xapian-core-1.4.7.tar.xz
is missing but there is a xapian-core-1.4.7.zip
. I've patched kiwix-build to use the zip file instead and it fails because libaria2
doesn't want to build.
prepare sources libaria2 :
download libaria2 : OK
extract libaria2 : OK
patch libaria2 : OK
post_prepare_script libaria2 : ERROR
Copying file ABOUT-NLS
Copying file config.rpath
Copying file m4/codeset.m4
Copying file m4/fcntl-o.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intlmacosx.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/Makefile.in.in
Copying file po/Makevars.template
Copying file po/Rules-quot
Copying file po/boldquot.sed
Copying file po/en@boldquot.header
Copying file po/en@quot.header
Copying file po/insert-header.sin
Copying file po/quot.sed
Copying file po/remove-potcdate.sin
aclocal: overwriting 'm4/ax_check_compile_flag.m4' with '/usr/share/aclocal/ax_check_compile_flag.m4'
aclocal: installing 'm4/ax_cxx_compile_stdcxx.m4' from '/usr/share/aclocal/ax_cxx_compile_stdcxx.m4'
aclocal: overwriting 'm4/ax_cxx_compile_stdcxx_11.m4' with '/usr/share/aclocal/ax_cxx_compile_stdcxx_11.m4'
aclocal: installing 'm4/libgcrypt.m4' from '/usr/share/aclocal/libgcrypt.m4'
aclocal: installing 'm4/libtool.m4' from '/usr/share/aclocal/libtool.m4'
aclocal: installing 'm4/ltoptions.m4' from '/usr/share/aclocal/ltoptions.m4'
aclocal: installing 'm4/ltsugar.m4' from '/usr/share/aclocal/ltsugar.m4'
aclocal: installing 'm4/ltversion.m4' from '/usr/share/aclocal/ltversion.m4'
aclocal: installing 'm4/lt~obsolete.m4' from '/usr/share/aclocal/lt~obsolete.m4'
aclocal: installing 'm4/pkg.m4' from '/usr/share/aclocal/pkg.m4'
aclocal: installing 'm4/ax_require_defined.m4' from '/usr/share/aclocal/ax_require_defined.m4'
aclocal: error: too many loops
aclocal: Please contact <bug-automake@gnu.org>.
at /usr/share/automake-1.16/Automake/Channels.pm line 662.
Automake::Channels::msg("automake", "", "too many loops") called at /usr/share/automake-1.16/Automake/ChannelDefs.pm line 212
Automake::ChannelDefs::prog_error("too many loops") called at /usr/bin/aclocal line 1195
autoreconf: aclocal failed with exit status: 255
run command 'autoreconf -i'
current directory is '/home/user/aur/kiwix-build/SOURCE/libaria2-1.33.1'
`` `
@THS-on The file is here now https://download.kiwix.org/dev/xapian-core-1.4.7.tar.xz
@THS-on What is the status on this?
It still fails but now with building the QT dependency.
(kiwix-build) [user@USER-PC kiwix-build]$ kiwix-build kiwix-desktop
[INSTALL PACKAGES]
SKIP, No package to install.
[SETUP PLATFORMS]
[PREPARE]
prepare sources icu4c :
download icu4c : SKIP
extract icu4c : SKIP
patch icu4c : SKIP
prepare sources zlib :
download zlib : SKIP
extract zlib : SKIP
patch zlib : SKIP
prepare sources qt :
download qt : Sha256 for qt-everywhere-src-5.10.1.tar.xz not set, do no verify download
OK
extract qt : OK
prepare sources qtwebengine :
download qt : SKIP
extract qt : SKIP
prepare sources pugixml :
download pugixml : OK1.50%
extract pugixml : OK
patch pugixml : OK
prepare sources lzma :
download lzma : OK0.43%
extract lzma : OK
prepare sources uuid :
download uuid : OK0.75%
extract uuid : OK
prepare sources xapian-core :
download xapian-core : OK0.04%
extract xapian-core : OK
patch xapian-core : OK
prepare sources libzim :
gitclone libzim : OK
gitupdate libzim : OK
prepare sources libcurl :
download libcurl : OK0.09%
extract libcurl : OK
prepare sources ctpp2c :
download ctpp2 : OK1.26%
extract ctpp2 : OK
patch ctpp2 : OK
prepare sources ctpp2 :
download ctpp2 : SKIP
extract ctpp2 : SKIP
patch ctpp2 : SKIP
prepare sources kiwix-lib :
gitclone kiwix-lib : OK
gitupdate kiwix-lib : OK
prepare sources kiwix-desktop :
gitclone kiwix-desktop : OK
gitupdate kiwix-desktop : OK
[BUILD]
build icu4c (native_dyn):
configure icu4c : OK
compile icu4c : ...OK
install icu4c : OK
build zlib (native_dyn):
pre_build_script zlib : OK
configure zlib : OK
compile zlib : OK
install zlib : OK
build qt (native_dyn):
configure qt : ...ERROR
+ cd qtbase
+ /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/configure -top-level -recheck -opensource -confirm-license -ccache -make libs -skip qt3d -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtlocation -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebglplugin -skip qtwebsockets -shared -prefix /home/user/aur/kiwix-build/BUILD_native_dyn/INSTALL -libdir /home/user/aur/kiwix-build/BUILD_native_dyn/INSTALL/lib
Preparing build tree...
Creating qmake...
/home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:101:12: Fehler: »int renameat2(int, const char*, int, const char*, unsigned int)« wurde »extern« deklariert und später »static« [-fpermissive]
static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags)
^~~~~~~~~
In file included from /usr/include/c++/8.2.1/cstdio:42,
from /usr/include/c++/8.2.1/ext/string_conversions.h:43,
from /usr/include/c++/8.2.1/bits/basic_string.h:6391,
from /usr/include/c++/8.2.1/string:52,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/../../src/corelib/tools/qbytearray.h:52,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/qbytearray.h:1,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:49,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/qstring.h:1,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/../../src/corelib/io/qiodevice.h:50,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/qiodevice.h:1,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/../../src/corelib/io/qfiledevice.h:43,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/include/QtCore/qfiledevice.h:1,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfile.h:44,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_p.h:54,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:43:
/usr/include/stdio.h:164:12: Anmerkung: vorherige Deklaration von »int renameat2(int, const char*, int, const char*, unsigned int)«
extern int renameat2 (int __oldfd, const char *__old, int __newfd,
^~~~~~~~~
In file included from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:106:
/usr/include/linux/stat.h:56:8: Fehler: Redefinition von »struct statx_timestamp«
struct statx_timestamp {
^~~~~~~~~~~~~~~
In file included from /usr/include/sys/stat.h:446,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/mkspecs/linux-g++/qplatformdefs.h:75,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:42:
/usr/include/bits/statx.h:25:8: Anmerkung: vorherige Definition von »struct statx_timestamp«
struct statx_timestamp
^~~~~~~~~~~~~~~
In file included from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:106:
/usr/include/linux/stat.h:99:8: Fehler: Redefinition von »struct statx«
struct statx {
^~~~~
In file included from /usr/include/sys/stat.h:446,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/mkspecs/linux-g++/qplatformdefs.h:75,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:42:
/usr/include/bits/statx.h:36:8: Anmerkung: vorherige Definition von »struct statx«
struct statx
^~~~~
/home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:107:12: Fehler: »int statx(int, const char*, int, unsigned int, statx*)« wurde »extern« deklariert und später »static« [-fpermissive]
static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
^~~~~
In file included from /usr/include/sys/stat.h:446,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/mkspecs/linux-g++/qplatformdefs.h:75,
from /home/user/aur/kiwix-build/SOURCE/qt-5.10.1/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:42:
/usr/include/bits/statx.h:87:5: Anmerkung: vorherige Deklaration von »int statx(int, const char*, int, unsigned int, statx*)«
int statx (int __dirfd, const char *__restrict __path, int __flags,
^~~~~
make: *** [Makefile:429: qfilesystemengine_unix.o] Fehler 1
run command '/home/user/aur/kiwix-build/SOURCE/qt-5.10.1/configure -recheck -opensource -confirm-license -ccache -make libs -skip qt3d -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtlocation -skip qtmultimedia -skip qtnetworkauth -skip qtpurchasing -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebglplugin -skip qtwebsockets -shared -prefix /home/user/aur/kiwix-build/BUILD_native_dyn/INSTALL -libdir /home/user/aur/kiwix-build/BUILD_native_dyn/INSTALL/lib'
current directory is '/home/user/aur/kiwix-build/BUILD_native_dyn/qt-5.10.1'
@mgautierfr Any idea?
A similar compilation error https://github.com/meta-qt5/meta-qt5/issues/94
I strongly suggest to not build Qt and QtWebEngine. They are very complex (and long) to compile. Distribution packages are far better than a custom build script here. (and I will not try to debug qt compilation on arch)
The best you can do is to add the list of package to install in https://github.com/kiwix/kiwix-build/blob/master/kiwixbuild/packages.py. See how it is made of 'debian_native_dyn'
and does the "same" for arch_native_dyn
. (I don't know the list of packages to install, you will have to find the equivalent to the ubuntu ones on arch)
You will also have to tell kiwix-build how to install packages on arch by adding a case to https://github.com/kiwix/kiwix-build/blob/master/kiwixbuild/builder.py#L153-L162
@mgautierfr I've tried to build it with kiwix-build kiwix-desktop --target-platform native_dyn --build-nodeps
. This still fails with the originally reported issue. This issue has nothing really to do with the dependencies, it is about qmake.
See here
Thanks @THS-on for the links, it helps me understand the problem. The PR kiwix/kiwix-desktop#131 should fix the problem.
It would be nice that you confirm the issue is close with the PR and I will merge it.
You can checkout the PR in the SOURCE/kiwix-desktop
directory. And run kiwix-build kiwix-desktop --target-platform native_dyn --build-nodeps --skip-source-prepare --assume-packages-installed
to test the build.
@mgautierfr I tried to build it with your patch and it works! Thank you for fixing this.
@THS-on what command are you using currently to build? is it
kiwix-build kiwix-desktop --target-platform native_dyn --build-nodeps --skip-source-prepare --assume-packages-installed
because this gives for me:
ERROR: The target platform native_dyn cannot be build on host arch.
@soloturn
You still need to add arch
to the compatible_host in kiwixbuild/platforms/native.py
and kiwixbuild/platforms/neutral.py
.
I've added arch to the
compatible_host
list as described here: https://github.com/kiwix/kiwix-desktop/issues/37#issuecomment-426561181. Building with dependencies failed becausehttp://download.kiwix.org/dev/zlib-1.2.8.tar.gz:
is not reachable, so I tried to build it without (kiwix-build kiwix-desktop --target-platform native_dyn --build-nodeps
). This also failed. This error is a known issue and can be fixed by manually building kiwix-desktop withqmake QMAKE_CFLAGS_ISYSTEM=
. More here: https://bugreports.qt.io/browse/QTBUG-53367Another thing is that the auto scaling in QT is somewhat broken that means all Icons are too big and I have to start kiwix-desktop like this:
Build log