1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
<html>
<head>
<title>Troubleshooting</title>
<link rel="stylesheet" href="camstream.css" type="text/css">
</head>
<body>
<p><a href="index.html" target="_top">Frames</a></p>
<h1>Troubleshooting</h1>
<p>Here are some common problems users have encountered while running or
compiling CamStream. You may find the answer to your question here if you
are having trouble.</p>
<p><b>Note!</b> The daily snapshot of CamStream may not build or work at all! Do not
expect me to support it fully; of course you can mail me a report so
that I am aware of the problem, but don't expect me to fix it overnight. In stead,
you are invited to fix it yourself and tell me how you did it.</p>
<h2>Index</h2>
<p>
<ol>
<li><a href="#sec1">Building problems</a>
<ol>
<li><a href="#sec1.1">Qt library/headerfiles not found</a></li>
<li><a href="#sec1.2">Qt 3</a></li>
<li><a href="#sec1.3">./configure runs okay, but make says 'uic not found'</a></li>
</ol>
</li>
<li><a href="#sec2">Running CamStream</a>
<ol>
<li><a href="#sec2.1">Crash after a few minutes of uploading</a>
</ol>
</li>
</ol>
<h2><a name="sec1">Building problems</a></h2>
<h3><a name="sec1.1">Qt library/headerfiles not found</a></h3>
<p>RedHat users: check if qt3-devel is installed!</p>
<p>A common problem is that Linux distributors place the Qt libraries
at the weirdest places... The <span class="filename">configure</span> script
checks the most common directories, but can't really test them all. So, if
<span class="filename">configure</span> complains it can't locate the Qt
libraries, you must first set the QTDIR environment variable (this is a
requirement anyhow). So, if your Qt libraries are placed in, for example,
<span class="filedir">/usr/lib/qt-2.3.0</span>, try this:
<p><pre>
# QTDIR=/usr/lib/qt-2.3.0
# export QTDIR
# ./configure [options]
</pre>
<p>This is also the location where the <span class="filename">uic</span>
User Interface Compiler and <span class="filename">moc</span> pre-processor
are supposed to be. If not, make sure these can be found in your PATH!</p>
<p>Another source of confusion is that often the library is present, but not
the header files. It turns out that some distributors (Red Hat, SuSe) split
the Qt package in two parts: just the library, and the header files and
development tools. On your system only the library is installed (this
appears to be the default), which is enough to run programs but not to
compile them!</p>
<p>In that case you have to install the 'qt-dev' package as well. For
example, if you installed the <b>qt-3.0.3</b> rpm on Red Hat, you must
install <b>qt-devel-3.0.3</b> too. Of course the version numbers have to
match! The package name may be slightly different for different systems.</p>
<h3><a name="sec1.2">Qt 3.* (obsolete, fixed in camstream 0.26)</a></h3>
<p>Compilation fails under Qt 3.* with the following error:
<pre>
c++ -I/usr/include/qt -g -Wall -I. -I.. -I../devices -I../video -DHAVE_CONFIG_H -c -o SnapshotSettingsDlg.moc.o SnapshotSettingsDlg.moc.cc
In file included from SnapshotSettingsDlg.h:8,
from SnapshotSettingsDlg.moc.cc:11:
../VideoOptions.h:17: syntax error before ;'
make[1]: *** [SnapshotSettingsDlg.moc.o] Error 1
make[1]: Leaving directory /usr/src/camstream-0.25/src/gui'
make: *** [subdirs] Error 2
</pre>
<p>This is due to incompatibilities in the header files. You should use Qt
2.2.* or 2.3.*; you can install this Qt library parallel to Qt 1.* and Qt
3.*; just make sure your QTDIR environment variable points to the correct
path.</p>
<p>I do not intend to port CamStream to Qt 3 yet. The reason is that it
involves upgrading the .ui files (used for dialog design), and once I've
done that, there is no way back. In other words, I would force users to
upgrade/install Qt 3 and I don't want to do that now.</p>
<h3><a name="sec1.3">./configure runs okay, but make says 'uic not found'</a></h3>
<p>Occasionally I get report where <span class="command">./configure</span> runs
okay, but make fails like follows:
<pre>
make[1]: Entering directory `/home/trevor/camstream-0.26.2/lib/ccvt'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/trevor/camstream-0.26.2/lib/ccvt'
make[1]: Entering directory `/home/trevor/camstream-0.26.2/camstream'
make -C gui
make[2]: Entering directory `/home/trevor/camstream-0.26.2/camstream/gui'
/usr/local/bin/uic -o ChannelSelector.h ChannelSelector.ui
<font color="#ff3333">make[2]: /usr/local/bin/uic: Command not found</font>
make[2]: *** [ChannelSelector.h] Error 127
make[2]: Leaving directory `/home/trevor/camstream-0.26.2/camstream/gui'
make[1]: *** [gui] Error 2
make[1]: Leaving directory `/home/trevor/camstream-0.26.2/camstream'
make: *** [all] Error 2
</pre>
<p>The line highlighted in red means one of two things. Either haven't installed the Qt library at
all (this varies greatly between distro's so I cannot tell you how),
or you have installed the Qt library, but it's not in one of it's default locations
and you haven't set your QTDIR environment variable. You must locate this directory, then set QTDIR:
<pre>export QTDIR=/path/to/qt/library</pre>
<p>Alternatively, you can make a symlink in /usr/lib/ or /usr/local/lib
(BTW, uic isn't really installed in /usr/local/bin, but a default choosen by
./configure). </p>
<h2><a name="sec2">Running CamStream</a></h2>
<p>This sections lists problems and bugs that are encountered when
running the program.</p>
<h3><a name="sec2.1">Crash after a few minutes of uploading</a></h3>
<p>(This applies to CamStream 0.25)</p>
<p>After 10-15 minutes of FTP-ing images to the server, the program may
crash. This is due to a bug in the Qt libraries, when the first FTP
connection to the server times out and gets closed remotely. I mailed
Trolltech about it and they are aware of the problem, but basicly they tell
me they are much more busy with other bugs :-(. I am not satisfied with
their FTP class anyway. It lacks a number of features and their
implementation is quite braindead (it opens a new connection for every FTP
session, even to the same computer and account). This problem has been
reported in Qt 2.2.2, 2.2.4 and 2.3.0.</p>
</body>
</html>
|