PDA

View Full Version : upgrading qt on slackware 8.0



NoUse
01-09-2002, 01:17 PM
i'm trying to compile qt version 2.3.2 on slackware 8, and i run into some problems. i have updated gcc to version 3.03. it looks to me (although i am a noob) that i'm missing libmng.h. if anybody has an idea of what i need to do to fix this problem, like install some package i missed or download that particular header file and put it somewhere, i'd be grateful. here's the dump of the error i got.



kernel/qmngio.cpp:50:20: libmng.h: No such file or directory
kernel/qmngio.cpp:72: `mng_ptr' was not declared in this scope
kernel/qmngio.cpp:72: parse error before `,' token
kernel/qmngio.cpp:101: `mng_int32' was not declared in this scope
kernel/qmngio.cpp:101: parse error before `,' token
kernel/qmngio.cpp:118: `mng_uint32' was not declared in this scope
kernel/qmngio.cpp:118: parse error before `,' token
kernel/qmngio.cpp:129: `mng_uint32' was not declared in this scope
kernel/qmngio.cpp:129: parse error before `)' token
kernel/qmngio.cpp: In member function `bool QMNGFormat::readdata(...)':
kernel/qmngio.cpp:74: `ndata' undeclared (first use this function)
kernel/qmngio.cpp:74: (Each undeclared identifier is reported only once for
each function it appears in.)
kernel/qmngio.cpp:74: `nbuffer' undeclared (first use this function)
kernel/qmngio.cpp:74: `ubuffer' undeclared (first use this function)
kernel/qmngio.cpp:75: `iBuflen' undeclared (first use this function)
kernel/qmngio.cpp:78: `pRead' undeclared (first use this function)
kernel/qmngio.cpp:82: `pBuf' undeclared (first use this function)
kernel/qmngio.cpp:82: `buffer' undeclared (first use this function)
kernel/qmngio.cpp:89: `mng_ptr' undeclared (first use this function)
kernel/qmngio.cpp:95: `data' undeclared (first use this function)
kernel/qmngio.cpp: In member function `bool QMNGFormat::errorproc(...)':
kernel/qmngio.cpp:110: `iErrorcode' undeclared (first use this function)
kernel/qmngio.cpp:110: `zErrortext' undeclared (first use this function)
kernel/qmngio.cpp:111: `iChunkname' undeclared (first use this function)
kernel/qmngio.cpp:115: `iExtra1' undeclared (first use this function)
kernel/qmngio.cpp:115: `iExtra2' undeclared (first use this function)
kernel/qmngio.cpp: In member function `bool QMNGFormat::processheader(...)':
kernel/qmngio.cpp:120: `image' undeclared (first use this function)
kernel/qmngio.cpp:120: `iWidth' undeclared (first use this function)
kernel/qmngio.cpp:120: `iHeight' undeclared (first use this function)
kernel/qmngio.cpp:123: `consumer' undeclared (first use this function)
kernel/qmngio.cpp:124: `handle' undeclared (first use this function)
kernel/qmngio.cpp:126: `MNG_CANVAS_BGRA8' undeclared (first use this function)
kernel/qmngio.cpp:126: `MNG_CANVAS_ARGB8' undeclared (first use this function)
kernel/qmngio.cpp:126: `mng_set_canvasstyle' undeclared (first use this
function)
kernel/qmngio.cpp: At global scope:
kernel/qmngio.cpp:133: ISO C++ forbids defining types within return type
kernel/qmngio.cpp:133: syntax error before `(' token
kernel/qmngio.cpp:136: syntax error before `->' token
kernel/qmngio.cpp:137: syntax error before `->' token
kernel/qmngio.cpp:138: syntax error before `->' token
kernel/qmngio.cpp:141: parse error before `)' token
kernel/qmngio.cpp:145: `mng_uint32' was not declared in this scope
kernel/qmngio.cpp:145: parse error before `)' token
kernel/qmngio.cpp: In function `bool settimer(...)':
kernel/qmngio.cpp:147: `iMsecs' undeclared (first use this function)
kernel/qmngio.cpp:149: `state' undeclared (first use this function)
kernel/qmngio.cpp:149: `Time' undeclared (first use this function)
kernel/qmngio.cpp:150: `losingtimer' undeclared (first use this function)
kernel/qmngio.cpp:151: `losttime' undeclared (first use this function)
kernel/qmngio.cpp: At global scope:
kernel/qmngio.cpp:155: parse error before `private'
kernel/qmngio.cpp:157: ISO C++ forbids declaration of `state' with no type
kernel/qmngio.cpp:157: `int state' used prior to declaration
kernel/qmngio.cpp:160: 'mng_handle' is used as a type, but is not defined as a
type.
kernel/qmngio.cpp:163: `uchar*buffer' used prior to declaration
kernel/qmngio.cpp:165: `uint nbuffer' used prior to declaration
kernel/qmngio.cpp:169: `QTime losingtimer' used prior to declaration
kernel/qmngio.cpp:170: `int losttime' used prior to declaration
kernel/qmngio.cpp:181: `const uchar*data' used prior to declaration
kernel/qmngio.cpp:182: `uint ndata' used prior to declaration
kernel/qmngio.cpp:183: `uint ubuffer' used prior to declaration
kernel/qmngio.cpp:184: `QImageConsumer*consumer' used prior to declaration
kernel/qmngio.cpp:185: `QImage*image' used prior to declaration
kernel/qmngio.cpp:186: parse error before `}' token
kernel/qmngio.cpp: In constructor `QMNGFormat::QMNGFormat()':
kernel/qmngio.cpp:276: `MovieStart' undeclared (first use this function)
kernel/qmngio.cpp: At global scope:
kernel/qmngio.cpp:294: syntax error before `(' token
kernel/qmngio.cpp:298: syntax error before `(' token
kernel/qmngio.cpp:302: syntax error before `(' token
kernel/qmngio.cpp:306: syntax error before `(' token
kernel/qmngio.cpp:318: syntax error before `(' token
kernel/qmngio.cpp:323: syntax error before `(' token
kernel/qmngio.cpp:327: syntax error before `(' token
kernel/qmngio.cpp:335: syntax error before `(' token
kernel/qmngio.cpp:339: syntax error before `(' token
kernel/qmngio.cpp:344: syntax error before `(' token
kernel/qmngio.cpp:348: `mng_ptr' was not declared in this scope
kernel/qmngio.cpp:348: parse error before `,' token
kernel/qmngio.cpp: In function `void memfree(...)':
kernel/qmngio.cpp:350: `iPtr' undeclared (first use this function)
kernel/qmngio.cpp: In member function `virtual int QMNGFormat::decode(QImage&,
QImageConsumer*, const uchar*, int)':
kernel/qmngio.cpp:369: parse error before `this'
kernel/qmngio.cpp:370: `MNG_TRUE' undeclared (first use this function)
kernel/qmngio.cpp:370: `mng_set_suspensionmode' undeclared (first use this
function)
kernel/qmngio.cpp:371: `::openstream' undeclared (first use here)
kernel/qmngio.cpp:371: `mng_setcb_openstream' undeclared (first use this
function)
kernel/qmngio.cpp:372: `::closestream' undeclared (first use here)
kernel/qmngio.cpp:372: `mng_setcb_closestream' undeclared (first use this
function)
kernel/qmngio.cpp:373: `::readdata' undeclared (first use here)
kernel/qmngio.cpp:373: `mng_setcb_readdata' undeclared (first use this
function)
kernel/qmngio.cpp:374: `::errorproc' undeclared (first use here)
kernel/qmngio.cpp:374: `mng_setcb_errorproc' undeclared (first use this
function)
kernel/qmngio.cpp:375: `::processheader' undeclared (first use here)
kernel/qmngio.cpp:375: `mng_setcb_processheader' undeclared (first use this
function)
kernel/qmngio.cpp:376: `::getcanvasline' undeclared (first use here)
kernel/qmngio.cpp:376: `mng_setcb_getcanvasline' undeclared (first use this
function)
kernel/qmngio.cpp:377: `::refresh' undeclared (first use here)
kernel/qmngio.cpp:377: `mng_setcb_refresh' undeclared (first use this
function)
kernel/qmngio.cpp:378: `::gettickcount' undeclared (first use here)
kernel/qmngio.cpp:378: `mng_setcb_gettickcount' undeclared (first use this
function)
kernel/qmngio.cpp:379: `mng_setcb_settimer' undeclared (first use this
function)
kernel/qmngio.cpp:380: `Data' undeclared (first use this function)
kernel/qmngio.cpp:381: `mng_readdisplay' undeclared (first use this function)
kernel/qmngio.cpp:387: `mng_display_resume' undeclared (first use this
function)
kernel/qmngio.cpp: At top level:
kernel/qmngio.cpp:349: warning: `void memfree(...)' defined but not used
make[3]: *** [kernel/qmngio.o] Error 1
make[3]: Leaving directory `/usr/lib/qt/src'
make[2]: *** [src-mt] Error 2
make[2]: Leaving directory `/usr/lib/qt'
make[1]: *** [src-mt] Error 2
make[1]: Leaving directory `/usr/lib/qt'
make: *** [init] Error 2
bash-2.05#

Yendor
01-09-2002, 03:00 PM
You need to install the development portion of libmng (however slackware manages packages, I don't know).

You could also *not* include the -system-libmng option when you configure qt, then it would build libqt without libmng support which *i think* is ok for showeq.

Good luck.

Similarly you will need libjpeg/libpng development packages or not include the associated "-system-???" options when configuring.

NoUse
01-09-2002, 05:16 PM
thanks yenndor...

i found those files from the redhat ftp site, then tried to install them with kde's package mangement tool. one of them installed fine, but the other two had some big dependency errors and confused me. so i just did make clean then configure again without those three options and after about an hour and a half it was finally done compiling successfully. :)

i wasnt able to find those files as slackware packages, but i'm pretty new to this all so i may have just missed something. if any slackware users out there have some thought's i'd appreciate it. anyhow qt compiled so i'm not too worried about it.

wo0t!

IgorVT
01-10-2002, 10:49 AM
Yendor is correct. I just left out the libmng when I compiled qt-3.2.2. It should work fine after that. Also make sure you rename or move the /usr/lib/libqt-* files because slackware is set to look for the qt files in /usr/lib instead of the QTDIR. So when you run the configure program it always finds the damn qt-2.3.1 libs instead of the newer ones you made. This annoyed me for a while till I finally figured it out :)

After moving those files or renaming them, just set your QTDIR to /usr/lib/qt-2.3.2 in your .bashrc file like the other howto's on the board explain and you should be good to go.

NoUse
01-10-2002, 11:07 AM
in the INSTALL file that came with qt 2.3.2, it suggests to put it in /usr/local/qt or something like that, then adding the environment variables to .profile in your login directory. i found that slackware was using /usr/lib/qt, so i moved all that stuff to /usr/lib/qtbak and put the new stuff in /usr/lib/qt so i wouldnt have to mess with the .profile stuff or modifying that. i figured it would be easier. anyway, it seemed to be because it worked fine. :)

Yendor
01-10-2002, 12:26 PM
You can also use --with-qt-dir=/path/to/qt

when configuring showeq to have it find the proper qt. this is the preferred method as it allows the system qt to remain installed for the applications that need it.

(setting QTDIR environment variable has the same effect)