Hallo, ich will mich einarbeiten in die C-Programmierung unter Debian. Dieser Thread soll zum Erfahrungsaustausch / Hilfestellung dienen, falls jemand mal etwas ähnliches vor hat. Mein Fernziel ist Audiobearbeitung/-Verarbeitung mit einer Seagate Dockstar, siehe hier: Beitrag "USB Audio Interface selbst ansteuern" Beitrag "Empfehlung für hardwarenahe Programmierung in Linux?" Es ist noch ein weiter Weg, aber man beginnt ja immer mit dem ersten Schritt. Ich habe mir also mit VMWare eine virtuelle Maschine mit Debian drauf installiert. Danach download eclipse mit CDT - eclipse mag die vorinstallierte Java-Runtime vom Debian nicht - also Java6 von Sun heruntergeladen und installiert. Was mir so aufgefallen ist: 1) Desktopverhalten von Debian: 1GB Ram sollte man der VM schon gönnen - der Desktop läuft auch mit 256MB, aber Eclipse swapt dann nur noch. Die Auflösung habe ich eingestellt mit 1280*1024 - beim ersten einstellen sah es ok aus, aber jetzt nach dem reboot ist der Bildschirm ausgefüllt, aber alles riesig.. naja, gut für die Augen, aber soll das so sein? :-) 2) VMware hat oben so eine "Verschwindeleiste" - und die Debian-Menüleiste ist auch oben. Das führt dazu, daß die Maus öfter nicht weiß, ob sie noch in der VM ist oder nicht - kann man die Menüleiste auch woandershin tun? 3) ich habe die Pakete heruntergeladen, aber an den Desktop kann man sich nicht mit root anmelden (hat ja auch seinen Grund) - Aber gibt es eine Empfehlung, was ich mit meinem eigenen Benutzer tun soll, damit er mehr Rechte hat? Ich hab jetzt die root - Konsole benutzt, und als root nach usr gewechselt, Verzeichnisse angelegt für java und eclipse, dateien als root reinkopiert, chmod ausgeführt. Wäre einfacher / schneller mit meinem Benutzer ("rainer") gewesen - geht das irgendwie? Aber es gibt auch schöne Effekte, z.B. 4) ich kann das Eclipse-Verzeichnis verschieben, wohin ich will, es startet trotzdem freiwillig und weiß seinen Workspace noch. Was für eine Wohltat gegenüber Windows mit seinen dll registrierungs- und assembly cache- Sachen! Jetzt habe ich wieder ein bischen Zeit und gucke die Tutorials durch, hab mal das berühmte C-Programm "hello world" aufgemacht und versucht zu kompilieren. muß noch rausbekommen, wo der die Compilerausgabe anzeigt und warum er "make" nicht ausführen kann cannot run program make (unknown reason) Vielleicht habt Ihr ja eine Idee bzw. das ist ein standard-Anfängerfehler? Als ich das zum letzten mal gemacht habe, waren die Programme noch alle einzeln an der Konsole, und man hatte dann so eine a.out-datei.. lange her! :-)
Rainer Unsinn schrieb: > Was mir so aufgefallen ist: > > 1) Desktopverhalten von Debian: 1GB Ram sollte man der VM schon gönnen - > der Desktop läuft auch mit 256MB, aber Eclipse swapt dann nur noch. Das liegt dann eher an Eclipse, nicht an Debian allgemein. > Die Auflösung habe ich eingestellt mit 1280*1024 - beim ersten > einstellen sah es ok aus, aber jetzt nach dem reboot ist der Bildschirm > ausgefüllt, aber alles riesig.. naja, gut für die Augen, aber soll das > so sein? :-) Hast du die vmware tools nicht installiert? > 2) VMware hat oben so eine "Verschwindeleiste" - und die > Debian-Menüleiste ist auch oben. Bei Gnome ja. > Das führt dazu, daß die Maus öfter nicht weiß, ob sie noch in der VM ist > oder nicht - kann man die Menüleiste auch woandershin tun? Ich kenne mich mit Gnome nicht so aus, aber du kannst auch die "Verschwindeleiste" woanders hin tun. > 3) ich habe die Pakete heruntergeladen, aber an den Desktop kann man > sich nicht mit root anmelden (hat ja auch seinen Grund) - Aber gibt es > eine Empfehlung, was ich mit meinem eigenen Benutzer tun soll, damit er > mehr Rechte hat? Die soll er nicht haben. > Ich hab jetzt die root - Konsole benutzt, und als root nach usr > gewechselt, Verzeichnisse angelegt für java und eclipse, dateien als > root reinkopiert, chmod ausgeführt. Warum? Außerdem ist /usr eigentlich für die Programme gedacht, die über das Paketmanagement installiert wurden (Warum hast du das eigentlich nicht verwendet?). Von Hand installierte Sachen sollten in /usr/local oder /opt/<programmname> installiert werden. > Wäre einfacher / schneller mit meinem Benutzer ("rainer") gewesen - geht > das irgendwie? Nicht ohne das System ganz fies zu "verbiegen". > Jetzt habe ich wieder ein bischen Zeit und gucke die Tutorials durch, > hab mal das berühmte C-Programm "hello world" aufgemacht und versucht zu > kompilieren. muß noch rausbekommen, wo der die Compilerausgabe anzeigt > und warum er "make" nicht ausführen kann > > cannot run program make (unknown reason) > > Vielleicht habt Ihr ja eine Idee bzw. das ist ein standard- > Anfängerfehler? make nicht installiert?
Hallo Rolf und danke für Deinen Beitrag! VMwareTools habe ich noch nicht drauf (hatte ich vorher beim ersten Versuch.. peinlich!) :-) Wie tue ich die VM-Ware-Leiste woanders hin? Hab noch nie sowas gesehen.. Die Paketinstallation habe ich versucht, aber mit apt-get -install eclipse hat es nicht funktioniert, und dann bin ich einfach der Empfehlung von Andreas gefolgt, ein Paket herunterzuladen. Du meinst im CDT ist kein "make" drin? Das würde mich nun sehr wundern.. Und dass ich die Verzeichnisse nicht wie empfohlen benutzt habe, leigt einfach daran, daß ich die Empfehlung nicht kannte. Außer die Java-Runtime, die wurde empfohlen nach /usr/java zu installieren.
du kannst eclipse auch ohne probleme in deine home dir runterladen/installieren und von dort ausführen, dann hast du alle Rechte. Dann funzt auch der Update Prozess von Eclipse super EDIT: http://wiki.ubuntuusers.de/GCC so kommst an make und den gcc
So, wieder ein bischen Zeit gehabt und ein bischen weiter: Das Beispiel auf dem Link von docean funktioniert, ich kann also "zu Fuß" mit gcc kompilieren und erhalte ausführbare Dateien. Ich mußte mir vorher die build-essentials installieren, die haben tatsächlich noch gefehlt. Finde ich ungewöhnlich, dass sowas bei Eclipse+CDT, also einer C-Entwicklungsumgebung, nicht drin ist. Leider verweigert mir Eclipse das compilieren noch, weil "make" nicht gestartet werden kann. Ich hab mal gesucht - es steht unter /usr/bin, und der Pfad zeigt da auch hin / ich kann es von der Konsole aus aufrufen. Rolf hatte ja auch angemerkt, daß ich Eclipse lieber als Paket hätte installieren sollen, aber welchen Befehl hätte ich angeben sollen anstelle von "apt-get -install eclipse" ? Die VMWare-tools wollen auch noch konfiguriert werden, ich soll dazu das script vmware-config-tools.pl aufrufen. Dieses will dann erstmal einen anderen Compiler (gcc 4.1.3 will es, gcc 4.3.2 hab ich) - das kann man ignorieren, aber dann will es wissen, wo die C header dateien für meinen aktuellen kernel liegen - bei der Frage muß ich passen. sie liegen jedenfalls nicht unter /usr/src/linux/include, wie das script vermutet. Evtl. liegen sie nichtmal auf meinem System (ich hab den Kernel ja nicht bei der Installation selbst kompiliert, oder?
Rainer Unsinn schrieb: > Rolf hatte ja auch angemerkt, daß ich Eclipse lieber als Paket hätte > installieren sollen Ist bei Eclipse nicht zu empfehlen, weil die Pakete alt sind und Eclipse ein eigenes Updatesystem enthält.
http://www.alsa-project.org/main/index.php/Main_Page apt-get install alsa vielleicht findest du hier schon jemand, der sowas gemacht hat, wie du es machen willst http://www.alsa-project.org/main/index.php/Applications
Klaus Wachtler schrieb: > apt-get -install eclipse Äh, irgendwie ist das nicht das, was ich schreiben wollte. Ich wollte nur sagen, daß vor dem install kein - hinkommt. Also: apt-get install ...
apt-get search kernel-header eclipse würdfe ich immer nach /home installieren, wegen der patsches... btw warum nutzt du nicht aptitude apt-get ist doch veraltet...oder seh ich das jetzt falsch??
@hanz Danke, die Links sind sehr zielführend! Jetzt hab ich wieder was zu lesen.. :-) Hast Du zufällig auch ein Beispiel im Kopf, wie man von einem Mikrofon die Verstärkung einstellt? (Also z.B. ein USB-Mikro, aber das sollte mit Alsa ja egal sein, was für ein Mikro, oder?) Alsa ist aber schon installiert, Sound funktioniert. Ich werde erstmal alles auf dem PC machen, erst wenn ich das im Griff habe, wende ich mich der Dockstar zu. @ Klaus Wachtler hast Du das mal ausprobiert? Ich hatte das ja auch probiert, und bei mir erscheint: E: Paket eclipse hat keinen Installationskandidaten Bei Dir nicht? @docean danke, mit den Kernel-Dateien werde ich weiter testen. Aptitude war mir einfach noch nicth über den Weg gelaufen.. :-)
So, wieder ein bischen weiter. VMWare-Tools funktionieren jetzt, inkl. Bildschirmgrößenanpassung etc. Eclipse habe ich nochmal entpackt, diesmal in mein Home-Verzeichnis. Jetzt meckert der make nicht mehr, dafür findet er die stdio.h nicht.. :-)
Rainer Unsinn schrieb: > @ Klaus Wachtler > hast Du das mal ausprobiert? Ich hatte das ja auch probiert, und bei mir > erscheint: nee, habe ich nicht. Dann ist wohl eclipse der falsche Name. Meine Anmerkung bezog sich nur auf das (-)install. Und es mag gut sein, daß man es am besten nicht mit apt-get installiert, k.A.. Ich verwende keine überkommenen IDEs, sondern nur den modernen EMACS zusammen mit topaktuellem make.
Rainer Unsinn schrieb: > Die VMWare-tools wollen auch noch konfiguriert werden, ich soll dazu das > script vmware-config-tools.pl aufrufen. Dieses will dann erstmal einen > anderen Compiler (gcc 4.1.3 will es, gcc 4.3.2 hab ich) Der will den Compiler mit dem der Kernel kompiliert wurde, und der könnte beispielsweise als /usr/bin/gcc-4.1 rumliegen. Dann export CC=/usr/bin/gcc-4.1 vor dem Aufruf der Tools-Inst definieren. > ignorieren, aber dann will es wissen, wo die C header dateien für meinen > aktuellen kernel liegen - bei der Frage muß ich passen. sie liegen Wem apt-get etwas zu lowlevel ist, der kann sich auch mit dem ggf. interaktiv nutzbaren aptitude vergnügen. Darin sind die linux-headers unter "Virtual Packages" zu finden.
@A.K. Ja, das hatte ich herausgefunden, VMware tools sind jetzt ok. Aber inzwischen zweifel ich wirklich, ob ich bei Eclipse alles richtig gemacht habe (jetzt schon das 2. Mal): 1) Paket (s.o.) herunterladen, also von http://packages.debian.org/sid/eclipse-cdt 2) Entpacken, den entpacken Ordner in mein Verzeichnis /home/rainer verschieben 3) unter /home/rainer/eclipse auf das Eclipse-Symbol klicken Zuerst sagt, er, dass er CJT oder so als Java-Maschine hat. Dabei habe ich die JRE6 schon installiert, und bei der letzten Installation hat er sie auch erkannt - heute wieder nicht? Dann erstelle ich ein neues C-Projekt (nicht C++) - er findet die stdio.h nicht.. muß ich erst noch irgendein Installationsscript laufen lassen? Wenn ja - wo liegt das? Ist das normal, daß er die include-dateien nicht findet? ich meine, daß der gcc da ist, wird ja auch stillschweigend vorausgesetzt, warum nimmt er dann nicht den Standard-Pfad für die Standard-Include-Dateien?
müssen sie ja wohl - mit gcc (aus der shell) kann ich ja kompilieren..
Nimm lieber einen Projekt-fähigen Texteditor (geany, kate ...) und Makefiles. Oder nimm anjuta.
nee, diesmal nicht das dünne Brett bohren.. ich versuch es weiter! :-)
Jetzt geht es.. es lag doch tatsächlich am nicht korrekt installierten Java-Runtime-Environment (JRE6).. Endlich kann ich mich auf das Programmieren konzentrieren! :-)
Mal wieder ein bischen Zeit gehabt und jetzt eine Frage zum Installieren / Pakete: Mir ist nicht ganz klar, wie ich Dateien bekomme, die auf meinem System fehlen: Beispiel 1: hier auf der Seite ist ein Beispiel, welches die Datei asoundlib.h benötigt. Die ist bei mir nicht installiert (jedenfalls sagt das der "find"). Sound funktioniert aber. http://www.linuxjournal.com/article/6735?page=0,1 Wie bekomme ich jetzt heraus, welches Paket ich installieren muß? Alsa ist ja wohl installiert.. sonst hätte ich ja keinen Sound - es muß also ein extra Paket mit dem Quelltext geben - aber wie sucht man sowas? Oder anderes Beispiel: auf der Seite von Jack gibt es einen Downloadbereich, der sagt, man solle die Paketverwaltung auf seinem PC benutzen: http://jackaudio.org/download Ich sehe da Jack1 und Jack2, aber wenn ich die Paketverwaltung starte (synaptic), und bei der Suche "Jack" eingebe, dann erhalte ich unter "jack" einen CD-Ripper. Jetzt kann ich raten ob es vielleciht "jackd" ist (wird auch angezeigt) - aber wie finde ich diesen Zusammenhang? Und generell für die Include-dateien, wenn die so angegeben sind wie im Beispiel, wo müssen sie dann sitzen, um gefunden zu werden? #include <alsa/asoundlib.h> Also wie lautet der vollständige Pfad vor dem "alsa/..." und woher weiß der Compiler diesen Pfad? Ich hoffe Ihr konntet mir folgen.. :-)
du musst die pakete installieren die auf -dev enden, das sind die development pakete die dann auch die .h Dateien enthalten
http://www.debian.org/distrib/packages Wenn man da nach asound sucht, kommt u.a. der Name libasound2-dev raus. Der könnte es sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.