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…?
4 replies
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).
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).
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 function `QPngHandlerPrivate::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 function `QPngHandlerPrivate::readPngImage(QImage*)':
- qpnghandler.cpp:(.text+0xffb): undefined reference to `png_set_longjmp_fn'
- qpnghandler.cpp:(.text+0x1fc1): undefined reference to `png_set_longjmp_fn'
- collect2: ld returned 1 exit status
You must log in to post a reply. Not a member yet? Register here!



