QT4 4.6.2 && Slackware 13.1
-
Hi all,
this days it was released Slackware 13.1 .
I used for one year Slackware 12.2 at work for develop with qt4 and I always compiled without problem QT4 4.6.2 with this command:
@
./configure -prefix /opt/qt4-4.6.2 -qt-gif -no-exceptions -fast -qt-sql-sqlite -qdbus -pch -nomake examples -nomake demos -opensource -confirm-license -qt-sql-mysql -qt-sql-sqlite -qt-libpng
make
make install
@but this failed compilation in Slackware 13.1 with an "undefined references" with PNG (tomorrow I will post the exact message) so I tried with:
@
./configure -prefix /opt/qt4-4.6.2 -qt-gif -no-exceptions -fast -qt-sql-sqlite -qdbus -pch -nomake examples -nomake demos -opensource -confirm-license -qt-sql-mysql -qt-sql-sqlite -system-libpng
@
and now it compile in Slackware 13.1. I only replaced -qt-libpng with -system-libpng .What do you think about...?
-
Hi,
Most likely, the system PNG lib on your newer Linux system is version 1.4, while it was 1.2 on your previous system. Now because of a bug in Qt, it would pick up the system's PNG header file (png.h) when building, even when asked to use its own PNG lib (-qt-libpng). Since the included version in Qt 4.6 is PNG 1.2, that will cause a failure.
That bug is fixed in Qt 4.7 (in which the bundled PNG lib is also updated to version 1.4 btw).
-
[quote author="aavit" date="1275395903"]Hi,
Most likely, the system PNG lib on your newer Linux system is version 1.4, while it was 1.2 on your previous system. Now because of a bug in Qt, it would pick up the system's PNG header file (png.h) when building, even when asked to use its own PNG lib (-qt-libpng). Since the included version in Qt 4.6 is PNG 1.2, that will cause a failure.
That bug is fixed in Qt 4.7 (in which the bundled PNG lib is also updated to version 1.4 btw).
[/quote]Thanks for the answer...
I checked that the libpng version of Slackware 13.1 is 1.4.2 so I think this is the bug you said. -
No, compilation fails:
@
/mnt/temporanea/qt-everywhere-opensource-src-4.6.3/lib/libQtGui.a(qpnghandler.o): In functionQPngHandlerPrivate::readPngHeader()': qpnghandler.cpp:(.text+0x866): undefined reference to
png_set_longjmp_fn'
/mnt/temporanea/qt-everywhere-opensource-src-4.6.3/lib/libQtGui.a(qpnghandler.o): In functionQPngHandlerPrivate::readPngImage(QImage*)': qpnghandler.cpp:(.text+0xffb): undefined reference to
png_set_longjmp_fn'
/mnt/temporanea/qt-everywhere-opensource-src-4.6.3/lib/libQtGui.a(qpnghandler.o): In functionQPNGImageWriter::writeImage(QImage const&, int, QString const&, int, int)': qpnghandler.cpp:(.text+0x1fc1): undefined reference to
png_set_longjmp_fn'
collect2: ld returned 1 exit status
@