LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   qt4.SlackBuild won't compile qt-4.5.3 on Slack-12.2 based distro (http://www.linuxquestions.org/questions/slackware-14/qt4-slackbuild-wont-compile-qt-4-5-3-on-slack-12-2-based-distro-767422/)

silencestone 11-06-2009 06:02 PM

qt4.SlackBuild won't compile qt-4.5.3 on Slack-12.2 based distro
 
I'm trying to install Qt4 and KeePassX with SlackBuilds on Wolvix 2, a Slackware 12.2 based distro. At first, the compile quit with this message:

Quote:

"Creating qmake. Please wait...
MySQL support cannot be enabled because of functionality tests. Turn on verbose messaging (-v) to ./configure to see final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue."
Okay. MySQL wasn't installed yet, so I installed mysql-5.0.67 from the slack12.2 repo, and ran ./qt4.SlackBuild again. Again, the compile quit with the same message about no MySQL support. Rebooted the computer (sometimes it helps), and compiled again. It quit again with that same message.

I'd rather have MySQL support than not. Regardless, how do I pass the ./configure options mentioned in the error message when compiling with a Slackbuild script? Or does MySQL need some other action to make it work with other programs?

Drakeo 11-06-2009 07:21 PM

are you using the slackbuild scripts

silencestone 11-06-2009 09:10 PM

using scripts
 
Yes, I'm using the SlackBuild bundle downloaded from slackbuilds.org <http://slackbuilds.org/repository/12.2/libraries/qt4/>, for Qt4 on Slackware 12.2, along with the latest Qt4 library source downloaded from the Trolltech/Nokia Qt project website <http://qt.nokia.com/downloads/linux-x11-cpp>. Since the qt4 source version (4.5.3) is later than that referred to in the actual qt4.Slackbuild scripts (4.5.1), I changed the version references to match. Other than that, I've made no changes nor run any extra options. I just login as root, change to the directory with the SlackBuild unpacked and the program source tarball, and run "./qt4.SlackBuild"

sahko 11-07-2009 03:25 AM

The official qt.SlackBuild has this:

Code:

# Fix path to mysql header
zcat $CWD/qt.mysql.h.diff.gz | patch -p1 || exit 1

which your script doesnt have.
Maybe that will help.
You can find the patch in the Slackware source tree.

ppr:kut 11-07-2009 03:39 AM

Quote:

I'm trying to install Qt4 and KeePassX with SlackBuilds on Wolvix 2, a Slackware 12.2 based distro.
I'm sorry to say, but "Slackware-based" != "Slackware", so we can only guess what might be different in your environment. Anyway, just installing Slackware
packages on a non-Slackware distribution is probably bound to cause problems.

Quote:

The official qt.SlackBuild has this:


Code:

# Fix path to mysql header
zcat $CWD/qt.mysql.h.diff.gz | patch -p1 || exit 1

which your script doesnt have.
That is not true. The SlackBuild uses the same patch, just not the same command for patching.

sahko 11-07-2009 07:30 AM

Quote:

Originally Posted by ppr:kut (Post 3747986)
That is not true. The SlackBuild uses the same patch, just not the same command for patching.

Ah OK, i didnt go through it extensively.

silencestone 11-07-2009 08:25 AM

Quote:

Originally Posted by ppr:kut (Post 3747986)
I'm sorry to say, but "Slackware-based" != "Slackware", so we can only guess what might be different in your environment. Anyway, just installing Slackware
packages on a non-Slackware distribution is probably bound to cause problems.

You're right. This distro mainly defaults to LXDE, Fluxbox, and XFCE desktops, adds some programs and takes others out to keep the live CD lightweight. More over, this is a beta release, so there are kinks still being worked out. Many of the installed packages come from Slackware 12.2, but the rest are rolled by the distro designer.

Well, I'm not sure where the relevant differences lie, so how can I pass the verbose option to Qt4's ./configure through the SlackBuild, to at least see how it "fails the functionality tests"?

silencestone 11-08-2009 12:11 PM

Well, I downloaded the originally intended version of Qt4 (4.5.1), and reset the SlackBuild script for that version, but that didn't help any. I dumped the ./configure options into the SlackBuild itself, and with verbose on, got more info that I can't really decipher...

Alright, this is the modified ./configure options in the SlackBuild:
Code:

        echo $'o\nyes' | ./configure \
          -prefix /usr/lib/qt4 \
          -no-separate-debug-info \
          -nomake examples \
          -nomake demos \
          -qt-gif \
          -fast \
          -system-libpng \
          -system-libjpeg \
          -system-zlib \
          -dbus \
          -I/usr/include/mysql -L/usr/lib/mysql -R/usr/lib/mysql -plugin-sql-mysql \
          -webkit \
          -silent \
          $GRAPHICS \
          $MEDIA \
          -opensource \
          -system-sqlite \
          -verbose

Ran it, and failed with the same warning, but more info just before that!

Code:

        Type '3' to view the GNU General Public License version 3.
        Type 'L' to view the Lesser GNU General Public License version 2.1.
        Type 'yes' to accept this license offer.
        Type 'no' to decline this license offer.

        Do you accept the terms of either license?
        Creating qmake. Please wait...
        floatmath auto-detection... ()
        compiling floatmath.cpp
        floatmath.cpp:3: warning: unused parameter 'argc'
        floatmath.cpp:3: warning: unused parameter 'argv'
        linking floatmath
        floatmath enabled.
        mmx auto-detection... ()
        compiling mmx.cpp
        linking mmx
        mmx enabled.
        3dnow auto-detection... ()
        compiling 3dnow.cpp
        linking 3dnow
        3dnow enabled.
        sse auto-detection... ()
        compiling sse.cpp
        linking sse
        sse enabled.
        sse2 auto-detection... ()
        compiling sse2.cpp
        linking sse2
        sse2 enabled.
        libtiff auto-detection... ()
        compiling libtiff.cpp
        linking libtiff
        libtiff enabled.
        libmng auto-detection... ()
        compiling libmng.cpp
        libmng.cpp:1:20: error: libmng.h: No such file or directory
        libmng.cpp:9:2: error: #error System libmng version is less than 1.0.9; using built-in version instead.
        libmng.cpp: In function 'int main(int, char**)':
        libmng.cpp:5: error: 'mng_handle' was not declared in this scope
        libmng.cpp:5: error: expected `;' before 'hMNG'
        libmng.cpp:6: error: 'hMNG' was not declared in this scope
        libmng.cpp:6: error: 'mng_cleanup' was not declared in this scope
        make: *** [libmng.o] Error 1
        libmng disabled.
        DB2 auto-detection... ()
        compiling db2.cpp
        db2.cpp:1:20: error: sqlcli.h: No such file or directory
        db2.cpp:2:21: error: sqlcli1.h: No such file or directory
        make: *** [db2.o] Error 1
        DB2 disabled.
        InterBase auto-detection... ()
        compiling ibase.cpp
        ibase.cpp:1:19: error: ibase.h: No such file or directory
        make: *** [ibase.o] Error 1
        InterBase disabled.
        MySQL (thread-safe) auto-detection... ()
        compiling ../mysql/mysql.cpp
        linking mysql_r
        /usr/lib/gcc/i486-slackware-linux/4.2.4/../../../../i486-slackware-linux/bin/ld: cannot find -lssl
        collect2: ld returned 1 exit status
        make: *** [mysql_r] Error 1
        MySQL (thread-safe) disabled.
        MySQL (thread-unsafe) auto-detection... ()
        compiling mysql.cpp
        linking mysql
        /usr/lib/gcc/i486-slackware-linux/4.2.4/../../../../i486-slackware-linux/bin/ld: cannot find -lssl
        collect2: ld returned 1 exit status
        make: *** [mysql] Error 1
        MySQL (thread-unsafe) disabled.
        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.

The only thing I'm getting from that is that MySQL and/or other database components are not being properly detected. I know SQLite and MySQL are installed...

Code:

root@wolvix qt-x11-opensource-src-4.5.1 $ slapt-get --search database |grep yes
aaa_terminfo-5.6-noarch-1 [inst=yes]: aaa_terminfo (a basic collection of terminfo entries)
apr-util-1.3.9-i486-1_slack12.2 [inst=yes]: apr-util (Apache Portable Runtime utilities)
desktop-file-utils-0.15-i486-1 [inst=yes]: desktop-file-utils (Utilities for manipulating desktop files)
gconf-2.24.0-i486-1wlv [inst=yes]: gconf
gdbm-1.8.3-i486-4 [inst=yes]: gdbm (GNU database routines)
glibc-zoneinfo-2.7-noarch-17 [inst=yes]: glibc-zoneinfo (timezone database)
libcddb-1.3.0-i486-1 [inst=yes]: libcddb (An online CD database library)
m17n-lib-1.5.2-i486-1 [inst=yes]: m17n-lib (application multilingualization library)
mysql-5.0.67-i486-1 [inst=yes]: mysql (SQL-based relational database server)
pysqlite-2.5.5-i486-1wlv [inst=yes]: pysqlite (An interface for SQLite)
shared-mime-info-0.51-i486-1 [inst=yes]: shared-mime-info (MIME database)
slackpkg-2.70.5-noarch-1 [inst=yes]: slackpkg
slocate-3.1-i486-1 [inst=yes]: slocate (Secure Locate)
sqlite-3.6.6.2-i486-1 [inst=yes]: SQLite (simple, self contained database engine)
root@wolvix qt-x11-opensource-src-4.5.1 $ slapt-get --search interbase
root@wolvix qt-x11-opensource-src-4.5.1 $

I don't know how to test MySQL (or SQLite), so I checked the libraries:
Code:

root@wolvix ~ $ ldd /usr/bin/mysql
        linux-gate.so.1 =>  (0xffffe000)
        libncurses.so.5 => /lib/libncurses.so.5 (0xb7f2e000)
        libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15 (0xb7deb000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7db9000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb7da1000)
        libm.so.6 => /lib/libm.so.6 (0xb7d7b000)
        libssl.so.0 => /usr/lib/libssl.so.0 (0xb7d3a000)
        libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7bfc000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7be8000)
        libc.so.6 => /lib/libc.so.6 (0xb7a9c000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7a98000)
        /lib/ld-linux.so.2 (0xb7f81000)
root@wolvix ~ $ ldd /usr/bin/sqlite3
        linux-gate.so.1 =>  (0xffffe000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7ec9000)
        libreadline.so.5 => /usr/lib/libreadline.so.5 (0xb7e99000)
        libncurses.so.5 => /usr/lib/libncurses.so.5 (0xb7e5a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7e30000)
        libc.so.6 => /lib/libc.so.6 (0xb7ce4000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7ce0000)
        /lib/ld-linux.so.2 (0xb7f29000)

Well, I'm no code master to decipher this any more, so I'm going to take the mysql options out of the SlackBuild (that's the sticking point), and see how it runs.

ppr:kut 11-09-2009 06:57 AM

The errors state that you do not have libmng and openssl installed, which are needed by the build.


All times are GMT -5. The time now is 06:45 AM.