Kompilieren des gepatchten qsstv 5.0g
Hallo zusammen! Kann mir bitte nochmal Jemand weiterhelfen? Was fehlt (oder: was mache ich falsch), wenn beim make folgender Fehler auftritt: ... 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 »/home/pzabelt/download/afu/qsstv/qsstv-5.0g.gcc3x/qsstv« make[2]: *** [all-recursive] Fehler 1 make[2]: Verlassen des Verzeichnisses »/home/pzabelt/download/afu/qsstv/qsstv-5.0g.gcc3x/qsstv« make[1]: *** [all-recursive] Fehler 1 make[1]: Verlassen des Verzeichnisses »/home/pzabelt/download/afu/qsstv/qsstv-5.0g.gcc3x« make: *** [all-recursive-am] Fehler 2 .... Danke! Peter.
Hallo OM's, -----schnipp---------------------------------------------------------------- ---------------
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' nicht sauber, aber unkritisch
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 Oder QT ist nicht so übersetzt wie es sein sollte, kann ich jetzt hier nicht aus dem Stehgreif beantworten...
collect2: ld returned 1 exit status make[3]: *** [qsstv] Fehler 1 make[3]: Verlassen des Verzeichnisses »/home/pzabelt/download/afu/qsstv/qsstv-5.0g.gcc3x/qsstv« make[2]: *** [all-recursive] Fehler 1 make[2]: Verlassen des Verzeichnisses »/home/pzabelt/download/afu/qsstv/qsstv-5.0g.gcc3x/qsstv« make[1]: *** [all-recursive] Fehler 1 make[1]: Verlassen des Verzeichnisses »/home/pzabelt/download/afu/qsstv/qsstv-5.0g.gcc3x« make: *** [all-recursive-am] Fehler 2 ---schnapp------------------------------------------------------------------
Also nochmals zum Verständnis für die etwas ungeübten OM's in Sachen 'compilieren von sourcen': 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', sonst installiert die Distribution nur die fertigen libs, die zwar reichen, um ein bereits vorcompiliertes Paket lauffähig zu machen, jedoch nicht, um es aus den Sourcen zu erzeugen. Leider gibt es hier Unterschiede in den einzelnen Distributionen, z.B. kann man dem QT sagen, es soll seine eingebaute Unterstützung für jpeg nehmen, oder eben eine externe lib, meinetwegen die libjpeg.so.X.X.X .Auch beim QT _muessen_ die qt-X.X:X-devel.rpm installiert sein. 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 distributionen woanders liegen. setzen tut man die variable mit 'export QTDIR=/usr/lib/qt3' und erst dann das ./configure aufrufen. Compilieren sollte man (meistens) immer als 'root', da ggf. systemrechte benötigt werden. wenns noch fragen gibt, bitte stellen, ich werde versuchen, die probleme hier zu lösen oder lösungsansätze zu geben. zu meinem ftp-server: anonymous-zugriff ist erlaubt, login mit 'anonymous' oder 'ftp' , password ist die email-adresse. Hat denn nun schon jemand das qsstv nach meinem patch erfolgreich übersetzt und am laufen ??? 73 de Heiko, DG2DRA dg2dra@gmx.net
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?
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« ************ 73 de Peter.
----- 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
Hallo OM's Auch bei mir laufen einige Ham- Programme nicht mehr nach dem Suse- Update auf 8.1. Ich habe mir die gepatchte Version von qsstv von Heiko gezogen und habe den gleichen Fehler:
qsstv.o: In function `main': qsstv.o(.text+0x15): undefined reference to `qInitJpegIO()'
Die libjpeg habe ich aus dem Internet geladen und neu installiert, jedenfalls es half alles nicht's. Dann hab ich einfach die "undefined reference to 'qInitJpegIO()' in der Datei qsstv.cpp (Zeile 38) gekillt, das gesamte Paket neu übersetzt und es funktioniert! Bis jetzt habe ich im Programm noch kein Fehlverhalten feststellen können. Übrigens, qgrid funktioniert auch nicht mehr und Xastir mußte ich neu übersetzen, damit es wieder läuft. Soweit zur HAM- Software bei Suse 8.1... 73 de Thomas , DG5TKE
Hallo OMs! Am Son, 2002-10-27 um 09.30 schrieb Thomas Kircheis:
Ich habe mir die gepatchte Version von qsstv von Heiko gezogen und habe den gleichen Fehler:
qsstv.o: In function `main': qsstv.o(.text+0x15): undefined reference to `qInitJpegIO()'
...ich hab' mich ja gar nicht getraut, das zu melden :-), weil bei mir bisher gar nix gehen wollte... Aber ich habe ganau das gleiche Problem und mache nun qsstv auf einenm Zweit-Rechner unter Win 98!!! Vielleicht kommt ja noch der "ultimative Tipp"... 73 de Peter, DL3VPZ
participants (3)
-
Peter Zabelt
-
skynet.amft@t-online.de
-
Thomas.Kircheis@t-online.de