Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 130834 - dev-libs/qsa ebuilds are realy old an not compatible to QT4
Summary: dev-libs/qsa ebuilds are realy old an not compatible to QT4
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-22 07:59 UTC by oc2k1
Modified: 2006-05-10 13:44 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description oc2k1 2006-04-22 07:59:27 UTC
This ist  the first failure (because qsa <1.2 ist incompatible to QT4):
emerge =qsa-1.0.1
Calculating dependencies ...done!
>>> emerge (1 of 1) dev-libs/qsa-1.0.1 to /
>>> md5 files   ;-) qsa-1.0.1.ebuild
>>> md5 files   ;-) qsa-1.1.1.ebuild
>>> md5 files   ;-) qsa-1.2.1.ebuild
>>> md5 files   ;-) files/digest-qsa-1.0.1
>>> md5 files   ;-) files/digest-qsa-1.1.1
>>> md5 files   ;-) files/qsa-1.0.1-no-examples.diff
>>> md5 files   ;-) files/qsa-1.0.1-sandbox-fix.diff
>>> md5 files   ;-) files/qsa-1.1.1-example-enums.pro.diff
>>> md5 files   ;-) files/qsa-1.1.1-sandbox-fix.diff
>>> md5 files   ;-) files/qsa-1.1.1-with-examples.diff
>>> md5 files   ;-) files/qsa-1.1.1-without-examples-using-ide.diff
>>> md5 files   ;-) files/qsa-1.1.1-without-examples.diff
>>> md5 files   ;-) files/digest-qsa-1.2.1
>>> md5 src_uri ;-) qsa-x11-free-1.0.1.tar.gz
>>> Unpacking source...
>>> Unpacking qsa-x11-free-1.0.1.tar.gz to /var/tmp/portage/qsa-1.0.1/work
>>> Source unpacked.
 * Applying qsa-1.0.1-no-examples.diff ...                                                       [ ok ]
 * Applying qsa-1.0.1-sandbox-fix.diff ...                                                       [ ok ]
Using Qt library in /usr/qt/3.
Building 2nd stage configure
Qt meta object compiler
moc: Invalid argument
Usage:  moc [options] <header-file>
        -o file    Write output to file rather than stdout
        -f[file]   Force #include, optional file name
        -p path    Path prefix for included file
        -i         Do not generate an #include statement
        -k         Do not stop on errors
        -nw        Do not display warnings
        -v         Display version of moc
make: *** [.moc/release-shared-mt/configutils.moc] Error 1

!!! ERROR: dev-libs/qsa-1.0.1 failed.
!!! Function src_compile, Line 20, Exitcode 1
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.
#############################################

After that I've modifid the qsa 1.1.1 ebuild to build the 1.2.1 for QT 4.1:


############################ qsa-1.2.1.ebuild ############################
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/qsa/qsa-1.1.1.ebuild,v 1.4 2005/07/25 15:40:59 caleb Exp $

inherit eutils qt4

S="${WORKDIR}/${PN}-x11-opensource-${PV}"

DESCRIPTION="Qt Script for Applications, a ECMAScript based scripting toolkit for making customizable Qt/C++ applications."
SRC_URI="ftp://ftp.trolltech.com/qsa/source/${PN}-x11-opensource-${PV}.tar.gz"
HOMEPAGE="http://www.trolltech.com/"
LICENSE="GPL-2"

SLOT="0"
KEYWORDS="x86 ~amd64"
IUSE="doc examples ide threads"
DEPEND="$(qt_min_version 4.1)"

src_compile() {
        local myconf="-prefix ${D}${QTDIR}"

        use threads && myconf="${myconf} -thread"

# I've remoed al old patches....
#       if ! use ide; then
#               myconf="${myconf} -no-ide"
#               #epatch ${FILESDIR}/${P}-without-examples-using-ide.diff
#       fi
#
#       if use examples; then
#               #epatch ${FILESDIR}/${P}-with-examples.diff
#               #epatch ${FILESDIR}/${P}-example-enums.pro.diff
#       else
#               #epatch ${FILESDIR}/${P}-without-examples.diff
#       fi

        #epatch ${FILESDIR}/${P}-sandbox-fix.diff

        ./configure ${myconf} || die
        emake || die
}

src_install() {
        into ${QTDIR}

        #includes
        insinto ${QTDIR}/include
        doins src/qsa/qsaglobal.h
        doins src/qsa/qsconfig.h
        doins src/qsa/qsargument.h
        doins src/qsa/qsproject.h
        doins src/qsa/qsinterpreter.h
        doins src/qsa/qseditor.h
        doins src/qsa/qsutilfactory.h
        doins src/qsa/qswrapperfactory.h
        doins src/qsa/qsobjectfactory.h
        doins src/qsa/qsscript.h
        doins src/qsa/qsinputdialogfactory.h
        doins src/ide/qsworkbench.h

        #QSA mkspec feature
        insinto ${QTDIR}/mkspecs/${QMAKESPEC}
        doins src/qsa/qsa.prf

        #libs
        dolib lib/libqsa.so.1.1.1
        cd ${D}/${QTDIR}/lib
        ln -s libqsa.so.1.1.1 libqsa.so.1.1
        ln -s libqsa.so.1.1 libqsa.so.1
        ln -s libqsa.so.1 libqsa.so
        cd -
        insinto ${QTDIR}/lib
        doins lib/libqsa.prl

        #QSA plugin (SEditor) for Qt designer
        insinto ${QTDIR}/plugins/designer
        doins plugins/designer/libqseditorplugin.so

        #documentation
        if use doc; then
                dohtml -A dcf -r doc/html/*
        fi

        #examples
        if use examples; then
                insinto /usr/share/doc/${PF}
                doins -r examples
        fi

        dodoc README changes-1.1.1
}

pkg_postinst(){
        if use doc && [ "${ROOT}" = "/" ]; then
                #include QSA Documentation content file into assistant
                assistant -addContentFile /usr/share/doc/${PF}/html/qsa.dcf
                assistant -addContentFile /usr/share/doc/${PF}/html/extensions.dcf
                assistant -addContentFile /usr/share/doc/${PF}/html/language.dcf
                assistant -addContentFile /usr/share/doc/${PF}/html/qtscripter.dcf
                assistant -addContentFile /usr/share/doc/${PF}/html/qt-script-for-applications.dcf
        fi
}

pkg_prerm(){
        if use doc && [ "${ROOT}" = "/" ]; then
                #remove QSA Documentation content file into assistant
                assistant -removeContentFile /usr/share/doc/${PF}/html/qsa.dcf
                assistant -removeContentFile /usr/share/doc/${PF}/html/extensions.dcf
                assistant -removeContentFile /usr/share/doc/${PF}/html/language.dcf
                assistant -removeContentFile /usr/share/doc/${PF}/html/qtscripter.dcf
                assistant -removeContentFile /usr/share/doc/${PF}/html/qt-script-for-applications.dcf
        fi
}
############################################################################

executing this script gives the same result as running ./configure:

Using Qt library in /usr/qt/3.
Building 2nd stage configure
main.cpp:26:30: qcoreapplication.h: No such file or directory
main.cpp: In function `void dumpMessages()':
main.cpp:34: error: `QLatin1String' was not declared in this scope
main.cpp:34: error: `qPrintable' was not declared in this scope
main.cpp:34: warning: unused variable 'QLatin1String'
main.cpp:34: warning: unused variable 'qPrintable'
main.cpp: In function `int main(int, char**)':
main.cpp:50: error: `QCoreApplication' was not declared in this scope
main.cpp:50: error: expected `;' before "qapp"
main.cpp:63: error: `qapp' was not declared in this scope
main.cpp:70: error: conversion from `QValueListIterator<QString>' to non-scalar type `QString' requested
main.cpp:71: error: `QLatin1String' was not declared in this scope
main.cpp:71: warning: unused variable 'QLatin1String'
main.cpp:73: error: `QLatin1String' was not declared in this scope
main.cpp:77: error: no matching function for call to `QString::QString(QValueListIterator<QString>)'
/usr/qt/3/include/qstring.h:746: note: candidates are: QString::QString(QStringData*, bool)
/usr/qt/3/include/qstring.h:720: note:                 QString::QString(int, bool)
/usr/qt/3/include/qstring.h:409: note:                 QString::QString(const std::string&)
/usr/qt/3/include/qstring.h:406: note:                 QString::QString(const char*)
/usr/qt/3/include/qstring.h:404: note:                 QString::QString(const QChar*, uint)
/usr/qt/3/include/qstring.h:403: note:                 QString::QString(const QByteArray&)
/usr/qt/3/include/qstring.h:402: note:                 QString::QString(const QString&)
/usr/qt/3/include/qstring.h:401: note:                 QString::QString(QChar)
/usr/qt/3/include/qstring.h:838: note:                 QString::QString()
main.cpp:100: error: `qPrintable' was not declared in this scope
main.cpp:100: warning: unused variable 'qPrintable'
main.cpp:105: error: `qgetenv' was not declared in this scope
main.cpp:107: error: `qPrintable' was not declared in this scope
main.cpp:107: warning: unused variable 'qPrintable'
main.cpp:111: error: `QLatin1String' was not declared in this scope
main.cpp:50: warning: unused variable 'QCoreApplication'
main.cpp:105: warning: unused variable 'qgetenv'
main.cpp: At global scope:
main.cpp:38: warning: unused parameter 'argc'
main.cpp:38: warning: unused parameter 'argv'
make: *** [.obj/release-shared-mt/main.o] Error 1

!!! ERROR: dev-libs/qsa-1.2.1 failed.
!!! Function src_compile, Line 38, Exitcode 1
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

##########

Why /usr/qt/3/ ??? echo $QTDIR gives /usr/qt/4. There's a bug that I can't find

It's impossilble to run ./configure it could be an QT bug....

#######################################################################

emerge --info
Portage 2.0.54 (default-linux/x86/2005.1, gcc-3.4.5, glibc-2.3.4.20041102-r1, 2.6.16.5 i686)
=================================================================
System uname: 2.6.16.5 i686 Unknown CPU Typ
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5-r2
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -funroll-loops"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -funroll-loops"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/local"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowext X acpi alsa apm audiofile avi berkdb bitmap-fonts browserplugin bz2 bzip2 cairo cdr cli cpudetection crypt cups curl dga doc dri dvb dvd dvdread eds emboss encode exif expat f77 fam ffmpeg flac foomaticdb fortran gd gdbm gif gimp gimpprint glut gmp gnome gpm graphviz gstreamer gtk gtk2 gtkhtml i8x0 idn imagemagick imlib ipv6 isdnlog jack jack-tmpfs java joystick jpeg kde kdeenablefinal ladcca ladspa lcms libg++ libsamplerate libwww lirc lm_sensors lua mad mikmod mmx mmxext mng motif mozilla mp3 mpeg mysql ncurses nls nsplugin ogg oggvorbis openal openexr opengl openntpd oss pam pcre pdf pdflib perl plib png portaudio povray pppd python qt quicktime readline recode reflection samba scanner sdl session smp sndfile soundtouch speex spell spl sse ssl svg tcltk tcpd theora threads tiff truetype truetype-fonts type1-fonts udev usb v4l vcd videos vidix visualization vorbis win32codecs wmf xine xml xml2 xmms xorg xprint xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Caleb Tennis (RETIRED) gentoo-dev 2006-05-03 05:29:36 UTC
I've just made a change to the qt3.eclass tha should fix this problem (for qsa-1.1.1).  Try syncing in about 30 minutes and see if it's fixed for you.
Comment 2 oc2k1 2006-05-03 06:49:50 UTC
Oh no it's not fixed. Not for me...

>>> Unpacking qsa-x11-free-1.1.1.tar.gz to /var/tmp/portage/qsa-1.1.1/work
>>> Source unpacked.
 * Applying qsa-1.1.1-without-examples-using-ide.diff ...              [ ok ]
 * Applying qsa-1.1.1-without-examples.diff ...                        [ ok ]
 * Applying qsa-1.1.1-sandbox-fix.diff ...                             [ ok ]
Using Qt library in /usr/qt/3.
Building 2nd stage configure
Qt meta object compiler
moc: Invalid argument
Usage:  moc [options] <header-file>
        -o file    Write output to file rather than stdout
        -f[file]   Force #include, optional file name
        -p path    Path prefix for included file
        -i         Do not generate an #include statement
        -k         Do not stop on errors
        -nw        Do not display warnings
        -v         Display version of moc
make: *** [.moc/release-shared-mt/configutils.moc] Error 1

!!! ERROR: dev-libs/qsa-1.1.1 failed.
!!! Function src_compile, Line 38, Exitcode 1
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

I thing that I should build a new gentoo :(
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2006-05-10 12:00:17 UTC
I think you've modified something on your system related to Qt that's causing the problem (QTDIR, QMAKESPEC, some other setting..?) :



Calculating dependencies... done!
>>> Emerging (1 of 1) dev-libs/qsa-1.1.1 to /
>>> checking ebuild checksums ;-)
>>> checking auxfile checksums ;-)
>>> checking miscfile checksums ;-)
>>> checking qsa-x11-free-1.1.1.tar.gz ;-)
>>> Unpacking source...
>>> Unpacking qsa-x11-free-1.1.1.tar.gz to /var/tmp/portage/qsa-1.1.1/work
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/qsa-1.1.1/work/qsa-x11-free-1.1.1 ...
 * Applying qsa-1.1.1-without-examples-using-ide.diff ...                                                         [ ok ]
 * Applying qsa-1.1.1-without-examples.diff ...                                                                   [ ok ]
 * Applying qsa-1.1.1-sandbox-fix.diff ...                                                                        [ ok ]
Using Qt library in /usr/qt/3.
Building 2nd stage configure
Configuration completed successfully
Run your make tool to build QSA
make -f Makefile.qsa
make[1]: Entering directory `/var/tmp/portage/qsa-1.1.1/work/qsa-x11-free-1.1.1'
cd configure2 && make -f Makefile
make[2]: Entering directory `/var/tmp/portage/qsa-1.1.1/work/qsa-x11-free-1.1.1/configure2'
make[2]: Nothing to be done for `first'.
make[2]: Leaving directory `/var/tmp/portage/qsa-1.1.1/work/qsa-x11-free-1.1.1/configure2'
cd src && qmake src.pro "CONFIG+=noide xml table sql network" "QSA_INSTALL_PREFIX=/var/tmp/portage/qsa-1.1.1/image//usr/qt/3" -o Makefile
cd src && make -f Makefile
Comment 4 oc2k1 2006-05-10 13:43:56 UTC
No, I've reinstalled my system. There's no problem if only QT3 ist installed. If I install QT4, I can't use anything of that two. It's impossible to compile QSA1.2.1 if QT4 ist installed, because, the Makefiles are mixed with QT3 and QT4 Parts.

After I unmerged QT4, I have no problem, but I can't write code for QT4... 
Comment 5 oc2k1 2006-05-10 13:44:13 UTC
No, I've reinstalled my system. There's no problem if only QT3 ist installed. If I install QT4, I can't use anything of that two. It's impossible to compile QSA1.2.1 if QT4 ist installed, because, the Makefiles are mixed with QT3 and QT4 Parts.

After I unmerged QT4, I have no problem, but I can't write code for QT4...