Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Startprobleme unter linux

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
d-ominik



Anmeldungsdatum: 27.06.2009
Beiträge: 9

BeitragVerfasst am: 28.06.2009, 10:40    Titel: Startprobleme unter linux Antworten mit Zitat

Hallo,
ich hab jetzt seit 3 Tagen Ubuntu installiert, (bin also absoluter Anfänger)
hab nach qbasic-Alternativen gesucht und bin bei euch gelandet.
also gleich den Compiler installiert (denk ich zumindest)
das sagt das Terminal:
Code:
dominik@dominik-desktop:~/Desktop/fb$ fbc -version
FreeBASIC Compiler - Version 0.20.0 (08-10-2008) for linux (target:linux)
Copyright (C) 2004-2008 The FreeBASIC development team.
Configured as standalone

das stimmt doch so weit oder?
jetzt zu meinem Problem:
Code:
dominik@dominik-desktop:~/Desktop/fb$ fbc test.bas
/usr/share/freebasic/bin/linux/ld: cannot find -lncurses

in test.bas steht:
Code:

Print "test"
sleep

Was mach ich den falsch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 28.06.2009, 11:24    Titel: Antworten mit Zitat

bash-script für die installation aller benötigter pakete unter Ubuntu / Debian:

Code:
#!/bin/bash

#freebasic
sudo aptitude install binutils linux-libc-dev libncurses5-dev libstdc++6-4.1-dev build-essential
sudo aptitude install libX11-dev libXext-dev libXpm-dev libXrender-dev libXrandr-dev
sudo aptitude install libstdc++6-dev 

#opengl
#sudo aptitude install libgl-dev libglu-dev

#zlib (for compiling libfbpng)
#sudo aptitude install zlib1g-dev


die letzten beiden blöcke bei bedarf auskommentieren.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
d-ominik



Anmeldungsdatum: 27.06.2009
Beiträge: 9

BeitragVerfasst am: 28.06.2009, 16:22    Titel: Antworten mit Zitat

Danke! jetzt gehts!
jetzt hab ich nur ein neues Problem:
Die erzeugte Datei test. es passiert nichts beim Ausführen. Ich habs mit draufklicken und mit Aufrufen aus dem Terminal probiert.

edit: ich sehe gerade das bei Linksklick => Eigenschaften => öffnen mit nichts eingetragen ist. Kann das der Fehler sein?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 28.06.2009, 16:47    Titel: Antworten mit Zitat

im terminal:
Code:
./test

(wenn du im selben ordner bist wie die binary)

wenn das nichts hilft, chmod +x test
wenns danach nich geht, wieder hier melden.
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 29.06.2009, 13:30    Titel: Antworten mit Zitat

Ja.. Linux ist in allem etwas anders als Windows.

Wenn du einen Doppelklick auf eines deiner Programme machst, wird es wahrscheinlich ausgeführt. Aber dessen "Ausgabe" erscheint nicht für den Anwender sichtbar sondern auf seine Standard-Ausgabe, von wo aus der X-Server gestartet wurde.
Das kann man meistens einsehen wenn man mit ALT-F1 bis ALT-F12 alle Terminals durchgeht und man auf die Standard-Ausgabe vom X-Server landet. Dann sieht man neben den Meldungen vom X-Server auch die Text-Ausgabe des eigenen Programms.

Bei vielen Dateimanangern kann man irgendwo sagen "Im Terminal ausführen"... Meistens im Kontext wenn du mit rechtsklick auf dein Programm klickst.
-> Das sollte für deine Zwecke ideal sein! .. Musst nur drauf achten, dass dein Programm mit irgendwas wie Sleep oder Do: loop until inkey <> "" vorm Beenden aufgehalten wird. Sonst schließt sich das Fenster wieder bevor man es sieht. (das Problem hat man aber auch unter windows)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 29.06.2009, 14:49    Titel: Antworten mit Zitat

Zitat:
loop until inkey <> ""

do : sleep 1 : loop until inkey <> "" bitteschön. happy

Ich habe mir tatsächlich angewöhnt, alle Programmen, bei denen ich mir nicht sicher bin, ob sie "richtig" ausgeführt werden, über Konsole zu starten (z. B. läuft bei mir wine grundsätzlich über Konsole; im Zweifelsfall kann ich dann ein sich aufhängendes Programm auch einfacher abschießen). Zum Compilieren wird man ja vermutlich sowieso in irgendeiner Form auf die Konsolenausgabe zurückgreifen, und dann kann man darüber auch gleich das Programm laufen lassen.

Ein schicker Editor nimmt einem da natürlich einiges ab. Darf ich fragen, ob du da schon was spezielles verwendest?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 29.06.2009, 14:55    Titel: Antworten mit Zitat

Falls du eine schlanke IDE suchst, kann ich dir "Geany" empfehlen ( http://www.geany.org/ ). Damit muss man nur eine Quellcodedatei erstellen / öffnen, FreeBasic als Dateiformat einstellen, coden und dann auf compilieren / ausführen klicken. Dabei öffnet sich automatisch auch ein Konsolenfenster, dass die Ausgaben des Programms auf die Konsole anzeigt.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 29.06.2009, 14:59    Titel: Antworten mit Zitat

bin dafür
(ist übrigens auch in den Ubuntu-Paketquellen, wenn auch naturgemäß nicht immer in der allerneusten Version)
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 29.06.2009, 16:00    Titel: Antworten mit Zitat

Hab mit geany bisher keine schlechten erfahrungen gemacht... allerdings frag ich mich schon seit ner ganzen Weile, ob man nicht die compiler-flags irgentwo einstellen kann... (oder mit spezielle compiler-flags auf bestimmte tasten legen kann).

Im übrigen funktioniert das syntax-highlight von geany besser als das von FBide unter Windows.
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 29.06.2009, 16:46    Titel: Antworten mit Zitat

Du kannst zumindest die Kompilier- und Ausführparameter festlegen; ich hatte z. B. zeitweise auf eine Taste "Kompilieren+Ausführen" gelegt.

Unter "Projekteigenschaften" kannst du außerdem den Ausführen-Befehl projektintern belegen. Ist zwar nur eine einzige mögliche (Zusatz-)Einstellung, aber immerhin.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d-ominik



Anmeldungsdatum: 27.06.2009
Beiträge: 9

BeitragVerfasst am: 30.06.2009, 20:10    Titel: Antworten mit Zitat

also IDE-technisch hab ich bis jetzt nichts wobei ich das Großschreiben der Befehle bei richtiger Eingabe bei QBASIC richtig gut finde . Ich habe mal probiert geany zu installieren, aber kam aber nur ne Fehlermeldung. (glaub des hat was mit dem der fehlenden Library zu tun) und so wichtig ist mir persönlich des jetzt ach nicht.
Ich hab jetzt ein neues Problem:
Das anpassen meiner QBASIC-Programme an Linux:
Die Dateinamen hab ich jetzt schon angepasst.
Jedoch bei der parallelen Schnittstelle hab ich so meine Probleme:
Am den 8 Datenleitungen sind jeweils eine Treiberstufe und ein Relais.
wenn ich also binär 0000 0001 bzw dezimal 1 an die Schaltung sende zieht Relais 1 an
unter QBASIC ging das so:
Code:
OUT 888, 1

unter FreeBASIC geht das laut der Referenz und bei mir nicht.
Die anderen Befehle beziehen sich ja immer auf den Standartdrucker und man kann keine Adresse angeben (wo finde ich die eigentlich bei den alten PC sah man die ja immer im BIOS). Ich hab da etwas herumprobiert bin aber zu keinem Ergebnis gekommen. Die parallelen Schnittstelle kann Linux meiner Meinung nach ansteuern.


@OneCypher: Das ist ja mal geil!! Bei Windows hatte ich immer das Problem das bei 4 gestarteten QBASIC-Programmen, die eigentlich im Hintergrund laufen sollten, der Platz auf der Task-Leiste knapp wurde.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 30.06.2009, 22:13    Titel: Antworten mit Zitat

Zitat:

also IDE-technisch hab ich bis jetzt nichts wobei ich das Großschreiben der Befehle bei richtiger Eingabe bei QBASIC richtig gut finde

das ist doch total unleserlich (vor allem bei langen befehlen) -> farbliches highlighting ist viel toller! Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
d-ominik



Anmeldungsdatum: 27.06.2009
Beiträge: 9

BeitragVerfasst am: 01.07.2009, 21:18    Titel: Antworten mit Zitat

Zitat:

das ist doch total unleserlich (vor allem bei langen befehlen) -> farbliches highlighting ist viel toller! Zunge rausstrecken

so viel Erfahrung mit langen Befehlen hab ich ja noch nicht wenn es so weit ist werde ich auf geany zurückgreifen.

zu meinem Parallelportproblem habe ich wahrscheinlich die Lösung gefunden: unter /dev/parport0 kann man die Schnittstelle ansteuern. Nur kann ich die Datei nicht öffnen,
wenn ich im Dateimanager die Datei öffnen will habe ich keine Rechte dazu.
also gegoogelt und das gefunden:

Zitat:
Daten auf die parallele Schnittstelle schreiben kannst du einfach von der Kommandozeile aus, indem du die Ausgabe eines Programms dorthin umleitest, z.B.

Code:
cat roboterprogramm.txt >/dev/parport0

(http://forum.ubuntuusers.de/topic/programmers-notepad-fuer-linux-gesucht/)
nur geht das bei mir nicht, auch nicht mit sudo.
An sich finde ich ja den Gedanken das in eine Datei zu schreiben viel logischer und einfacher als bei Windows. Wenn ich nur die Rechte dazu hätte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 01.07.2009, 22:14    Titel: Antworten mit Zitat

Du müsstest als sudo mal schauen, welche Rechte du für diese Datei hast. Auch wenn du Superuser bist, heißt das noch nicht, dass du auch Schreibrechte auf die Datei hast; aber du kannst die Rechte deiner eigenen Dateien ändern, dir also selbst das Schreibrecht geben.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d-ominik



Anmeldungsdatum: 27.06.2009
Beiträge: 9

BeitragVerfasst am: 02.07.2009, 18:28    Titel: Antworten mit Zitat

ich komme einfach nicht weiter
was ich bis jetzt probiert habe:

Code:
root@dominik-desktop:~# cd dev
bash: cd: dev: No such file or directory
root@dominik-desktop:~# cd /dev
root@dominik-desktop:/dev# chmod a+rwx parport0
root@dominik-desktop:/dev# chmod a+rwx parport0 -c
root@dominik-desktop:/dev# ls -l /dev/parport0
crwxrwxrwx 1 root lp 99, 0 2009-07-02 16:26 /dev/parport0
root@dominik-desktop:/dev# chown dominik: /dev/parport0
root@dominik-desktop:/dev# exit
exit
dominik@dominik-desktop:~$ echo 0 > /dev/parport0
bash: echo: write error: Invalid argument
dominik@dominik-desktop:~$ echo 1 > dev/parport0
bash: dev/parport0: No such file or directory
dominik@dominik-desktop:~$ cd /dev
dominik@dominik-desktop:/dev$ echo 1 > ./parport0
bash: echo: write error: Invalid argument
dominik@dominik-desktop:/dev$ /dev/parport0-x
bash: /dev/parport0-x: No such file or directory
dominik@dominik-desktop:/dev$ /dev/parport0
bash: /dev/parport0: Permission denied
dominik@dominik-desktop:/dev$ cd
dominik@dominik-desktop:~$ cat test.txt >/dev/parport0
cat: Schreibfehler: Invalid argument
dominik@dominik-desktop:~$ cat help
cat: help: No such file or directory
dominik@dominik-desktop:~$ cat -help
cat: invalid option -- 'h'
„cat --help“ gibt weitere Informationen.
dominik@dominik-desktop:~$ sudo -s
[sudo] password for dominik:
root@dominik-desktop:~# cd /dev
root@dominik-desktop:/dev# cat parport0
cat: parport0: Invalid argument
root@dominik-desktop:/dev# exit
exit
dominik@dominik-desktop:~$ cat -h
cat: invalid option -- 'h'
„cat --help“ gibt weitere Informationen.
dominik@dominik-desktop:~$
dominik@dominik-desktop:~$ cat --help
Aufruf: cat [OPTION] [DATEI]...
DATEI(en) oder Standardeingabe auf Standardausgabe verketten.

  -A, --show-all           äquivalent zu -vET
  -b, --number-nonblank    nichtleere Ausgabezeilen nummerieren
  -e                       äquivalent zu -vE
  -E, --show-ends          $ am Ende jeder Zeile ausgeben
  -n, --number             alle Ausgabezeilen nummerieren
  -s, --squeeze-blank      aufeinander folgende Leerzeilen unterdrücken
  -t                       äquivalent zu -vT
  -T, --show-tabs          Tabulator‐Zeichen als ^I ausgeben
  -u                       (wird ignoriert)
  -v, --show-nonprinting   ^‐ und M‐Notation benutzen, außer für LFD und Tab.
      --help     diese Hilfe anzeigen und beenden
      --version  Versionsinformation anzeigen und beenden

Ohne DATEI oder wenn DATEI „-“ ist, Standardeingabe lesen.

Beispiele:
  cat f - g gibt den Inhalt von »f«, danach die Standardeingabe, dann den Inhalt von »g«.
  cat kopiert die Standardeingabe auf die Standardausgabe.

Melden Sie Übersetzungsfehler an <translation-team-de@lists.sourceforge.net>,
Programmfehler dagegen (auf Englisch, mit LC_ALL=C) an <bug-coreutils@gnu.org>.
dominik@dominik-desktop:~$

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 02.07.2009, 19:30    Titel: Antworten mit Zitat

Bei mir existiert (standardmäßig) gar keine Datei /dev/parport0, deswegen kann ich das nicht ganz nachstellen. Mit einer selbst angelegten Datei (ob sie nun parport0 heißt oder anders) funktionieren deine Versuche ganz gut. Allerdings habe ich nicht ganz deine Original-Benutzerrechte hergestellt.

Woraus ich nicht ganz schlau werde ist
Zitat:
root@dominik-desktop:/dev# ls -l /dev/parport0
crwxrwxrwx 1 root lp 99, 0 2009-07-02 16:26 /dev/parport0

Kann mir jemand sagen, was dieses c bedeutet?
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
d-ominik



Anmeldungsdatum: 27.06.2009
Beiträge: 9

BeitragVerfasst am: 02.07.2009, 20:39    Titel: Antworten mit Zitat

könnte das eventuell copy bedeuten? Kopieren kann ich die Datei jedenfalls nicht.
ich hab mir da eine andere Möglichkeit überlegt: einfach dem Computer vorgaukeln die Relaiskarte währe ein Drucker der nur den ASCII-Code beherrscht. dann könnte ich zwar nur 7 Datenleitungen ansteuern aber damit könnte ich gut leben. Wenn ich irgendwann mehr Ausgänge brauch häng ich einfach zwei 74138er an die Datenleitungen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Linux-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz