
----- Original Message ----- From: "Peter Zabelt" <pzabelt@sz-online.de> To: <suse-ham@suse.com> Sent: Tuesday, October 22, 2002 9:00 AM Subject: Re: [suse-ham] Kompilieren des gepatchten qsstv 5.0g Hallo Heiko! Danke für Deine Mühe! Ich werde mal versuchen, alles "Live" an meiner SuSE 8.1 nachzuvollziehen...
qsstv.o: In function `main': qsstv.o(.text+0x15): undefined reference to `qInitJpegIO()' hmmm...hast du die include-files für die libjpeg bzw. QT installiert ??? Ich denke da liegt das problem...oder dein system hat eine zu alte (oder zu neue ?) libjpeg.so
Was evtl. noch fehlte: libgnome-devel, tiff, ...jetzt installiert.
Oder QT ist nicht so übersetzt wie es sein sollte, kann ich jetzt hier nicht aus dem Stehgreif beantworten...
Hmmm... wie ist QT bei SuSE übersetzt? tja, dass kann ich eben nicht beantworten, da ich selbst kein SuSE fahre....
Man benötigt meistens immer auch von diversen libraries die sog. devel-pakete. Indiesen sind sog. include-Dateien, welche der Compiler und der linker beim erzeugen eines programmes benötigt. Meistens heissen diese Pakete 'libjpeg-X.X.X.-devel.rpm',
Ein solches Paket finde ich bei der 8.1 nicht.
eine externe lib, meinetwegen die libjpeg.so.X.X.X .Auch beim QT _muessen_ die qt-X.X:X-devel.rpm installiert sein.
sowohl für qt2 als auch für qt3.
Man muss auch eine Variable QTDIR setzen, damit der linker weiss, wo sich das QT-zeugs auf deinem rechner befindet. Bei mir isses z.B. unter /usr/lib/qt3 installiert, kann aber auf anderen
...bei mir auch.
Compilieren sollte man (meistens) immer als 'root', da ggf. systemrechte benötigt werden.
Gleicher Fehler, egal, ob als root oder Normaluser.
wenns noch fragen gibt, bitte stellen, ich werde versuchen, die probleme hier zu lösen oder lösungsansätze zu geben.
Danke für die Mühe!
Hat denn nun schon jemand das qsstv nach meinem patch erfolgreich übersetzt und am laufen ???
Nein, leider nicht! Weder als root aus /usr/local/src heraus, noch als user im home-Verzeichnis, und das, nachdem ich nun alle möglichen devel- und header-rpms eingespielt habe. Srry, habe leider keine Ahnung vom Programmieren...! Fehler bleibt derselbe: ************** libtool: ignoring unknown tag CXX mkdir .libs g++ -O2 -fno-exceptions -fno-check-new -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -Wnon-virtual-dtor -fno-builtin -o qsstv fft.o helper.o rxtxcommon.o pixmapview.o fax.o filterparam.o debugger.o ledbar.o dirdialog.o zoomwindow.o vumeter.o txwindow.o thumbwindow.o thumbframe.o synthes.o syncdisplay.o sstvtx.o sstvrx.o sstvparam.o spectrumdisplay.o soundcard.o slantadjust.o rxwindow.o repeater.o recorder.o qsstvglobal.o qsstv.o ptext.o pstyleData.o pstyle.o paint.o imageframe.o ftp.o freqdiag.o filefunc.o dspfunc.o cw.o ctext.o cpixmap.o configtable.o configfile.o configdiag.o posform.o zoomform.o recform.o ftpform.o freqform.o configform.o textselect.o helper.moc.o fft.moc.o pstyle.moc.o rxwindow.moc.o soundcard.moc.o freqdiag.moc.o txwindow.moc.o vumeter.moc.o pixmapview.moc.o ftp.moc.o thumbframe.moc.o configdiag.moc.o slantadjust.moc.o imageframe.moc.o dspfunc.moc.o ptext.moc.o recorder.moc.o thumbwindow.moc.o repeater.moc.o sstvrx.moc.o pstyleData.moc.o sstvtx.moc.o paint.moc.o zoomwindow.moc.o -L/usr/X11R6/lib -L/usr/lib/qt3/lib -lqt -lpng -lz -lm /usr/lib/libjpeg.so -lXext -lX11 -lSM -lICE -lXext -lX11 configfile.o: In function `configurationFile::saveFile()': configfile.o(.text+0x1577): the use of `tempnam' is dangerous, better use `mkstemp' qsstv.o: In function `main': qsstv.o(.text+0x15): undefined reference to `qInitJpegIO()' collect2: ld returned 1 exit status make[3]: *** [qsstv] Fehler 1 make[3]: Verlassen des Verzeichnisses »/usr/local/src/qsstv-5.0g.gcc3x/qsstv« ************ suche mal in deinem system in den lib-verzeichnissen nach einer libjpeg.so, dass sollte ein link auf eine libjpeg.so.X.X.X sein, guck mal welche versionsnummer die hat und schreib mir das mal. Das Problem scheint folgendermassen zu liegen: es gibt in deiner distribution .h-datein die zur libjpeg gehören, allerdings passen diese .h-dateien _nicht_ zur vorhandenen libjpeg.so Hier kann man dann nur folgendes machen: alles was nach libjpeg.so.irgendwas aussieht manuell loeschen, die libjpeg als sourcen ziehen und neu erzeugen (nicht qsstv, sondern die libjpeg) es kann auch ggf. ein problem sein, da suse QT2 _und_ QT3 hat, und sich dort was zusammenmixt. ich habe auf meinem system nur noch qt3 drauf und _kein_ qt2 mehr. undefined reference bedeutet, dass dass in den sourcen eine c-funktion verwendet wird, die in der installierten lib (versionsproblem) entweder nicht existriert oder halt anders parametrisiert wird oder werden muss. u.U. kann auch suse wirklich das qt falsch übersetzt haben, in diesem fall muesste man noch mal die qt3-sourcen ziehen und das ganze qt3 komplett neu übersetzen, mit der entsprechenden parametrisierung. ich denke wir werden das problem schon lösen können ;) wie siehts denn bei den andern SUSE 8.1 & qsstv-usern aus ??? 73 de Heiko, DG2DRA dg2dra@gmx.net