• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Make Problem

Hi,
bei all meinen Makes egal welches Programm kommt immer make: *** [all] Fehler 2 als letzter Fehler.
Was ist das Problem?
Hier sind die letzten Zeilen aus den Makes:
Code:
Bei WIneX:
gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_SHELL32_ -D_REENTRANT -I/usr/X11R6/include -o shelllink.o shelllink.c
gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_SHELL32_ -D_REENTRANT -I/usr/X11R6/include -o shlmenu.o shlmenu.c
shlmenu.c: In function `FM_InitMenuPopup':
shlmenu.c:150: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_SHELL32_ -D_REENTRANT -I/usr/X11R6/include -o shellole.o shellole.c
gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_SHELL32_ -D_REENTRANT -I/usr/X11R6/include -o shellord.o shellord.c
shellord.c: In function `ShellMessageBoxW':
shellord.c:281: warning: dereferencing type-punned pointer will break strict-aliasing rules
shellord.c: In function `SHAddToRecentDocs':
shellord.c:869: warning: dereferencing type-punned pointer will break strict-aliasing rules
gcc -c -I. -I. -I../../include -I../../include  -g -O2 -Wall -mpreferred-stack-boundary=2 -fno-keep-static-consts -D__const=const -D__int8=char -D__int16=short -D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_SHELL32_ -D_REENTRANT -I/usr/X11R6/include -o shellpath.o shellpath.c
In file included from shellpath.c:127:
shell32_main.h: In function `PathGetExtensionAW':
shell32_main.h:180: internal compiler error: Speicherzugriffsfehler
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.suse.de/feedback> for instructions.
The bug is not reproduceable, so it is likely a hardware or OS problem
make[2]: *** [shellpath.o] Fehler 1
make[2]: Leaving directory `/home/ice-man/winex/dlls/shell32'
make[1]: *** [shell32/libshell32.so] Fehler 2
make[1]: Leaving directory `/home/ice-man/winex/dlls'
make: *** [dlls] Fehler 2


Bei Sim:
/usr/lib/qt3/bin/moc tooltipeditwidget.h -o tooltipeditwidget.moc
rm -f tooltipeditwidget.cpp
echo '#include <kdialog.h>' > tooltipeditwidget.cpp
echo '#include <klocale.h>' >> tooltipeditwidget.cpp
/usr/lib/qt3/bin/uic -L /opt/kde3/lib/kde3/plugins/designer -nounload -tr tr2i18n -i tooltipeditwidget.h ./tooltipeditwidget.ui > tooltipeditwidget.cpp.temp ; ret=$?; \
/usr/bin/perl -pe "s,tr2i18n( \"\" ),QString::null,g" tooltipeditwidget.cpp.temp | /usr/bin/perl -pe "s,tr2i18n( \"\"\, \"\" ),QString::null,g" | /usr/bin/perl -pe "s,image([0-9][0-9]*)_data,img\$1_tooltipeditwidget,g" | /usr/bin/perl -pe "s,: QWizard\(,: KWizard(,g" >> tooltipeditwidget.cpp ;\
rm -f tooltipeditwidget.cpp.temp ;\
if test "$ret" = 0; then echo '#include "tooltipeditwidget.moc"' >> tooltipeditwidget.cpp; else rm -f tooltipeditwidget.cpp ; exit $ret ; fi
if /bin/sh ../../../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../..  -I../../../../kopete/libkopete -I../../../../kopete/libkopete/ui -I../../../../kopete/libkopete/ui -I../../../../kopete/libkopete/private  -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT -D_FILE_OFFSET_BITS=64  -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION  -MT tooltipeditwidget.lo -MD -MP -MF ".deps/tooltipeditwidget.Tpo" -c -o tooltipeditwidget.lo tooltipeditwidget.cpp; \
then mv -f ".deps/tooltipeditwidget.Tpo" ".deps/tooltipeditwidget.Plo"; else rm -f ".deps/tooltipeditwidget.Tpo"; exit 1; fi
tooltipeditwidget.cpp: In constructor `
   TooltipEditWidget::TooltipEditWidget(QWidget*, const char*, unsigned int)':
tooltipeditwidget.cpp:76: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.suse.de/feedback> for instructions.
The bug is not reproduceable, so it is likely a hardware or OS problem
make[5]: *** [tooltipeditwidget.lo] Fehler 1
make[5]: Leaving directory `/home/ice-man/kopete-0.10.1/kopete/kopete/config/appearance'
make[4]: *** [all-recursive] Fehler 1
make[4]: Leaving directory `/home/ice-man/kopete-0.10.1/kopete/kopete/config'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/ice-man/kopete-0.10.1/kopete/kopete'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/ice-man/kopete-0.10.1/kopete'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/ice-man/kopete-0.10.1'
make: *** [all] Fehler 2 


Bei irgendeinem Registery Bearbeitungsprogram:
Making all in .
make[3]: Entering directory `/home/ice-man/Desktop/kregedit-0.1/doc'
make[3]: Für das Ziel »all-am« ist nichts zu tun.
make[3]: Leaving directory `/home/ice-man/Desktop/kregedit-0.1/doc'
Making all in en
make[3]: Entering directory `/home/ice-man/Desktop/kregedit-0.1/doc/en'
make[3]: Für das Ziel »all« ist nichts zu tun.
make[3]: Leaving directory `/home/ice-man/Desktop/kregedit-0.1/doc/en'
make[2]: Leaving directory `/home/ice-man/Desktop/kregedit-0.1/doc'
Making all in po
make[2]: Entering directory `/home/ice-man/Desktop/kregedit-0.1/po'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `/home/ice-man/Desktop/kregedit-0.1/po'
Making all in src
make[2]: Entering directory `/home/ice-man/Desktop/kregedit-0.1/src'
source='kregedit.cpp' object='kregedit.o' libtool=no \
depfile='.deps/kregedit.Po' tmpdepfile='.deps/kregedit.TPo' \
depmode=gcc3 /bin/sh ../admin/depcomp \
g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include   -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common  -c -o kregedit.o `test -f 'kregedit.cpp' || echo './'`kregedit.cpp
In file included from /opt/kde3/include/kio/netaccess.h:28,
                 from kregedit.cpp:20:
/opt/kde3/include/kio/global.h:137: error: comma at end of enumerator list
/opt/kde3/include/kio/global.h:137: error: syntax error before numeric constant
kregedit.cpp: In member function `void kregedit::setupActions()':
kregedit.cpp:110: warning: unused variable `KAction*custom'
kregedit.cpp: In member function `void kregedit::fileSaveAs()':
kregedit.cpp:203: warning: `isMalformed' is deprecated (declared at
   /opt/kde3/include/kurl.h:534)
kregedit.cpp: In member function `void kregedit::optionsConfigureKeys()':
kregedit.cpp:254: warning: `configureKeys' is deprecated (declared at
   /opt/kde3/include/kkeydialog.h:390)
make[2]: *** [kregedit.o] Fehler 1
make[2]: Leaving directory `/home/ice-man/Desktop/kregedit-0.1/src'
make[1]: *** [all-recursive] Fehler 1
make[1]: Leaving directory `/home/ice-man/Desktop/kregedit-0.1'
make: *** [all] Fehler 2

Wo liegt das Problem?

Sorry für den langen Post, aber ich wieß ja nicht was ihr braucht.
 
A

Anonymous

Gast
Meine Kristallkugel (patentiert!!) sagt mir: Du hast GCC neu draufgemacht und/oder verschlimmbessert/verändert. Lösung: System komplett neu aufspielen, eine "Reparatur" von GCC ist EXTREM umständlich und komplex. Lohnt nicht.
 
A

Anonymous

Gast
Die entgültige Abbruchsmeldung ist normal, der Fehler liegt vorher und wie ich sehe, sind das zwei grundverschiedene Fehler.

Der dritte Fehler hier scheint der g++ auf einen Syntaxfehler gestoßen zu sein, das müsste reproduzierbar sein, das heist, wenn du make clean absetzt und danach wieder make dann bleibt er an der gleichen Stelle hängen. Ursache könnte zB eine fehlerhafte Datei, falsche Versionen von Headerdateien aber auch ein Bug oder ein nicht ganz saubere Konfiguration sein.

Die ersten beiden Fehler sind interessanter. Unter der Voraussetzung dass du eine "normale" Version der Entwicklungstools auf dem Rechner hast, könnte das durchaus auch ein Hardwarefehler sein. Bei größeren Kompilierungsarbeiten auf einem normalem PC ist es durchaus nichts außergewöhnliches wenn "gelegentlich" einmal ein solcher Fehler auftritt, ein erneutes make macht dann aber ganz normal weiter und es wird fehlerfrei fertig kompiliert. Während der Kompilierungsarbeit läuft sowohl die CPU als auch der Speicher permanent unter Volllast und ein normaler PC ist nunmal nicht auf allen internen Datenbussen mit ECC-Fehlerkorrektur ausgestattet wie ein Hochverfügbarkeitsserver.
Es könnten also durchaus temperaturabhängige Single Bit Errors im CPU-Cache dem Speicher oder einem der Bustreiber sein, die solche Fehler hochsporatisch produzieren. Sollte das der Fall sein, dann tritt der Fehler jedoch nie an der gleichen Stelle auf, sondern ehr zufällig. Notiere auf jeden Fall die Datei bei der Fehler aufgetreten ist, und versuche das ganze mehrfach um herauszufinden ob der Fehler an einer speziellen Datei festgemacht werden kann, oder nicht.

Erster Versuch solchen sporatischen "Hardwareanfälligkeiten" entgegenzuwirken, kann die Überprüfung von Lüfter, Kühlkörpern und Netzteil sein, Reinigung von Lüftungsschlitzen und Lüfterblättern, evtl. ausblasen von Staubablagerungen auf Platinen uÄ.

robi
 
:lol: Es klappt, nachdem ich dannn GCC runtergschmissen hab und es wieder drauf gespielt hab, klappt Kopete(war das gleich wie bei SIM und WineX).
Ich hatte nachdem ich GCC neu installiert hab das Regtool getestet und da kam ja der gleiche Fehler. Also dachte ich es hätte sich nichts gebessert.
Aber als du roni sagtest das da was mit dem 3. nicht stimmt hab ich zu vorsicht nochmal Kopete getestet. Das klappt jetzt.

Jetzt wäre nur noch cool wenn mir jemand sagen kann wie ich das Dritte hinbekomm, denn das ist eigentlich das Wichtigeste.

@rt...: Ich habe an GCC nicht rumgespielt. Ich habe das komplette System installiert und dann veruscht das zu kompilieren.
 
A

Anonymous

Gast
Jetzt wäre nur noch cool wenn mir jemand sagen kann wie ich das Dritte hinbekomm, denn das ist eigentlich das Wichtigeste.

http://jelmer.vernstok.nl/samba/kregedit/
Hab mir mal den Spass gemacht und das tool aus dem Internet gezogen, und zu meinem Nichterstaunen bin ich an der selben Stelle gescheitert wie du. Da stimmt definitiv was nicht im Quelltext oder im Zusammenspiel mit den Dateieversionen die Suse verwendet, nicht.

Werde mir das am Wochenende mal genauer ansehen, mal sehen ob wir den Knoten beheben können.

robi
 
A

Anonymous

Gast
Ich habe mir den Quellcode mal etwa näher angeschaut. Den ersten tötlichen Fehler habe ich recht schnell beheben können. Aber danach bin ich in der Datei editreg.cpp auf Unmengen Convensionsverstöße gekommen. Eine näher Untersuchung zeigt dass es sich hier um Teile eines alten C-Qellcodes zu handeln scheint, der unbearbeitet in den C++ Code übertragen wurde. Es handelt sich dabei um soche elementaren Funktionen die die einzelnen Werte der Registrie bearbeitet. Zwar ist es möglich mit einigen Tricks die strengen Conventionsregeln von g++ auszuschalten, aber mein Tip, Finger weg von diesem Programm wenn Windows hinterher noch laufen soll.
Der Code müsste für die aktuellen gcc Compiler teilweise komplett überarbeitet werden, mit älteren Compilern hätte man wohl mehr Chancen.

robi
 
ich vermute das das dann schon etwas älter ist, der 2.95er gcc war noch etwas anders, beim Umstieg hats viele Systeme zerhauen...

wenn Du also noch eine alte Suse 7.3 oder ein Original woody hast, könnte das funktionieren
 
ich hab gerade mal auf Jelmers Seite nachgesehen, er hat d auch einen patch, der die sache für gcc 31 und 3.2 kompilierbar machen sollte..
http://jelmer.vernstok.nl/oss/patches.php?prefix=kregedit

ansosnten schreibt er ja, dass es eine gtk-Version im Samba-Tree gibt, such mal bei samba.
 
Hi,
danke das du nochmal geguckt hast. Was muss ich den mit der diff datei machen? Bin Anfänger und hatte noch nie etwas damit zutun...wäre nett wenn du kurz erklären könntest wie es gehen sollte.
 
das Problem ist, dass Du nicht weißt auf welche Situation sich welcher patch bezieht, ansonsten

man patch hiflt :)

Code:
$ patch -p1 -i foobar.diff
anssonten mit weiteren Optionen anpassen.
 
Oben