Threaded and deprecated Qt

Sebastian M=?ISO-8859-1?B?/A==?=sch sebastian at sebastian-muesch.de
Wed Aug 17 23:04:20 UTC 2005


Hi,

Once upon a time Douglas Alves wrote:

> Derek Broughton wrote:
>>  if you want to use non-ubuntu software with Ubuntu,
> 
> non-ubuntu software?!!! I understand Ubuntu maintainers customize some
> packages to work seamlessly here, but thought any Debianized software
> could be installed without trouble!

As I've seen this software is in early development-stage or the developers
don't know what they are doing, this software is not worth getting
debianized until it get's more stable. But that's just my opinion.

>> you need to figure out where it is going to look for these things.  Then
>> either
>> change the make file for OpenKiosk, or make symlinks from where it expects
>> to find software to where you have it.
> 
> Now here I'm really going to have to learn Linux ways!
> Could you guys give me some help with this?
> I guess you'd prefer to point me to some How-To on editing make files.
> What should I look for, in general, to change inside the configure
> script?

First try with the configure script ... "./configure --help" should give you
"some" options. As within ubuntu nothing is installed within /usr/local, you
should always use the parameter "--prefix=/usr". Next check the configure
log files and check where the script aborted. Sometimes the configure
scripts uses some strange ways to detect libraries. Maybe it compiles one
source file against a library and check if the result is ok. But if there's
missing a tool on your system used for compilation within this check, the
check would fail and you get an error of a missing library. Just for
example.


So as I can see nodeview has a very strange - almost non existing -
configure script, this program is not a good example ;-)

The program seems to have following depencies:
- For usage (as the documentation tells):
libdb4.3
libqt3

- for compiling (we need all corresponding dev-packages and the headers):
libqt3-dev
libqt3-headers
libdb4.3-dev

Now checked and seen, that the configure-script aborted, because it didn't
found berkeley-db. A look at the configure script. It checks on a hardcoded
path for the library!!! Change line 34 to
----------------
elif [ -f "/usr/include/db.h" ]
----------------

And line 39 to
----------------
echo "/usr/include/db.h"
----------------

That's it for BerkeleyDB. Now the script complains about QT. Again check the
script. It's reading an environment-variable. As ubuntu is not targeted for
QT this variable won't be set. So a "export QTDIR=/usr" would do the trick.
Tried again. Now it complains that qmake is missing. Done "apt-cache search
qmake" and found qt3-dev-tools. So installed it, including depencies
(libqt3c102-mt).

Next try. Configure runs trough. But we should change line 182 to
----------------
    target.path = /usr/bin
----------------
to get nodeview installed within the normal paths.

So the next step ;-) Compiling. Initiating make and it runs until errors of
missing header-files qtlabel.h and so on. As this are parts of the
windowing-framework installing "libqt3-mt-dev" with all depencies did the
trick.

Next try. "make clean" to delete the already compiled files, and than "make"
again. Many errors. Checking for the first one we found "mydb.h:24:20" the
headerfile "db4/db.h" is missing. Hardcoded paths within the sources? Damn
developer!!! Checked the file nodeview/mydb.h and replaced lines 21-25 by
----------------
#include <db.h>
----------------

Next try. "make clean" then "make". Again an error telling "qtlist.h" is
missing. This is part of "libqt3-compat-headers" ... Headers from qt1 and
qt2 ... A quote from openkiosk homepage, requirements "Qt version 3.x" ...
Seems like the developers needs to read the qt-docs and learn to know what
the word "deprecated" means ... Installed libqt3-compat-headers". Let's try
the compilation again. "make clean" then "make" again :-(

Wow. The compilation went through !!!

Next Step. Installation. First check if the make file contains an uninstall
target by running "make uninstall". It has, but tells "noting to do" for
sure as we didn't install nodeview until now. Next install it by calling
"sudo make install".

Next step. Testing. As I have no clients available I just started the
application and clicked through the preferences. Seems ok.

Next step. Uninstalling. "make uninstall" removes the binary.

So, I hope you got through this tutorial. Now it's imho YOUR JOB to extract
the needed information from this mail to write a step-by-step howto and send
it to the developers of nodeview AND write it down in the ubuntu-wiki. If
you think it's a software of use for the ubuntu-community, make a step
further and debianize this program ( http://www.debian.org/doc/maint-guide/
) and send it to the maintainers and talk to the universe-maintainers.

Cu
Sebastian

P.S.: I know the developers of openkiosk did a great job, by writing this
peace of software for the opensource-community. Everything complaining
within this email refelcts just thoughts and not worth to be quoted ;-)

BTW: Please don't merge different replies. This is really confusing within
most "good" thread-capable email clients.

-- 
        .:'
     _ :'_
   .`_`-'_`.     Sebastian Müsch
  :__|\ /|__:      sebastian at sebastian-muesch.de
  :__| S |__:
  :__|   |__:     iTunes ist aus :-(
   `._.-._.'






More information about the ubuntu-users mailing list