@MarsSeed
done. seems like these mirrors are working fine here in Russia, hope they will work too in other places. I've decided to stick with Fedoraproject mirror
Git Clone URL: | https://aur.archlinux.org/qt4.git (read-only, click to copy) |
---|---|
Package Base: | qt4 |
Description: | A cross-platform application and UI framework |
Upstream URL: | https://www.qt.io |
Licenses: | custom, GPL3, LGPL, FDL |
Conflicts: | qt |
Replaces: | qt |
Submitter: | arojas |
Maintainer: | dviktor |
Last Packager: | dviktor |
Votes: | 59 |
Popularity: | 2.30 |
First Submitted: | 2019-05-01 11:51 (UTC) |
Last Updated: | 2022-05-13 12:03 (UTC) |
@MarsSeed
done. seems like these mirrors are working fine here in Russia, hope they will work too in other places. I've decided to stick with Fedoraproject mirror
@dviktor I see, I didn't know about Qt banning Russian IP addresses. (I don't agree with them banning any FOSS downloads FWIW.)
But that alone does not warrant choosing a personal hosting for AUR sources IMHO - that is, not while other high availability, high-performance hosting sources are available.
Are the following URLs also blocked in Russia, or are they usable? (Listed by download speed - fastest on top)
@MarsSeed @tesfabpel I would revert the URL to the original source but as for now Qt bans access for its resources for users from Russia (at least, without VPN). Personally I'm not disabling any access for anyone wherever he/she lives so for a nearest future, at least, I would left that untouched. There are checksums available for everyone and you can compare it against the source provided by my host. If you're still worring about that I can provide PGP signature as additional proof
@dviktor please kindly change the source URL back to the official qt repo as requested by @tesfabpel.
IMHO it is not a good practice to host source archives of AUR packages on personal hosting.
There are official web archive repositories as fallback, if Qt company ever stops providing the old tarballs.
Try with source mentioned in a comment below, i.e.
valandil ~/build/qt4 $ git diff
diff --git a/PKGBUILD b/PKGBUILD
index 2a04053..33783bb 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -24,7 +24,7 @@ optdepends=('postgresql-libs: PostgreSQL driver'
replaces=('qt<=4.8.4')
conflicts=(qt)
_pkgfqn="qt-everywhere-opensource-src-${pkgver}"
-source=("https://ftp.desolve.ru/ftp/viktor/qt4/${_pkgfqn}.tar.gz"
+source=("https://download.qt.io/archive/qt/4.8/4.8.7/${_pkgfqn}.tar.gz"
"qtconfig-qt4.desktop"
"assistant-qt4.desktop"
"designer-qt4.desktop"
Can't update qt4. Getting the following error:
-> Downloading qt-everywhere-opensource-src-4.8.7.tar.gz... curl: (28) Failed to connect to ftp.desolve.ru port 443 after 128955 ms: Connection timed out Warning: Problem: timeout. Will retry in 3 seconds. 3 retries left.
Maybe it's better to officially revert downloading from the original source if it's available (https://download.qt.io/archive/qt/4.8/4.8.7/)? Thank you.
@dviktor thank you!
@slav it is already uploaded to my repo. If you don't want to add it to your pacman.conf
you can download the package directly
Can I have request please to share build of qt4-4.8.7-35-x86_64.pkg.tar.zst?
Interesting enough, it works fine for me in clean chroot. I've updated binary package in my repo
I can confirm this happens, even in a chroot build. Applying the patch in the Gentoo bug tracker, i.e. attribute __attribute__((used))
to the offending function, didn't work either.
seems building qt4 fails... at least for me The reported Error is undefined reference to `cti_vm_throw'
rm -f libQtScript.so.4.8.7 libQtScript.so libQtScript.so.4 libQtScript.so.4.8
linking ../../lib/libQtScript.so.4.8.7
In member function 'allocatePropertyStorageInline',
inlined from 'allocatePropertyStorage' at ../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.cpp:546:34:
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h:679:68: warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
679 | PropertyStorage newPropertyStorage = new EncodedJSValue[newSize];
| ^
../3rdparty/javascriptcore/JavaScriptCore/runtime/JSObject.h: In member function 'allocatePropertyStorage':
/usr/include/c++/11.1.0/new:128:26: note: in a call to allocation function 'operator new []' declared here
128 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc)
| ^
/usr/bin/ld: /tmp/ccE68OPD.ltrans0.ltrans.o: in function `ctiVMThrowTrampoline':
<artificial>:(.text+0x4c): undefined reference to `cti_vm_throw'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:491: ../../lib/libQtScript.so.4.8.7] Error 1
make[1]: Leaving directory '/tmp/bpkg/qt4/src/qt-everywhere-opensource-src-4.8.7/src/script'
make: *** [Makefile:674: sub-script-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
can anybody verify this?
Just for information, this takes 30-40 minutes to build.
The original download.qt.io source seems to be available. I tried wget https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
and it worked just fine - the checksum from PKGBUILD matches. Maybe the site was down only temporarily back in January?
@slav Welcome :)
@mozo thank you!
@dviktor Thanks :)
@mozo thank you for the reminder. I've uploaded it on my server (may be you should re-fetch my GPG key because I've extended its expiration time as well)
Here's mine until dviktor provide the file:
https://u.pcloud.link/publink/show?code=XZhUtMXZgKzTB49erYShr43f4m7M5L1ehbB7
@dviktor, a new binary version would be great :)
slav, see the comment I made just before yours. Don't use an AUR helper to build this, and build in a clean chroot. There's even a pinned comment on this.
unfortunately error on the end of building
make[2]: [Makefile.WebKit:1147: .obj/release-static/YarrInterpreter.o] Error 1 make[2]: Leaving directory '/home/slaw/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore' make[1]: [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2 make[1]: Leaving directory '/home/slaw/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source' make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2 ==> ERROR: A failure occurred in build(). Aborting... error making: qt4
Is it possible that someone post qt4 4.8.7-34-x86_64.pkg.tar.xz file? Thanks, Slav
Build in a clean chroot. I can build fine.
Getting this error:
messagemodel.cpp: In function ‘int calcMergeScore(const DataModel*, const DataModel*)’:
messagemodel.cpp:186:61: error: ordered comparison of pointer with integer zero (‘MessageItem*’ and ‘int’)
186 | if (c->findMessage(m->text(), m->comment()) >= 0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
make[3]: *** [Makefile:8639: .obj/release-shared/messagemodel.o] Error 1
Need this patch for GCC11.
Warning: this also fixes a bug, because that check never worked as intended. If that is not desired, just remove the if
but keep the body, because the condition was always true with gcc < 11. (See https://godbolt.org/z/n6Wxsz9Mj if you need convincing.)
As patch for the PKGBUILD repo:
From 5d5556df8f8f3483fa7b9f5dcae33a17da3d7954 Mon Sep 17 00:00:00 2001
From: Maarten de Vries <maarten@de-vri.es>
Date: Mon, 7 Jun 2021 13:15:11 +0200
Subject: [PATCH] Fix compilation with GCC11.
---
PKGBUILD | 6 +++++-
qt4-gcc11.patch | 11 +++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
create mode 100644 qt4-gcc11.patch
diff --git a/PKGBUILD b/PKGBUILD
index 27b2236..8f03b6f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -37,7 +37,7 @@ source=("https://ftp.desolve.ru/ftp/viktor/qt4/${_pkgfqn}.tar.gz"
'disable-sslv3.patch'
'l-qclipboard_fix_recursive.patch'
'l-qclipboard_delay.patch'
- 'qt4-gcc6.patch' 'qt4-gcc8.patch' 'qt4-gcc9.patch' 'qt4-glibc-2.25.patch' 'qt4-icu59.patch' 'qt4-openssl-1.1.patch')
+ 'qt4-gcc6.patch' 'qt4-gcc8.patch' 'qt4-gcc9.patch' 'qt4-gcc11.patch' 'qt4-glibc-2.25.patch' 'qt4-icu59.patch' 'qt4-openssl-1.1.patch')
sha256sums=('e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0'
'157eb47865f0b43e4717819783823c569127a2e9fc48309982ca0f2b753517a1'
'd63f22858174489068c30a12b9115d1b4e23ade00c31c117513212e9a225c1ce'
@@ -55,6 +55,7 @@ sha256sums=('e2882295097e47fe089f8ac741a95fef47e0a73a3f3cdf21b56990638f626ea0'
'51da49e41edac66559d3ec8dd0a152995a51a53e5d1f63f09fa089a8af7e3112'
'0497411e54a0461f76ffa204236f5146a2ed0d272ae66afcfabd74090459208b'
'8d6104d7bc3b050ec87e82b9df245154cd1d80e03eb3bbe633084d6b3c079d5e'
+ '1a6468bfbd4080bdf46bad88fdfcd2c90de7d16c187670c5c4559363d1f129aa'
'e6555f4a681227447e94e9f14e11626d50b7e5108aad06088311e87063bc0347'
'61d6bf45649c728dec5f8d22be5b496ed9d40f52c2c70102696d07133cd1750d'
'ff3ddb5428cd2ff243558dc0c75b35f470077e9204bbc989ddcba04c866c1b68')
@@ -102,6 +103,9 @@ prepare() {
# Fix build with GCC9
patch -Np0 -i "$srcdir"/qt4-gcc9.patch
+ # Fix build with GCC11
+ patch -Np0 -i "$srcdir"/qt4-gcc11.patch
+
# Fix build of Qt4 applications with glibc 2.25 (Fedora)
patch -p1 -i "$srcdir"/qt4-glibc-2.25.patch
diff --git a/qt4-gcc11.patch b/qt4-gcc11.patch
new file mode 100644
index 0000000..fb04a2a
--- /dev/null
+++ b/qt4-gcc11.patch
@@ -0,0 +1,11 @@
+--- tools/linguist/linguist/messagemodel.cpp 2021-06-07 12:18:43.713434493 +0200
++++ tools/linguist/linguist/messagemodel.cpp 2021-06-07 12:24:24.828016548 +0200
+@@ -183,7 +183,7 @@
+ if (ContextItem *c = one->findContext(oc->context())) {
+ for (int j = 0; j < oc->messageCount(); ++j) {
+ MessageItem *m = oc->messageItem(j);
+- if (c->findMessage(m->text(), m->comment()) >= 0)
++ if (c->findMessage(m->text(), m->comment()))
+ ++inBoth;
+ }
+ }
--
2.32.0
Or, qt4-gcc11.patch separate:
--- tools/linguist/linguist/messagemodel.cpp 2021-06-07 12:18:43.713434493 +0200
+++ tools/linguist/linguist/messagemodel.cpp 2021-06-07 12:24:24.828016548 +0200
@@ -183,7 +183,7 @@
if (ContextItem *c = one->findContext(oc->context())) {
for (int j = 0; j < oc->messageCount(); ++j) {
MessageItem *m = oc->messageItem(j);
- if (c->findMessage(m->text(), m->comment()) >= 0)
+ if (c->findMessage(m->text(), m->comment()))
++inBoth;
}
}
@jerome2016: build in a clean chroot, see the pinned comments.
can not update due to error:
make[2]: [Makefile.WebKit:1213 : .obj/release-static/YarrPattern.o] Erreur 1 make[2]: [Makefile.WebKit:1785 : .obj/release-static/DateMath.o] Erreur 1 make[2] : on quitte le répertoire « /home/jerome/.cache/paru/clone/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore » make[1]: [Makefile.WebKit:43 : sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Erreur 2 make[1]: Wait for unfinished tasks.... make[1] : quite directory « /home/jerome/.cache/paru/clone/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source » make: *** [Makefile:747 : sub-webkit-make_default-ordered] Erreur 2
And i can see up there: ./wtf/HashSet.h:191:26: erreur: impossible to convert « ((WTF::HashSet<void*>)this)->WTF::HashSet<void*>::m_impl.WTF::HashTable<void*, void*, WTF::IdentityExtractor\<void*>, WTF::PtrHash\<void*>, WTF::HashTraits\<void*>, WTF::HashTraits\<void*> >::add(( & value)) » de « pair<WTF::HashTableIterator\<void*, void*, WTF::IdentityExtractor\<void*>, WTF::PtrHash\<void*>, WTF::HashTraits\<void*>, WTF::HashTraits\<void*> >,[...]> » to « pair<WTF::HashTableConstIteratorAdapter\<WTF::HashTable\<void*, void*, WTF::IdentityExtractor\<void*>, WTF::PtrHash\<void*>, WTF::HashTraits\<void*>, WTF::HashTraits\<void*> >, void*>,[...]> » 191 | return m_impl.add(value); | ~~~~~~~~~~^~~~~~~ | | | pair<WTF::HashTableIterator\<void*, void*, WTF::IdentityExtractor\<void*>, WTF::PtrHash\<void*>, WTF::HashTraits\<void*>, WTF::HashTraits\<void*> >,[...]> In the file include from yarr/YarrPattern.cpp:31:
@tom, I can't reproduce. Make sure to build in a chroot,as mentioned in the pinned comments above.
| ^~~~
compiling kernel/qdesktopwidget.cpp compiling kernel/qguiplatformplugin.cpp In Datei, eingebunden von /usr/include/gtk-2.0/gdk/gdkcairo.h:28, von /usr/include/gtk-2.0/gdk/gdk.h:33, von /usr/include/gtk-2.0/gtk/gtk.h:32, von ../../include/QtGui/private/../../../src/gui/styles/qgtkstyle_p.h:69, von ../../include/QtGui/private/qgtkstyle_p.h:1, von kernel/qguiplatformplugin.cpp:63: /usr/include/gtk-2.0/gdk/gdkpixbuf.h:37:10: schwerwiegender Fehler: gdk-pixbuf/gdk-pixbuf.h: Datei oder Verzeichnis nicht gefunden 37 | #include <gdk-pixbuf/gdk-pixbuf.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~ Kompilierung beendet. make[1]: [Makefile:65032: .obj/release-shared/qguiplatformplugin.o] Fehler 1 make[1]: Verzeichnis „/home/.../.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/gui“ wird verlassen make: [Makefile:422: sub-gui-make_default-ordered] Fehler 2 ==> FEHLER: Ein Fehler geschah in build(). Breche ab... error making: qt4
@gammy just a temporary lag
desolve.ru is dead as a doornail. I'm not sure if it's temporary or permanent but it might be worth finding another mirror.
@beaux_monde I assume pkgrel
as a useful way to show changes introduced in PKGBUILD
only regardless of the upstream sources. Also you can notice that packages in official repos are getting bumped in pkgrel even after simple rebuilds with the new libraries/compilers
@SDSK your error message is not informational at all - we need corresponding compilation log part to see what goes wrong. Also please try to build in clean chroot as referenced in the 3rd pinned post
make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2 ==> ERROR: A failure occurred in build(). Aborting... error: failed to build qt4
Whether a new download URI is a weighty argument to change of the package revision (and to rebuild the huge package) if the source tarball remains the same?
yeah I ended up editing the PKGBUILD at around line 29 and replacing where it said
source=("https://download.qt.io/archive/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz"
for:
source=("https://ftp.osuosl.org/pub/blfs/conglomeration/qt4/${_pkgfqn}.tar.gz"
As a workaround, I am hosting the tarball on AWS: https://archlinux-aur-mirror.s3.ca-central-1.amazonaws.com/qt-everywhere-opensource-src-4.8.7.tar.gz.
You can change the source in the PKGBUILD.
Can't download package in automatic mode
I get this error:
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to download.qt.io:443
==> ERROR: Failure while downloading https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
Aborting...
Failed to build qt4
https://download.qt.io no longer exists, and therefore the build fails. any workarounds?
@mikesco3: build in a clean chroot.
aur is failing to build this for me today in manjaro
==> ERROR: Failure while downloading https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz
I've checked the link and it doesn't seem to be working either.
I've even tried digging a bit for a link
https://download.qt.io/archive/qt/4.8/
and they don't seem to be working for qt4
@quenyen: Build in a clean chroot or use a prebuilt package
All of a sudden I am having a problem building this....here is my error from compilation....
::HashTableConstIteratorAdapter<WTF::HashTable\<void*, void*, WTF::IdentityExtractor\<void*>, WTF::PtrHash\<void*>, WTF::HashTraits\<void*>, WTF::HashTraits\<void*> >, void*>,[...]>’ 191 | return m_impl.add(value); | ~~~~~~~~~~^~~~~~~ | | | pair<WTF::HashTableIterator\<void*, void*, WTF::IdentityExtractor\<void*>, WTF::PtrHash\<void*>, WTF::HashTraits\<void*>, WTF::HashTraits\<void*> >,[...]> make[2]: [Makefile.WebKit:1785: .obj/release-static/DateMath.o] Error 1 make[2]: Leaving directory '/tmp/makepkg/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore' make[1]: [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2 make[1]: Waiting for unfinished jobs.... make[1]: Leaving directory '/tmp/makepkg/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source' make: [Makefile:747: sub-webkit-make_default-ordered] Error 2 ==> ERROR: A failure occurred in build(). Aborting... error making: qt4
The package is built by my CD and available in this repo:
https://wiki.archlinux.org/index.php/Unofficial_user_repositories#oscloud
CI status: https://abs-cd.oscloud.info/cd_manager/qt4
@TheGoliath, look at the pinned comments above.
@mrfaber could you please provide any info why it's needed now?
python-pkgconfig is needed to compile this now.
Thx dviktor, after importing you public key, i was able to install the binary version.
@Rumcajs receive and import my pubkey:
# pacman-key --recv-keys DD3BF75DCD96541AC723B7CD6A4CD3276CA8EBBD
# pacman-key --lsign-key DD3BF75DCD96541AC723B7CD6A4CD3276CA8EBBD
Hi, have both files in a directory qt4-4.8.7-32-x86_64.pkg.tar.xz qt4-4.8.7-32-x86_64.pkg.tar.xz.sig
/>sudo pacman -U qt4-4.8.7-32-x86_64.pkg.tar.xz error: 'qt4-4.8.7-32-x86_64.pkg.tar.xz': invalid or corrupted package (PGP signature)
pacman-key -v qt4-4.8.7-32-x86_64.pkg.tar.xz.sig ==> Checking qt4-4.8.7-32-x86_64.pkg.tar.xz.sig... (detached) gpg: Signature made Sun 10 May 2020 07:52:41 PM CEST gpg: using RSA key DD3BF75DCD96541AC723B7CD6A4CD3276CA8EBBD gpg: Note: trustdb not writable gpg: Good signature from "Viktor Drobot linux776@gmail.com" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: DD3B F75D CD96 541A C723 B7CD 6A4C D327 6CA8 EBBD ==> ERROR: The signature identified by qt4-4.8.7-32-x86_64.pkg.tar.xz.sig could not be verified.
Fix?
@Hwiparam, the error message you posted in not super specific. Please follow dviktor's recommendation of building in a clean chroot with extra-x86_64-build
(see pinned comments).
Also, note that yaourt is deprecated and not recommended for use.
Build fails with this:
make[2]: [Makefile.WebKit:1059: .obj/release-static/YarrInterpreter.o] Error 1 make[2]: Leaving directory '/tmp/yaourt-tmp-noname/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore' make[1]: [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2 make[1]: Leaving directory '/tmp/yaourt-tmp-noname/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source' make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2 ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build qt4.
@ubuntourist, extra-x86_64-build
only builds the package, it does not install it. To install it, use yay -U qt4-4.8.7-32-x86_64.pkg.tar.zst
.
I'm having trouble. I'm missing something still:
$ git clone https://aur.archlinux.org/qt4.git
$ cd qt4
$ extra-x86_64-build
...
Packages (1) qt4-4.8.7-32
Total Installed Size: 82.91 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [...] 100%
(1/1) checking package integrity [...] 100%
(1/1) loading package files [...] 100%
(1/1) checking for file conflicts [...] 100%
:: Processing package changes...
(1/1) installing qt4 [...] 100%
Optional dependencies for qt4
postgresql-libs: PostgreSQL driver [installed]
mariadb-libs: MariaDB driver [installed]
unixodbc: ODBC driver [installed]
libfbclient: Firebird/iBase driver [installed]
libxinerama: Xinerama support [installed]
libxcursor: Xcursor support [installed]
libxfixes: Xfixes support [installed]
icu: Unicode support [installed]
sni-qt: StatusNotifierItem (AppIndicators) support
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
resolving dependencies...
looking for conflicting packages...
Packages (6) libnsl-1.2.0-2 licenses-20200427-1 pyalpm-0.9.1-2 python-3.8.3-1 python-pyelftools-0.26-1
namcap-3.2.10-1
Total Installed Size: 79.94 MiB
:: Proceed with installation? [Y/n]
(6/6) checking keys in keyring [...] 100%
(6/6) checking package integrity [...] 100%
(6/6) loading package files [...] 100%
(6/6) checking for file conflicts [...] 100%
:: Processing package changes...
(1/6) installing libnsl [...] 100%
(2/6) installing python [...] 100%
Optional dependencies for python
python-setuptools
python-pip
sqlite [installed]
mpdecimal: for decimal
xz: for lzma [installed]
tk: for tkinter
(3/6) installing pyalpm [...] 100%
(4/6) installing licenses [...] 100%
(5/6) installing python-pyelftools [...] 100%
(6/6) installing namcap [...] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
Checking PKGBUILD
Checking qt4-4.8.7-32-x86_64.pkg.tar.zst
qt4 W: unneeded dependency on a package run when needed by hooks.
qt4 W: Dependency unixodbc detected but optional (libraries ['usr/lib/libodbc.so.2'] needed in files ['usr/lib/qt4/plugins/sqldrivers/libqsqlodbc.so'])
qt4 W: Dependency libfbclient detected but optional (libraries ['usr/lib/libfbclient.so.2'] needed in files ['usr/lib/qt4/plugins/sqldrivers/libqsqlibase.so'])
qt4 W: Dependency postgresql-libs detected but optional (libraries ['usr/lib/libpq.so.5'] needed in files ['usr/lib/qt4/plugins/sqldrivers/libqsqlpsql.so'])
qt4 W: Dependency mariadb-libs detected but optional (libraries ['usr/lib/libmariadb.so.3'] needed in files ['usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so'])
qt4 W: Dependency ca-certificates included but already satisfied
==> Running checkpkg
error: target not found: qt4
==> WARNING: Skipped checkpkg due to missing repo packages
$
and then yay
shows me that qt4
is upgradable.
I ran into the std::tr1 has not been declared
error, and got it to compile under a clean chroot just fine.
Out of curiosity though, do we know why a clean chroot would affect std::tr1
includes? Is that a weird side effect of qmake and how it constructs its build environment? Am I missing something?
Thanks for any insight :)
@dviktor I run with single-threaded (make -j1
) but still got error :
../../../sql/drivers/mysql/qsql_mysql.cpp: At global scope:
../../../sql/drivers/mysql/qsql_mysql.cpp:197:9: error: ‘my_bool’ does not name a type; did you mean ‘bool’?
197 | my_bool nullIndicator;
| ^~~~~~~
| bool
../../../sql/drivers/mysql/qsql_mysql.cpp: In constructor ‘QMYSQLResultPrivate::QMyField::QMyField()’:
../../../sql/drivers/mysql/qsql_mysql.cpp:193:28: error: class ‘QMYSQLResultPrivate::QMyField’ does not have any field named ‘nullIndicator’
193 | : outField(0), nullIndicator(false), bufLength(0ul),
| ^~~~~~~~~~~~~
../../../sql/drivers/mysql/qsql_mysql.cpp: In member function ‘bool QMYSQLResultPrivate::bindInValues()’:
../../../sql/drivers/mysql/qsql_mysql.cpp:397:28: error: ‘struct QMYSQLResultPrivate::QMyField’ has no member named ‘nullIndicator’
397 | bind->is_null = &f.nullIndicator;
| ^~~~~~~~~~~~~
../../../sql/drivers/mysql/qsql_mysql.cpp: In member function ‘virtual QVariant QMYSQLResult::data(int)’:
../../../sql/drivers/mysql/qsql_mysql.cpp:604:15: error: ‘const struct QMYSQLResultPrivate::QMyField’ has no member named ‘nullIndicator’
604 | if (f.nullIndicator)
| ^~~~~~~~~~~~~
../../../sql/drivers/mysql/qsql_mysql.cpp: In member function ‘virtual bool QMYSQLResult::isNull(int)’:
../../../sql/drivers/mysql/qsql_mysql.cpp:681:35: error: ‘const struct QMYSQLResultPrivate::QMyField’ has no member named ‘nullIndicator’
681 | return d->fields.at(field).nullIndicator;
| ^~~~~~~~~~~~~
../../../sql/drivers/mysql/qsql_mysql.cpp: In member function ‘virtual bool QMYSQLResult::exec()’:
../../../sql/drivers/mysql/qsql_mysql.cpp:933:13: error: ‘my_bool’ was not declared in this scope; did you mean ‘bool’?
933 | QVector<my_bool> nullVector;
| ^~~~~~~
| bool
../../../sql/drivers/mysql/qsql_mysql.cpp:933:20: error: template argument 1 is invalid
933 | QVector<my_bool> nullVector;
| ^
../../../sql/drivers/mysql/qsql_mysql.cpp:947:20: error: request for member ‘resize’ in ‘nullVector’, which is of non-class type ‘int’
947 | nullVector.resize(values.count());
| ^~~~~~
../../../sql/drivers/mysql/qsql_mysql.cpp:954:25: error: invalid types ‘int[int]’ for array subscript
954 | nullVector[i] = static_cast<my_bool>(val.isNull());
| ^
../../../sql/drivers/mysql/qsql_mysql.cpp:954:41: error: ‘my_bool’ does not name a type; did you mean ‘bool’?
954 | nullVector[i] = static_cast<my_bool>(val.isNull());
| ^~~~~~~
| bool
../../../sql/drivers/mysql/qsql_mysql.cpp:955:46: error: invalid types ‘int[int]’ for array subscript
955 | currBind->is_null = &nullVector[i];
| ^
../../../sql/drivers/mysql/qsql_mysql.cpp:1051:16: error: expected ‘;’ before ‘update_max_length’
1051 | my_bool update_max_length = true;
| ^~~~~~~~~~~~~~~~~~
| ;
../../../sql/drivers/mysql/qsql_mysql.cpp:1060:72: error: ‘update_max_length’ was not declared in this scope
1060 | mysql_stmt_attr_set(d->stmt, STMT_ATTR_UPDATE_MAX_LENGTH, &update_max_length);
| ^~~~~~~~~~~~~~~~~
../../../sql/drivers/mysql/qsql_mysql.cpp: In member function ‘virtual bool QMYSQLDriver::open(const QString&, const QString&, const QString&, const QString&, int, const QString&)’:
../../../sql/drivers/mysql/qsql_mysql.cpp:1248:5: error: ‘my_bool’ was not declared in this scope; did you mean ‘bool’?
1248 | my_bool reconnect=false;
| ^~~~~~~
| bool
../../../sql/drivers/mysql/qsql_mysql.cpp:1263:21: error: ‘reconnect’ was not declared in this scope; did you mean ‘connect’?
1263 | reconnect = true;
| ^~~~~~~~~
| connect
../../../sql/drivers/mysql/qsql_mysql.cpp:1299:12: error: ‘reconnect’ was not declared in this scope; did you mean ‘connect’?
1299 | if(reconnect)
| ^~~~~~~~~
| connect
In file included from ../../../../include/QtCore/qvector.h:1,
from ../../../../include/QtSql/../../src/sql/kernel/qsqlresult.h:46,
from ../../../../include/QtSql/qsqlresult.h:1,
from ../../../sql/drivers/mysql/qsql_mysql.h:46,
from ../../../sql/drivers/mysql/qsql_mysql.cpp:42:
../../../../include/QtCore/../../src/corelib/tools/qvector.h: In instantiation of ‘void QVector<T>::realloc(int, int) [with T = QByteArray]’:
../../../../include/QtCore/../../src/corelib/tools/qvector.h:577:9: required from ‘void QVector<T>::append(const T&) [with T = QByteArray]’
../../../sql/drivers/mysql/qsql_mysql.cpp:1020:43: required from here
../../../../include/QtCore/../../src/corelib/tools/qvector.h:503:25: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘QVector<QByteArray>::Data’ {aka ‘struct QVectorTypedData<QByteArray>’} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
503 | ::memcpy(x.p, p, sizeOfTypedData() + (qMin(aalloc, d->alloc) - 1) * sizeof(T));
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../include/QtCore/qvector.h:1,
from ../../../../include/QtSql/../../src/sql/kernel/qsqlresult.h:46,
from ../../../../include/QtSql/qsqlresult.h:1,
from ../../../sql/drivers/mysql/qsql_mysql.h:46,
from ../../../sql/drivers/mysql/qsql_mysql.cpp:42:
../../../../include/QtCore/../../src/corelib/tools/qvector.h:94:8: note: ‘QVector<QByteArray>::Data’ {aka ‘struct QVectorTypedData<QByteArray>’} declared here
94 | struct QVectorTypedData : private QVectorData
| ^~~~~~~~~~~~~~~~
In file included from ../../../../include/QtCore/qvector.h:1,
from ../../../../include/QtSql/../../src/sql/kernel/qsqlresult.h:46,
from ../../../../include/QtSql/qsqlresult.h:1,
from ../../../sql/drivers/mysql/qsql_mysql.h:46,
from ../../../sql/drivers/mysql/qsql_mysql.cpp:42:
../../../../include/QtCore/../../src/corelib/tools/qvector.h: In instantiation of ‘void QVector<T>::realloc(int, int) [with T = QVariant]’:
../../../../include/QtCore/../../src/corelib/tools/qvector.h:337:3: required from ‘void QVector<T>::detach_helper() [with T = QVariant]’
../../../../include/QtCore/../../src/corelib/tools/qvector.h:123:84: required from ‘QVector<T>::QVector(const QVector<T>&) [with T = QVariant]’
../../../sql/drivers/mysql/qsql_mysql.cpp:935:50: required from here
../../../../include/QtCore/../../src/corelib/tools/qvector.h:503:25: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘QVector<QVariant>::Data’ {aka ‘struct QVectorTypedData<QVariant>’} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
503 | ::memcpy(x.p, p, sizeOfTypedData() + (qMin(aalloc, d->alloc) - 1) * sizeof(T));
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../../../include/QtCore/qvector.h:1,
from ../../../../include/QtSql/../../src/sql/kernel/qsqlresult.h:46,
from ../../../../include/QtSql/qsqlresult.h:1,
from ../../../sql/drivers/mysql/qsql_mysql.h:46,
from ../../../sql/drivers/mysql/qsql_mysql.cpp:42:
../../../../include/QtCore/../../src/corelib/tools/qvector.h:94:8: note: ‘QVector<QVariant>::Data’ {aka ‘struct QVectorTypedData<QVariant>’} declared here
94 | struct QVectorTypedData : private QVectorData
| ^~~~~~~~~~~~~~~~
make[3]: *** [Makefile:858: .obj/release-shared/qsql_mysql.o] Error 1
make[3]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins/sqldrivers/mysql'
make[2]: *** [Makefile:65: sub-mysql-make_default] Error 2
make[2]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins/sqldrivers'
make[1]: *** [Makefile:48: sub-sqldrivers-make_default] Error 2
make[1]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins'
make: *** [Makefile:782: sub-plugins-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Error making: qt4
@ryanw actually there is no useful info in that log. seems like some make subprocess has failed. try to run with single-threaded make explicitly (make -j1
)
I got problem :
rm -f libqconnmanbearer.so
linking ../../../../plugins/bearer/libqconnmanbearer.so
mv -f libqconnmanbearer.so ../../../../plugins/bearer/
make[3]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins/bearer/connman'
rm -f libqnmbearer.so
linking ../../../../plugins/bearer/libqnmbearer.so
mv -f libqnmbearer.so ../../../../plugins/bearer/
make[3]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins/bearer/networkmanager'
make[2]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins/bearer'
make[1]: Leaving directory '/home/ryan/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/plugins'
make: *** [Makefile:782: sub-plugins-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Error making: qt4
@dviktor Right on. That was epicly fast.
@optimisticninja should be fixed now
@dviktor absolutely. Building with the default PKGBUILD yields this for myself.
/usr/bin/strings: './endiantest': No such file
/usr/bin/strings: './endiantest': No such file
rm -f endiantest.o
rm -f *~ core *.core
rm -f endiantest
rm -f Makefile
The target system byte order could not be detected!
Turn on verbose messaging (-v) to see the final report.
You can use the -little-endian or -big-endian switch to
./configure to continue.
==> ERROR: A failure occurred in build().
Aborting...
Error making: qt4
UPDATE: I am running a hardened kernel, this could have something to do with it.
@optimisticninja could you please describe your request in more detail? This package compiled fine for the past
Please modify the configure command to include -little-endian and -host-little-endian. PKGBUILD is broken in current state.
or ingorepkg = qt4 to 'save your trouble'
This may be true, but you can't expect everyone to use a clean chroot. This build process is too fragile. It should work in any linux environment that satisfies the dependencies, and only ever fail with an explicit message indicating which dependencies are missing.
Your argument is invalid.
If this builds in a clean chroot, it indicates that this works correctly under expected circumstances. It additionally means the maintainer might not know why your system is special causing it to not work.
And make no mistake about it -- your system is special if it doesn't work. My system can build qt4 just fine outside of a clean chroot (I have just finished doing so), so clearly it is not impossible, and this matches the expected clean chroot results, so...
While it's possible that specific issues causing it to fail might be dealt with, I'd argue that the onus is on you, the person who it is failing for, to figure out the solution, rather than the maintainer, who it builds fine for.
I bet if someone could figure out the problem, dviktor would be happy to incorporate that feedback in the PKGBUILD.
@Drew it's entirely related to the Qt building process. I think we can't do a lot to improve building stability (please also consider how much time has passed since last Qt 4 update). Robust packages build fine on any system but this is not the case so we are forced to use clean chroot build or precompiled binary.
I have not been able to upgrade since 4.8.7-28
make[2]: *** [Makefile.WebKit:1146: .obj/release-static/YarrInterpreter.o] Error 1
make[2]: Leaving directory '/home/drew/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore'
make[1]: *** [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/drew/.cache/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source'
make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2
@alan1world this builds fine in a clean chroot.
This may be true, but you can't expect everyone to use a clean chroot. This build process is too fragile. It should work in any linux environment that satisfies the dependencies, and only ever fail with an explicit message indicating which dependencies are missing.
build fails on one machine, works on another, both with dbus 1.12.16-5 :
The QtDBus module cannot be enabled because libdbus-1 version 0.93 was not found.
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
==> ERROR: A failure occurred in build().
Aborting...
@alan1world this builds fine in a clean chroot.
@ensigma96 please see attached comment
@eschwartz,
Is it possible then that someone will upload a binary package to AUR?
I can't copmpile this package now. I get errors:
/wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared
186 | template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
| ^~~
./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’
186 | template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
| ^~~~~~~~~~~~~~~~~~~~~~~
./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared
187 | template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
| ^~~
./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’
187 | template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from ./wtf/FastAllocBase.h:93,
from ./wtf/RefCounted.h:25,
from ./wtf/CrossThreadRefCounted.h:36,
from ./wtf/text/StringImpl.h:28,
from ./runtime/UString.h:26,
from yarr/YarrSyntaxChecker.h:29,
from yarr/YarrSyntaxChecker.cpp:27:
./wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared
186 | template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
| ^~~
./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’
186 | template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
| ^~~~~~~~~~~~~~~~~~~~~~~
./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared
187 | template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
| ^~~
./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’
187 | template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
| ^~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile.WebKit:1779: .obj/release-static/CryptographicallyRandomNumber.o] Błąd 1
In file included from ./wtf/FastAllocBase.h:93,
from ./wtf/RefCounted.h:25,
from ./wtf/CrossThreadRefCounted.h:36,
from ./wtf/text/StringImpl.h:28,
from ./runtime/UString.h:26,
from yarr/YarrPattern.h:30,
from yarr/YarrPattern.cpp:28:
./wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared
186 | template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
| ^~~
./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’
186 | template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
| ^~~~~~~~~~~~~~~~~~~~~~~
./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared
187 | template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
| ^~~
./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’
187 | template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
| ^~~~~~~~~~~~~~~~~~~~~~
@Win8Error can you please post your logs in English? Also you can try pre-built binary from pinned comment
Build failed
In Datei, eingebunden von /home/joel/qt4/src/qt-everywhere-opensource-src-4.8.7/mkspecs/linux-g++/qplatformdefs.h:65,
von /home/joel/qt4/src/qt-everywhere-opensource-src-4.8.7/src/corelib/io/qfilesystemiterator_unix.cpp:42:
/usr/include/dirent.h:183:12: Anmerkung: hier deklariert
183 | extern int readdir_r (DIR *__restrict __dirp,
| ^~~~~~~~~
/home/joel/qt4/src/qt-everywhere-opensource-src-4.8.7/src/corelib/io/qfilesystemiterator_unix.cpp:114:60: Warnung: »int readdir_r(DIR*, dirent*, dirent**)« ist veraltet [-Wdeprecated-declarations]
114 | lastError = QT_READDIR_R(dir, mt_file.data(), &dirEntry);
| ^
In Datei, eingebunden von /home/joel/qt4/src/qt-everywhere-opensource-src-4.8.7/mkspecs/linux-g++/qplatformdefs.h:65,
von /home/joel/qt4/src/qt-everywhere-opensource-src-4.8.7/src/corelib/io/qfilesystemiterator_unix.cpp:42:
/usr/include/dirent.h:183:12: Anmerkung: hier deklariert
183 | extern int readdir_r (DIR *__restrict __dirp,
| ^~~~~~~~~
MySQL support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
==> FEHLER: Ein Fehler geschah in build().
Breche ab...
I've do that
Manually download https://download.qt.io/archive/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz into /tmp
then edit PKGBUILD
cd /tmp/yaourt-tmp-george/aur-qt4
cp /tmp/qt-everywhere-opensource-src-4.8.7.tar.gz .
tar xzf /tmp/qt-everywhere-opensource-src-4.8.7.tar.gz
cd /tmp/yaourt-tmp-george/aur-qt4
download the latest binary files from here https://openload.co/f/6AQJDrkiAvI/qt4-4.8.7-31-x86_64.pkg.tar.xz
@NobodyDBG, @Rumcajs try to build in clean chroot
Can't build:
make[2]: *** [Makefile.WebKit:1381: .obj/release-static/YarrPattern.o] Fehler 1
In Datei, eingebunden von heap/MarkStack.h:32,
von heap/Heap.h:27,
von runtime/JSGlobalData.h:33,
von interpreter/CallFrame.h:26,
von runtime/ArgList.h:25,
von runtime/JSObject.h:26,
von wtf/DateMath.cpp:79:
./wtf/HashSet.h: In Instanziierung von »std::pair<WTF::HashTableConstIteratorAdapter<WTF::HashTable<typename TraitsArg::TraitType, typename TraitsArg::TraitType, WTF::IdentityExtractor<typename TraitsArg::TraitType>, HashArg, TraitsArg, TraitsArg>, typename TraitsArg::TraitType>, bool> WTF::HashSet<Value, HashFunctions, Traits>::add(const ValueType&) [mit ValueArg = void*; HashArg = WTF::PtrHash<void*>; TraitsArg = WTF::HashTraits<void*>; typename TraitsArg::TraitType = void*; WTF::HashSet<Value, HashFunctions, Traits>::ValueType = void*]«:
heap/MarkStack.h:74:71: von hier erfordert
./wtf/HashSet.h:191:32: Fehler: »((WTF::HashSet<void*>*)this)->WTF::HashSet<void*>::m_impl.WTF::HashTable<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >::add((* & value))« konnte nicht von »pair<WTF::HashTableIterator<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >,[...]>« nach »pair<WTF::HashTableConstIteratorAdapter<WTF::HashTable<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >, void*>,[...]>« umgewandelt werden
191 | return m_impl.add(value);
| ^
| |
| pair<WTF::HashTableIterator<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >,[...]>
make[2]: *** [Makefile.WebKit:2196: .obj/release-static/DateMath.o] Fehler 1
make[2]: Verzeichnis „/tmp/yaourt-tmp-kevin/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore“ wird verlassen
make[1]: *** [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Fehler 2
make[1]: Verzeichnis „/tmp/yaourt-tmp-kevin/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source“ wird verlassen
make: *** [Makefile:747: sub-webkit-make_default-ordered] Fehler 2
==> FEHLER: Ein Fehler geschah in build().
Breche ab...
==> FEHLER:Makepkg konnte qt4 nicht erstellen.
==> Erstellen von qt4 neu starten?[j/N]
==> -----------------------------------
Build fails, pls provide a binary package, thx.
yarr/YarrPattern.cpp: In member function ‘bool JSC::Yarr::YarrPatternConstructor ::setupAlternativeBeginTerms(JSC::Yarr::PatternAlternative, WTF::Vector<JSC::Yarr::TermChain>, unsigned int, unsigned int)’: yarr/YarrPattern.cpp:869:17: warning: this statement may fall through [-Wimplicit-fallthrough=] 869 | if (term.invert()) | ^~ yarr/YarrPattern.cpp:872:13: note: here 872 | case PatternTerm::TypeParenthesesSubpattern: | ^~~~ make[2]: [Makefile.WebKit:1381: .obj/release-static/YarrPattern.o] Error 1 make[2]: Leaving directory '/tmp/makepkg/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore' make[1]: [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2
@mozo Thanks
@mozo
FIY permalink to the latest binary version is in attached post
Here's the latest binary version:
https://my.pcloud.com/publink/show?code=XZnBOv7ZQv4MLzoMylYqWdRaUV8TUumltf07
The 'shiboken' package lists qt4 as a dependency but requires the QtXmlPatterns, which are no longer built using the current PKGBUILD, one would need to add the -xmlpatterns option to the ./configure script in PKGBUILD for the correct build.
@dviktor: i'm not so advanced to make 'clean chroot'. I did it as user with 'makepkg -s'
Thx a lot for the link to the binary!
Cheers, p.
Qt4 binary package has moved to my personal repository located here. You can add it to your /etc/pacman.conf
for convenience, if you want (don't forget to import my GPG key).
@SunDoctor, did you try build in clean chroot?
Error in build found:
In file included from /tmp/yaourt-tmp-igor/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/mkspecs/linux-g++/qplatformdefs.h:65, from /tmp/yaourt-tmp-igor/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/src/corelib/io/qfilesystemiterator_unix.cpp:42: /usr/include/dirent.h:183:12: note: declared here extern int readdir_r (DIR *__restrict __dirp, ^~~~~~~~~ InterBase support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue. ==> ERROR: A failure occurred in build().
There could be a binary version of qt4 in AUR. Isn't a good idea?
@mozo Thank you!
Someone can drop last qt4 4.8.7-30.pkg.tar.xz please?
@totsilence thank you for your contribution! Added fix for possible GCC9 issue
To fix breakage with GCC 9 and the foreach macro we should backport this commit from Qt 5 (it doesn't apply cleanly and needs a bit of trivial adapting): https://github.com/qt/qtbase/commit/c35a3f519007af44c3b364b9af86f6a336f6411b
GCC developers closed https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90617
as a duplicate of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44715
which shows that the change was intentional.
Just wanted to let everyone know that there is a bug in GCC 9 (now in testing), which makes it miscompile the foreach macro in Qt4:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90617
Since that macro is used extensively throughout the Qt source code I can only imagine that compiling qt4 with the current testing gcc will cause severe breakage.
We can fix this in two ways:
1) Wait for gcc fix 2) Apply a patch to qt4 to change the way Q_FOREACH is coded.
Missing dependency gstreamer0.10-base?
cd WebCore/ && $/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/bin/qmake $/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/WebCore.pro -spec $/aur-qt4/src/qt-everywhere-opensource-src-4.8.7/mkspecs/linux-g++ -o Makefile.WebKit
Project ERROR: Package gstreamer-app-0.10 not found
make[1]: *** [Makefile.WebKit:72: WebCore/Makefile.WebKit] Error 2
@dviktor: Can you add that the right script for the devtools is extra-x86_64-build?
@Tharbad no, it's not proper way to perform clean chroot build. Please follow instructions in wiki
Used yay clean build option. Got:
In file included from ./wtf/FastAllocBase.h:93,
from ./wtf/RefCounted.h:25,
from ./wtf/CrossThreadRefCounted.h:36,
from ./wtf/text/StringImpl.h:28,
from ./runtime/UString.h:26,
from yarr/YarrPattern.h:30,
from yarr/YarrInterpreter.h:29,
from yarr/YarrInterpreter.cpp:28:
./wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared
template<typename T> struct HasTrivialConstructor : public
std::tr1::has_trivial_constructor<T> { };
^~~
./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’
template<typename T> struct HasTrivialConstructor : public
std::tr1::has_trivial_constructor<T> { };
^~~~~~~~~~~~~~~~~~~~~~~ ./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { }; ^~~ ./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’ template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
^~~~~~~~~~~~~~~~~~~~~~
yarr/YarrInterpreter.cpp: In member function ‘bool
JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd(JSC::Yarr::ByteTerm&,
JSC::Yarr::Interpreter::DisjunctionContext*)’:
yarr/YarrInterpreter.cpp:707:13: warning: this statement may fall through [-
Wimplicit-fallthrough=]
if (backTrack->begin == notFound) {
^~
yarr/YarrInterpreter.cpp:711:9: note: here
case QuantifierNonGreedy:
^~~~
make[2]: *** [Makefile.WebKit:1062: .obj/release-static/YarrInterpreter.o] Error 1
make[2]: Leaving directory '/tmp/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore'
make[1]: *** [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2
make[1]: Leaving directory '/tmp/yay/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source'
make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
Also, when trying to remove qt4 I noticed it's dependency of kde.
Just for example there will be never alternative for KBGOffice Dictionary for it is abandoned years ago but is the only one Eng<->Bg dictionary for Linux. Some packages just doesn't have alternatives.
Except none of that makes sense. sip does not need qt4, and it doesn't need qt5 either -- it just generates code for them. And the real issue with sip is that in the latest version of sip, the upstream developer of sip, removed all qt4 support. https://www.riverbankcomputing.com/hg/sip/rev/328f2e872d64
All three of those packages are AUR packages... it's not unheard of for one AUR package to depend on another. And spflashtool-bin requires qtwebkit in addition to qt4... do you realize qtwebkit has been in the AUR for two years now?
This is not about "drying the well", and we're not trying to force anyone to port anything. We're simply saying that for years we've only begrudgingly supported qt4 at all, and we finally decided to stop. There's no use getting upset about the lack of support for really old things; we don't support KDE3, gnome2, linux 3.x either, now it is qt4's turn.
My advice is to port it or ask someone else to port it, because getting it ported will make it easier to run without requiring AUR packages, and will be beneficial in the long run either way.
Alternatively, look for modern alternatives to these packages.
@Tharbad recheck your /etc/makepkg.conf
and also show us steps how do you create clean chroot. Please post full relevant error so we can inspect it.
@piedro I think it's clear now how to build this package. For those who can't build it under usual environment method with clean chroot exists and works just fine.
It's inevitable that some software becomes obsolete and out-of-date, new versions will replace the old one - this is normal process of software development. Great example are GCC compilers version 6 and 7 (and, in near future, 8) - they are also moved out to the AUR and also requires a lot of time to build but I don't see anyone who complains about it. If you're not satisfied with AUR solution you can always find binary repository for qt4 and install it directly.
@piedro +1
The package "sip" is in the official extra repository and still needs qt4.
Also "everpad", "soundwire", "spflashtool"... to name only a few.
The idea to "dry the well" to make people behave in a certain way seems very questionable to me... The decision to make it harder for users in order to force porting is really twisted! And also misdirected. The result is that the users waste their time on figuring out how to compile qt4 while the developers of the "old" applications just don't care...
But well, though I am not a developer responsible for porting to qt5 I still need qt4 - so I will have to figure out how to compile it. What a waste of time.
pk
Getting ‘std::tr1’ has not been declared despite building in clean chroot
@deemoncheeque did you download the whole snapshot or just PKGBUILD?
I'm building the package in clean chroot and it fails with one or more PCH files were found, but they were invalid
. What to do with it now?
Bin: https://pastebin.com/iNzDFYxq
@semeion,
qt4 was expelled from the official repositories due to https://lists.archlinux.org/pipermail/arch-dev-public/2019-April/029560.html
It will not be restored, because software needs to stop using qt4. It's fine for people to still use it via the AUR if they have old software that is not ported, but the proper solution is to get that software ported to qt5.
"It takes a long time to compile" is not a reason to move it to community.
@xuanruiqi,
Only Developers and Trusted Users have access to pkgbuild.com, and we will not be uploading qt4 there. If we wanted qt4, we would upload it to community, but we don't -- we have managed to move every package still being actively maintained in the official repos, over to qt5, and we want to stay that way.
...
Again, the proper long-term solution is to get software ported over to qt5.
@piedro, I really think qt4 should be moved to mainline repo ... a lot of work to compile something used by multiple applications that are in the mainline repo.
Is this becessary in any way? I mean, is there a problem using the older version?
This compiling doesn't work and setting up another environment just to compile it seems a bit over the top imho...
Also, is there a binary to use somewhere?
thx, p.
@saverio please, download the whole snapshot, not only pkgbuild itself
I tried to build from qt4 (PKGBUILD), but I receive this error during pakages downloading...
==> Making package: qt4 4.8.7-29 (mer 8 mag 2019, 12:34:19) ==> Retrieving sources... -> Downloading qt-everywhere-opensource-src-4.8.7.tar.gz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 274 100 274 0 0 948 0 --:--:-- --:--:-- --:--:-- 948 100 229M 100 229M 0 0 7662k 0 0:00:30 0:00:30 --:--:-- 5647k ==> ERROR: qtconfig-qt4.desktop was not found in the build directory and is not a URL. ==> ERROR: Could not download sources.
@semeion this package was removed from official repos and uploaded here. you can set up clean chroot as described here
@dviktor maybe it can be added in mainline arch repository? seems like qt4 could be in mainline/community repo.
I don´t have a clean-chroot environment to compile it. I think alot of users will fail to compile qt4 on next weeks.
@shaurz please check that you have up-to-date dbus installed on your system
@semeion seems like it's package-related: it's very sensitive for the environment. While for the part of users package builds fine in usual environment the other part suffers from messed env for building Qt4. Even lib32-qt4 package mentions about it and build in clean chroot is recommended
Will this problem be solved in the future? or will it only be possible to compile qt4 using clean-chroot?
Failing to build with this error:
The QtDBus module cannot be enabled because libdbus-1 version 0.93 was not found. Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue.
I have a nonstandard PKGBUILD (my CFLAGS/CXXFLAGS are "-march=native -fomit-frame-pointer -O2 -pipe -fno-plt", but it turned out not to matter. It seems nonstandard PKGBUILD is usually NOT an issue, unless you put questionable things in your CXXFLAGS. Standard optimization options should just be fine.
The real problem is the clean chroot, which usually points to strange bugs.
Do any of us have access to the pkgbuild.com server? If so we can perhaps host built binaries there.
@xuanruiqi same result, same opinion : long compilation only possible by clean-chroot, a binary package would be welcome
Was having same issue and editing makepkg.conf made no difference, only lines different from yours were MAKEFLAGS="-j2" and BUILDDIR=/tmp/makepkg aside from PACKAGER and GPGKEY however, builds fine in clean-chroot. Thanks!
For those who have problems with ‘std::tr1’ has not been declared
error: build in clean chroot with extra-x86_64-build
script.
My error isn't due to a makepkg config. obj/release-static/YarrInterpreter.o fails to build:
./wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { }; ^~~ ./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’ template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { }; ^~~~~~~~~~~~~~~~~~~~~~~
./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { }; ^~~ ./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’ template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
#!/hint/bash
#
# /etc/makepkg.conf
#
#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
# Format: 'protocol::agent'
DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u'
'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget
#-- The package required by makepkg to download VCS sources
# Format: 'protocol::package'
VCSCLIENTS=('bzr::bzr'
'git::git'
'hg::mercurial'
'svn::subversion')
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-pc-linux-gnu"
#-- Compiler and Linker Flags
CPPFLAGS="-D_FORTIFY_SOURCE=2"
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g -fvar-tracking-assignments"
DEBUG_CXXFLAGS="-g -fvar-tracking-assignments"
#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Defaults: BUILDENV=(!distcc !color !ccache check !sign)
# A negated environment option will do the opposite of the comments below.
#
#-- distcc: Use the Distributed C/C++/ObjC compiler
#-- color: Colorize output messages
#-- ccache: Use ccache to cache compilation
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
BUILDDIR=/tmp/makepkg
#########################################################################
# GLOBAL PACKAGE OPTIONS
# These are default values for the options=() settings
#########################################################################
#
# Default: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
#-- docs: Save doc directories specified by DOC_DIRS
#-- libtool: Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs: Leave empty directories in packages
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug)
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
INTEGRITY_CHECK=(md5)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#-- Directory to store source code in for debug packages
DBGSRCDIR="/usr/src/debug"
#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
PACKAGER="Viktor Drobot (aka dviktor) linux776 [at] gmail [dot] com"
#-- Specify a key to use for package signing
#GPGKEY=""
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
# WARNING: Do NOT modify these variables unless you know what you are
# doing.
#
PKGEXT='.pkg.tar.xz'
SRCEXT='.src.tar.gz'
But I suggest to build in clean chroot which seems to solve this nasty bug
@dviktor please share your Compiler and Linker Flags. I'm not sure what flgas are nonstandard.
it builds successfully in clean chroot
@RusWolf Thank you for the binary!!!
Binary package - https://dropmefiles.com/eAcvv
Thank you for testing! Let know if other users who have problems can build in a clean chroot
I can build in a clean chroot, but not otherwise. Weird. But regardless, this package takes quite a bit of time to build, so it would be good to have a binary package anyways.
Since many people can't build this, maybe someone can submit a binary package?
Started topic https://bbs.archlinux.org/viewtopic.php?pid=1844520
@dviktor yes I know and that is the reason I posted it separately. But different or not, I can't install the qt4 package :)
@mozo your error with makepkg differs from error caused by AUR managers.
@FMB could you please post a topic on forum to help fixing it? I can't reproduce this on two different machines and I don't know why. This package was pushed to AUR several days ago from official repos. The only change made by me is patching asm volatile
issue
It doesn't build for me:
I tried with trizen, yaourt, yay and makepkg to no avail.
With makepkg the error is the following:
Same error with makepkg :-(
Seems like some AUR managers can't handle echo
lines in PKGBUILD properly... Very strange
Through yay, the package is going fine.
@dviktor
I usually use pacmac but I can use makepkg and did so for the last couple of tests. Happy to try whatever is needed but I'm about to go out for the evening, so will post any results tomorrow.
I just noticed that PKGBUILD already contains lines with -std=gnu++98
. It should place them where appropriate. How do you install package? Could you try simple makepkg (that works for me)?
EDIT: yay builds and install package fine too. Tested on another machine
Same problem as others. gcc version 8.3.0, default makepkg.conf
@dviktor I added -g++:QMAKE_CXXFLAGS += -std=gnu++98 to /JavaScriptCore.pro as directed, still fails with the same error.
Same problem as xuanruiqi and MickeyRat, default makepkg.conf too.
Please try to add *-g++*:QMAKE_CXXFLAGS += -std=gnu++98
in src/3rdparty/webkit/Source/JavaScriptCore/JavaScriptCore.pro
file at line 220 (just before lessThan(QT_GCC_MAJOR_VERSION, 5) {
block) and tell me your results.
I'm having the same problem as MickeyRat, gcc version 8.3.0, default makepkg.conf
@MickeyRat @xuanruiqi what gcc version do you have?
I can confirm this package builds fine with extra-x86_64-build
now.
@MickeyRat please check if you have nonstandard compilation flags set by default in makepkg.conf. This package should build fine with default settings.
For me, it works now :) Thx!
Same here ./wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { }; ^~~ ./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’ emplate<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { }; ^~~~~~~~~~~~~~~~~~~~~~~
./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { }; ^~~ ./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’ template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { }; ^~~~~~~~~~~~~~~~~~~~~~
yarr/YarrInterpreter.cpp: In member function ‘bool JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd(JSC::Yarr::ByteTerm&, JSC::Yarr::Interpreter::DisjunctionContext)’: yarr/YarrInterpreter.cpp:707:13: warning: this statement may fall through [-Wimplicit-fallthrough=] if (backTrack->begin == notFound) { ^~ yarr/YarrInterpreter.cpp:711:9: note: here case QuantifierNonGreedy: ^~~~ make[2]: [Makefile.WebKit:1062: .obj/release-static/YarrInterpreter.o] Error 1 make[2]: Leaving directory '/home/mickeyrat/builds/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore' make[1]: [Makefile.WebKit:43: sub-JavaScriptCore-JavaScriptCore-pro-make_default-ordered] Error 2 make[1]: Leaving directory '/home/mickeyrat/builds/qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source' make: ** [Makefile:747: sub-webkit-make_default-ordered] Error 2 ==> ERROR: A failure occurred in build(). Aborting...
Got build error again:
./wtf/TypeTraits.h:186:69: error: ‘std::tr1’ has not been declared
template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
^~~
./wtf/TypeTraits.h:186:74: error: expected ‘{’ before ‘has_trivial_constructor’
template<typename T> struct HasTrivialConstructor : public std::tr1::has_trivial_constructor<T> { };
^~~~~~~~~~~~~~~~~~~~~~~
./wtf/TypeTraits.h:187:68: error: ‘std::tr1’ has not been declared
template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
^~~
./wtf/TypeTraits.h:187:73: error: expected ‘{’ before ‘has_trivial_destructor’
template<typename T> struct HasTrivialDestructor : public std::tr1::has_trivial_destructor<T> { };
^~~~~~~~~~~~~~~~~~~~~~
In file included from heap/MarkStack.h:32,
from heap/Heap.h:27,
from runtime/JSGlobalData.h:33,
from interpreter/CallFrame.h:26,
from runtime/ArgList.h:25,
from runtime/JSObject.h:26,
from wtf/DateMath.cpp:79:
./wtf/HashSet.h: In instantiation of ‘std::pair<WTF::HashTableConstIteratorAdapter<WTF::HashTable<typename TraitsArg::TraitType, typename TraitsArg::TraitType, WTF::IdentityExtractor<typename TraitsArg::TraitType>, HashArg, TraitsArg, TraitsArg>, typename TraitsArg::TraitType>, bool> WTF::HashSet<Value, HashFunctions, Traits>::add(const ValueType&) [with ValueArg = void*; HashArg = WTF::PtrHash<void*>; TraitsArg = WTF::HashTraits<void*>; typename TraitsArg::TraitType = void*; WTF::HashSet<Value, HashFunctions, Traits>::ValueType = void*]’:
heap/MarkStack.h:74:71: required from here
./wtf/HashSet.h:191:32: error: could not convert ‘((WTF::HashSet<void*>*)this)->WTF::HashSet<void*>::m_impl.WTF::HashTable<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >::add((* & value))’ from ‘pair<WTF::HashTableIterator<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >,[...]>’ to ‘pair<WTF::HashTableConstIteratorAdapter<WTF::HashTable<void*, void*, WTF::IdentityExtractor<void*>, WTF::PtrHash<void*>, WTF::HashTraits<void*>, WTF::HashTraits<void*> >, void*>,[...]>’
return m_impl.add(value);
I think I fixed it. Please check
I got the same errors that @infinitezero reported.
I can confirm building qt4 with extra-x86_64-build fails with the same error as posted by @infinitezero. I guess replacing asm volatile
with __asm__ __volatile__
might work.
Will not compile.
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp: At global scope:
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:483:5: error: expected ‘(’ before ‘volatile’
asm volatile (
^~~~~~~~
(
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:484:1: error: expected unqualified-id before string constant
".text\n"
^~~~~~~~~
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:483:15: error: expected ‘)’ before string constant
asm volatile (
~^
)
".text\n"
~~~~~~~~~
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:518:5: error: expected ‘(’ before ‘volatile’
asm volatile (
^~~~~~~~
(
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:519:1: error: expected unqualified-id before string constant
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
^~~~~~~~~
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:518:15: error: expected ‘)’ before string constant
asm volatile (
~^
)
".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
~~~~~~~~~
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:534:5: error: expected ‘(’ before ‘volatile’
asm volatile (
^~~~~~~~
(
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:535:1: error: expected unqualified-id before string constant
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
^~~~~~~~~
../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:534:15: error: expected ‘)’ before string constant
asm volatile (
~^
)
".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
~~~~~~~~~
In file included from ../3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.h:35,
from ../3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:31,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h:34,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:31:
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h: In instantiation of ‘static void QTWTF::VectorMover<true, T>::move(T, const T, T) [with T = QTWTF::RefPtr<QTJSC::FunctionExecutable>]’:
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:266:69: required from ‘static void QTWTF::VectorTypeOperations<T>::move(T, const T, T) [with T = QTWTF::RefPtr<QTJSC::FunctionExecutable>]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:810:33: required from ‘void QTWTF::Vector<T, inlineCapacity>::reserveCapacity(size_t) [with T = QTWTF::RefPtr<QTJSC::FunctionExecutable>; long unsigned int inlineCapacity = 0; size_t = long unsigned int]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:745:9: required from ‘void QTWTF::Vector<T, inlineCapacity>::expandCapacity(size_t) [with T = QTWTF::RefPtr<QTJSC::FunctionExecutable>; long unsigned int inlineCapacity = 0; size_t = long unsigned int]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:763:9: required from ‘U QTWTF::Vector<T, inlineCapacity>::expandCapacity(size_t, U) [with U = const QTWTF::NonNullPassRefPtr<QTJSC::FunctionExecutable>; T = QTWTF::RefPtr<QTJSC::FunctionExecutable>; long unsigned int inlineCapacity = 0; size_t = long unsigned int]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:870:17: required from ‘void QTWTF::Vector<T, inlineCapacity>::append(const U&) [with U = QTWTF::NonNullPassRefPtr<QTJSC::FunctionExecutable>; T = QTWTF::RefPtr<QTJSC::FunctionExecutable>; long unsigned int inlineCapacity = 0]’
../3rdparty/javascriptcore/JavaScriptCore/bytecode/CodeBlock.h:444:141: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:169:19: warning: ‘void memcpy(void, const void, size_t)’ writing to an object of type ‘class QTWTF::RefPtr<QTJSC::FunctionExecutable>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
memcpy(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:25,
from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.h:35,
from ../3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:31,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h:34,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:31:
../3rdparty/javascriptcore/JavaScriptCore/wtf/RefPtr.h:40:33: note: ‘class QTWTF::RefPtr<QTJSC::FunctionExecutable>’ declared here
template <typename T> class RefPtr : public FastAllocBase {
^~~~~~
In file included from ../3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.h:35,
from ../3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:31,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h:34,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:31:
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h: In instantiation of ‘static void QTWTF::VectorMover<true, T>::move(T, const T, T) [with T = QTWTF::RefPtr<QTJSC::RegExp>]’:
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:266:69: required from ‘static void QTWTF::VectorTypeOperations<T>::move(T, const T, T) [with T = QTWTF::RefPtr<QTJSC::RegExp>]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:810:33: required from ‘void QTWTF::Vector<T, inlineCapacity>::reserveCapacity(size_t) [with T = QTWTF::RefPtr<QTJSC::RegExp>; long unsigned int inlineCapacity = 0; size_t = long unsigned int]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:745:9: required from ‘void QTWTF::Vector<T, inlineCapacity>::expandCapacity(size_t) [with T = QTWTF::RefPtr<QTJSC::RegExp>; long unsigned int inlineCapacity = 0; size_t = long unsigned int]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:763:9: required from ‘U QTWTF::Vector<T, inlineCapacity>::expandCapacity(size_t, U) [with U = QTJSC::RegExp const; T = QTWTF::RefPtr<QTJSC::RegExp>; long unsigned int inlineCapacity = 0; size_t = long unsigned int]’
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:870:17: required from ‘void QTWTF::Vector<T, inlineCapacity>::append(const U&) [with U = QTJSC::RegExp; T = QTWTF::RefPtr<QTJSC::RegExp>; long unsigned int inlineCapacity = 0]’
../3rdparty/javascriptcore/JavaScriptCore/bytecode/CodeBlock.h:450:146: required from here
../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:169:19: warning: ‘void memcpy(void, const void, size_t)’ writing to an object of type ‘class QTWTF::RefPtr<QTJSC::RegExp>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
memcpy(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../3rdparty/javascriptcore/JavaScriptCore/wtf/VectorTraits.h:25,
from ../3rdparty/javascriptcore/JavaScriptCore/wtf/Vector.h:27,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/ExecutableAllocator.h:35,
from ../3rdparty/javascriptcore/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:31,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h:34,
from ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:31:
../3rdparty/javascriptcore/JavaScriptCore/wtf/RefPtr.h:40:33: note: ‘class QTWTF::RefPtr<QTJSC::RegExp>’ declared here
template <typename T> class RefPtr : public FastAllocBase {
^~~~~~
make[1]: [Makefile:9471: obj/release/JITStubs.o] Error 1
make[1]: Leaving directory '/home/user/Downloads/qt4/src/qt-everywhere-opensource-src-4.8.7/src/script'
make: [Makefile:674: sub-script-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
What kind of errors do you have? Could you please post full log?
Hi, qt4 cannot be built due to errors. Could you have a look at that? Thanks, mipi
Pinned Comments
dviktor commented on 2019-06-18 12:50 (UTC) (edited on 2022-01-27 12:28 (UTC) by dviktor)
Qt4 binary package has moved to my personal repository located here. You can add it to your
/etc/pacman.conf
for convenience, if you want (don't forget to import my GPG key).eschwartz commented on 2019-05-09 13:24 (UTC)
@semeion,
qt4 was expelled from the official repositories due to https://lists.archlinux.org/pipermail/arch-dev-public/2019-April/029560.html
It will not be restored, because software needs to stop using qt4. It's fine for people to still use it via the AUR if they have old software that is not ported, but the proper solution is to get that software ported to qt5.
"It takes a long time to compile" is not a reason to move it to community.
@xuanruiqi,
Only Developers and Trusted Users have access to pkgbuild.com, and we will not be uploading qt4 there. If we wanted qt4, we would upload it to community, but we don't -- we have managed to move every package still being actively maintained in the official repos, over to qt5, and we want to stay that way.
...
Again, the proper long-term solution is to get software ported over to qt5.
dviktor commented on 2019-05-05 17:49 (UTC) (edited on 2019-05-15 19:02 (UTC) by dviktor)
For those who have problems with
‘std::tr1’ has not been declared
error: build in clean chroot withextra-x86_64-build
script.