Package Details: qt4 4.8.7-32

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<=4.8.4
Submitter: arojas
Maintainer: dviktor
Last Packager: dviktor
Votes: 38
Popularity: 2.94
First Submitted: 2019-05-01 11:51
Last Updated: 2020-05-10 17:54

Dependencies (29)

Required by (599)

Sources (20)

Pinned Comments

dviktor commented on 2019-06-18 12:50

Binary version for latest version (4.8.7-32) with PGP signature is available here

eschwartz commented on 2019-05-09 13:24

@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

For those who have problems with ‘std::tr1’ has not been declared error: build in clean chroot with extra-x86_64-build script.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 ... Next › Last »

valandil commented on 2020-05-20 11:47

@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.

ubuntourist commented on 2020-05-20 02:24

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.

valandil commented on 2020-05-12 19:55

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 :)

ryanw commented on 2020-05-12 06:52

@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

dviktor commented on 2020-05-11 17:31

@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)

ryanw commented on 2020-05-11 15:00

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

optimisticninja commented on 2020-05-10 18:05

@dviktor Right on. That was epicly fast.

dviktor commented on 2020-05-10 17:56

@optimisticninja should be fixed now

optimisticninja commented on 2020-05-10 17:30

@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.

dviktor commented on 2020-05-10 17:28

@optimisticninja could you please describe your request in more detail? This package compiled fine for the past