|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mr_T aka FtFanmaster
Anmeldungsdatum: 26.12.2004 Beiträge: 103 Wohnort: Speyer
|
Verfasst am: 21.12.2007, 15:38 Titel: Probleme mit Screen |
|
|
Moin, moin.
Ich habe nach langer Zeit mal wieder Lust auf FreeBasic. Mittlerweile bin ich seit einem Jahr mit Kubuntu unterwegs, möchte FreeBasic also mit diesem Betriebssystem benutzen. Soweit ist das alles kein Problem, meine Schwierigkeiten beginnen bei Grafikmodi <> Screen 0.
Sobald ich in einem Programm mit Screen xyz in einen der verschiedenen Grafikmodi wechseln will stoppt das Programm einfach. Keine Fehlermeldung beim kompilieren, keine Ausgabe in der Konsole, kein Grafikfenster geht auf. Egal wie simpel das Programm auch sein mag.
Die Funktion Screeninfo gibt nur "0" aus, also scheinen keine weiteren Grafikmodi verfügbar sein, nur WARUM?
Selbstverständlich habe ich schon verschiedene Versionen von FreeBasic ausprobiert und auch schon versucht, das Programm mit Root-Rechten zu starten - allerdings absolut ohne Erfolg.
Die entsprechenden Pakete für den X-Server und den Treiber für meine Grafikkarte habe ich natürlich schon installiert.
Cheers |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 21.12.2007, 16:41 Titel: |
|
|
Hab zwar kein Kubuntu, sondern Ubuntu, sollte sich aber nicht großartig unterscheiden. Die -dev-Pakete hast du ja auch alle installiert, oder?
An den Rechten liegt es schon mal definitiv nicht, du kannst alles (bis auf die Installation ) als normaler User machen.
Vielleicht kannst du ja mal ein kompiliertes Programm ins Netz stellen, dann schaue ich, ob ich es bei mir ausführen kann (sprich: ob er bei dir nicht richtig kompiliert oder "nur" nicht richtig ausführt). _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Mr_T aka FtFanmaster
Anmeldungsdatum: 26.12.2004 Beiträge: 103 Wohnort: Speyer
|
Verfasst am: 21.12.2007, 17:04 Titel: |
|
|
Moin.
Natürlich habe ich die -dev-Pakete installiert, ohne die kommen beim Kompilieren nur Fehlermeldungen.
Hier mal ein kleines kompiliertes Programm: *Klick*
Code: |
Cls
Screen 18, 16
Print "Hallo Welt"
Sleep
Screen 0
End
|
Cheers |
|
Nach oben |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
Verfasst am: 21.12.2007, 17:19 Titel: |
|
|
Dein Kompilat erzeugt bei mir einen fehler:
Zitat: | tpm@Workboard-0:~$ ./test_screen
./test_screen: error while loading shared libraries: libpthread.so.20: cannot open shared object file: No such file or directory |
Mein Kompilat mit dem selben Code funtioniert hingegen problemlos.
MfG
TPM _________________ [ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ] |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 21.12.2007, 18:02 Titel: |
|
|
Bei mir ganz genau dasselbe. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Mr_T aka FtFanmaster
Anmeldungsdatum: 26.12.2004 Beiträge: 103 Wohnort: Speyer
|
Verfasst am: 21.12.2007, 18:08 Titel: |
|
|
Sehr seltsam.
Ich habe mal alle Pakete, die in der FreeBasic-Readme genannt wurden, deinstalliert und neu heruntergeladen, aber an dem Problem hat sich nichts geändert :/
Woran liegt das nur...selbst das allmächtige Orakel Goooogle weiß keinen Rat...argh :-/ |
|
Nach oben |
|
|
ThePuppetMaster
Anmeldungsdatum: 18.02.2007 Beiträge: 1837 Wohnort: [JN58JR]
|
|
Nach oben |
|
|
oiermann
Anmeldungsdatum: 28.12.2005 Beiträge: 90 Wohnort: Leutkirch
|
Verfasst am: 01.01.2008, 12:06 Titel: |
|
|
Zitat: |
tpm@Workboard-0:~$ ./test_screen
./test_screen: error while loading shared libraries: libpthread.so.20: cannot open shared object file: No such file or directory
Mein Kompilat mit dem selben Code funtioniert hingegen problemlos.
|
Is doch klar, du hast einfach eine andere Version der Glibc, die Datei libpthread.so.XX is ein Teil der Glibc. Und bei ihm wurde das gegen eine andere Binarie gelinkt.
Mr_T, ich hab das Problem auch, screen unter Linux ist zum Wegschmeissen. _________________ Ich bin keine Signatur, ich putz hier nur |
|
Nach oben |
|
|
Eastler_dart
Anmeldungsdatum: 25.09.2005 Beiträge: 177 Wohnort: Baden-Würtemberg + Sachsen
|
Verfasst am: 28.03.2008, 21:07 Titel: |
|
|
Hallo Leute,
dachte schon, ich hätte wieder mal ein Brett vorm Kopf )
Jedoch, siehe hier, andere haben das gleiche Problem !
unter Ubuntu feisty fawn krieg ich mit Screen auch keinerlei Anzeige !
in der Konsole gestartet, gehen jedoch print und Co (nix grafisches).
Jedoch fällt mir noch ein Phänomen auf, welches vielleicht auf den
Fehler schließen läßt:
Ich öffne ein Terminal. Dort per sudo su geb ich mir die Erlaubnis,
alles zu tun (auch versehentlich Linux zu zerstören).
Damit öffne ich Nautilus (was dem Explorer in Win entspricht).
nun hangle ich mich durch den Verzeichnisbaum zum kompilierten Freebasic-Programm.
Jetzt laufen sämtliche Anzeigebefehle (locate, print...) auf die (noch stehende) konsole - scheinbar bringt es mein meinFBprog.exe nicht fertig, ein eigenes Fenster zu öffnen
Ein Vorredner hier hatte gemeint, er kriege keine Auflistung der möglichen Screenauflösungen, ich krieg diese Liste !!!
Hier das Programm dazu:
Code: | '****************************************************
'* Grafikmodiliste mit FB-Moeglichkeiten erstellen *
'* Eastler 12 jan 08 (fuer movin/walking start) *
'****************************************************
DECLARE SUB ZeigHauptMaske
DECLARE SUB ZeigKopfZeilen
DECLARE SUB ZeigDesktopInfo
DECLARE FUNCTION HolTaste (ZeigeText AS STRING) AS STRING
DIM AS INTEGER Modi, Breite, Hoehe, Tiefe, EingabeSchleifeFlag, ModiSchleifeFlag
DIM AS INTEGER Zaehler, SpaltenZahl, SpaltenBreite, LocX, LocY
DIM AS STRING Taste
#ifdef __FB_LINUX__
' nichts, da läuft Textconsole
#endif
#ifdef __FB_WIN32__
SCREEN 18
#endif
#ifdef __FB_DOS__
'auch hier sollte Textconsole laufen
#endif
CLS
EingabeSchleifeFlag = 0
SpaltenZahl = 3
SpaltenBreite = 20
ZeigHauptMaske
DO WHILE (EingabeSchleifeFlag = 0)
ModiSchleifeFlag = 0
DO UNTIL (ModiSchleifeFlag <> 0)
Taste = HolTaste ("Geben Sie die Farbtiefe ein!")
SELECT CASE Taste
CASE "Esc"
EingabeSchleifeFlag = 1
ModiSchleifeFlag = 1
CLS
PRINT "ESC-TASTE, graflist ends"
CASE "8","15","16","24","32"
ModiSchleifeFlag = 1
Modi = ScreenList(VAL(Taste))
Zaehler=0
CLS
ZeigKopfZeilen
WHILE (modi)
Breite = HIWORD(Modi)
Hoehe = LOWORD(Modi)
LocY = 5 + (Zaehler \ SpaltenZahl)
LocX = ( Zaehler - (LocY*SpaltenZahl) ) * SpaltenBreite
Zaehler = Zaehler+1
LOCATE LocY, LocX
PRINT STR(Breite) & " x " & Str(Hoehe) & " x " & TASTE
Modi = SCREENLIST
WEND
DO WHILE INKEY$="" : LOOP
cls
ZeigHauptMaske
CASE "D"
ZeigDesktopInfo
CASE ELSE
ModiSchleifeFlag = 1
EingabeSchleifeFlag = 1
END SELECT
LOOP
LOOP
'-------------------------------------------------
FUNCTION HolTaste (ZeigeText AS STRING) AS STRING
DIM AS STRING Taste, Ruckgabe
DIM AS INTEGER EingabeFlag
EingabeFlag = 0
DO UNTIL (EingabeFlag = 1)
LOCATE 14,10
PRINT ZeigeText
DO UNTIL LEN(Taste) > 0
Taste = INKEY$
LOOP
LOCATE 14,10
PRINT ZeigeText
SELECT CASE Taste
CASE "1"
Ruckgabe="8"
EingabeFlag = 1
CASE "2"
Ruckgabe="15"
EingabeFlag = 1
CASE "3"
Ruckgabe="16"
EingabeFlag = 1
CASE "4"
Ruckgabe="24"
EingabeFlag = 1
CASE "5"
Ruckgabe="32"
EingabeFlag = 1
CASE "D","d"
Ruckgabe="D"
EingabeFlag = 1
CASE CHR$(27)
Ruckgabe="Esc"
EingabeFlag = 1
CASE ELSE
Ruckgabe=""
Taste=""
END SELECT
LOOP
HolTaste = Ruckgabe
END FUNCTION
'-------------------------------------------------
SUB ZeigHauptMaske
ZeigKopfZeilen
LOCATE 5,10 : PRINT "MENUE"
LOCATE 6,10 : PRINT "[1] = 8-Bit Farbtiefe"
LOCATE 7,10 : PRINT "[2] = 15-Bit Farbtiefe"
LOCATE 8,10 : PRINT "[3] = 16-Bit Farbtiefe"
LOCATE 9,10 : PRINT "[4] = 24-Bit Farbtiefe"
LOCATE 10,10 : PRINT "[5] = 32-Bit Farbtiefe"
LOCATE 11,10 : PRINT "[D] = Desktop-Einstellungen
LOCATE 12,10 : PRINT "[Esc] = Programmende"
LOCATE 20,10 : PRINT "Je nach Ihrer Tasteneingabe (1 bis 5)"
LOCATE 21,10 : PRINT "erhalten Sie eine Liste aller Aufloesungen"
LOCATE 22,10 : PRINT "die Ihre Grafikkarte in dieser Farbtiefe "
LOCATE 23,10 : PRINT "beherrscht"
END SUB
'-------------------------------------------------
SUB ZeigKopfZeilen
LOCATE 2,10 : PRINT "GrafList.bas EASTLER 12.Jan 2008"
LOCATE 3,10 : PRINT " Zeigt die Grafikmodi Ihrer Grafikkarte an "
LOCATE 4,10 : PRINT "---------------------------------------------------"
END SUB
'-------------------------------------------------
SUB ZeigDesktopInfo
DIM AS INTEGER Breite, Hoehe, FarbTiefe
DIM driver_name AS STRING
SCREENINFO Breite, Hoehe, FarbTiefe,,,,driver_name
LOCATE 16,10
PRINT STR(Breite) + "x" + STR(Hoehe) + "x" + STR(FarbTiefe);
PRINT " Grafik-Treiber:" + driver_name
END SUB |
Dieses Programm reagiert auf drei verschiedene Arten:
wird es unter Windows kompiliert, öffnet es ein Screen 20 - Fenster
(weil sonst bei mir unter XP-Prof wieder nix angezeigt wird),
jedoch unter Dos und Linux wird kein Screen-Befehl ausgeführt,
es läuft in der (vorhandenen) Konsole
Wird also unter Linux das Programm in der Konsole gestartet, läuft es erst mal.
Mit den Tasten 1, 2, 3, 4, oder 5 kann man sich die möglichen Auflösungen der gewählten Farbtiefe anzeigen lassen.
Dieses Listing läuft bei mir unter
XP-Prof
UBUNTU feisty fawn
nachdem ich folgende Pakete nachinstalliert habe:
Code: | um unter Ubuntu feisty fawn FreeBasic compilieren zu lassen,
hab ich folgende Pakete in Ubuntu installiert:
bereits vorhandene Pakete (install-CD) nachinstalliert
libxext6
Aus Internet neu heruntergeladene pakete:
libx11-dev (2:1.1.1-1ubuntu3)
libxau-dev_1.0.3-1_i386.deb
x11proto-core-dev_7.0.10-1_all.deb
libxdmcp-dev_1.0.2-1_i386.deb
x11proto-input-dev_1.4.1-1_all.deb
x11proto-kb-dev_1.0.3-2ubuntu1_all.deb
xtrans-dev_1.0.3-1_all.deb
libpthread-dev_2.0.7-4build1_i386.deb
libpthread20_2.0.7-4build1_i386.deb
xlibs-dev_7.2-0ubuntu11_all.deb
libice-dev_1.0.3-1build1_i386.deb
libsm-dev_1.0.2-1build1_i386.deb
libxext-dev_1.0.3-1build1_i386.deb
libxi-dev_1.1.0-1build1_i386.deb
libxmu-dev_1.0.2-1ubuntu2_i386.deb
libxmuu-dev_1.0.2-1ubuntu2_i386.deb
libxpm-dev_3.5.6-1_i386.deb
libxrandr-dev_1.2.0-3ubuntu1_i386.deb
libxt-dev_1.0.5-1_i386.deb
libxtrap-dev_1.0.0-3build1_i386.deb
libxtst-dev_1.0.1-3build1_i386.deb
libxv-dev_1.0.1-3ubuntu2_i386.deb
x-dev_7.0.10-1_all.deb
zlib1g-dev_1.2.3-13ubuntu4_i386.deb
x11proto-xext-dev_7.0.2-5ubuntu1_all.deb
x11proto-randr-dev_1.2.1-1_all.deb
x11proto-trap-dev_3.4.3-5ubuntu1_all.deb
x11proto-record-dev_1.13.2-4ubuntu1_all.deb
x11proto-video-dev_2.2.2-4ubuntu1_all.deb
libxmu-headers_1.0.2-1ubuntu2_all.deb
libxrender-dev_0.9.1-3_i386.deb
x11proto-render-dev_0.9.2-4ubuntu1_all.deb
libncurses5-dev_5.5-5ubuntu2_i386.deb
|
Danach hab ich kurzerhand "meinFBprog.bas" mit parameter -v -exx compiliert,
dabei werden einige Hinweise auf notwendige libs ausgegeben.
u.a. werden nachfolgende Kuerzel angezeigt, aus denen ich dann auf notwendige Pakete geschlossen habe.
Also startete ich Synaptic (Systemsteuerung/Software unter Windows) und verglich die installierten Pakete mit der Ausgabe.
Folgende Liste ergibt sich daraus:
Code: |
Ausgabe beim compilieren mit -exx
Ausgabe in Synaptic
-lX11 libx11-6 ,libX11-data, libX11-dev
-lXext libxext6
-lXpm libxpm4
-lXrandr xrandr, libxrandr2
-lXrender libxrender1
-lfb
-lgcc libgcc1
-lc libc6, libc6-dev, libc6-i686
-lm
-lpthread libpthread20, libpthread-dev
-ldl
-lncurses libncurses5, libncurses5-dev, libncursesw5
-lsupc++
-lgcc_eh
|
in der Linken Spalte sehen sie die Ausgabe beim compilieren, nun jedoch je Eintrag eine neue Zeile.
jeweils dahinter, in der zweiten Spalte, wahrscheinlich passende Eintraege aus Synaptic, und damit auf meinem Ubuntu bereits installierte Pakete.
Deutlich zu erkennen, fuer: -lfb -lm -ldl -lsupc++ und -lgcc_eh hab ich nichts gefunden, was ich sicher zuordnen koennte.
Hat jemand hierzu nen Rat? Denn eigentlich compiliert FB-linux (18.2) brav und ohne Fehler meinFBprog.bas. Und solange meinFBprog.bas keinen Screen (oder gleichwertigen) Befehl aufruft, laeuft ja alles in der Konsole super. Somit sollten doch alle notwendigen libs vorhanden sein.
Falls das also so ist, daß ich saemtliche notwendigen pakete installiert hab, dann bleibt immer noch die Frage, warum SCREEN es nicht schafft, ein Fenster fuer das Programm zu oeffnen und alle Ausgaben darauf sonstwo landen.
Hoffe, jemand weiss weiter
Eastler _________________ Kaum macht mans richtig, schon geht's |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 28.03.2008, 22:50 Titel: |
|
|
Ich weiß jetzt nicht, ob ich das Problem richtig verstanden habe: Du meinst, ein solches Programm
Code: | screen 19
locate 7,7
print "Hallo Benutzer!"
sleep |
liefert keine Ausgabe?
Bei mir klappt es einwandfrei (Feisty Fawn, fbc 0.18.3 vom 12-28-2007, wahrscheinlich aber 0.18.2 mit Fehler in der Versionsanzeige). Habe, wenn ich mich recht entsinne, eigentlich nur die built-essential und die in der FreeBASIC-README genannten Pakete (incl. dev) sowie zugehörige Abhängigkeiten installiert. Was ich in deiner Liste jetzt nicht gefunden habe (weiß auch nicht, ob es wirklich benötigt wird), ist
libXext-dev, libxpm-dev, libxrender-dev, libxrandr-dev
Falls die Pakete tatsächlich gebraucht werden, sollte er eigentlich gar nicht compilieren, aber probiere doch trotzdem mal, ob es mit diesen Paketen funktioniert. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
Eastler_dart
Anmeldungsdatum: 25.09.2005 Beiträge: 177 Wohnort: Baden-Würtemberg + Sachsen
|
Verfasst am: 29.03.2008, 00:21 Titel: |
|
|
Hallo Alle,
@nemored:
ja genau, dein Beispiel würde bei mir unter Ubuntu ins Leere schießen
würde ich aber die Screen-Befehl-Zeile rausnehmen,
dann würde das "Hallo Benutzer!" in der Konsole angezeigt werden (sofern ich auch in der Konsole das Programm starte).
Mittlerweile hab ich auch gelesen, daß Screen0-Programme, also solche, die keine Grafik benutzen, in der Konsole gestartet werden sollten.
Somit erschiene das Phänomen der Anzeige in irgendeiner grad laufenden Text-Konsole beim Start aus Nautilus als normal. Jedoch schreibe ich ausführlicherweise ein Screen 0 oben dran, dann wieder alles ins Leere , nur ohne Screen 0 und Start in der Konsole zeigt PRINTausgaben an.
Nur halt, der Screen-Befehl kriegt kein Fenster auf und danach gehen alle Anzeigebefehle ins Nirwana. Steht im Listing dann nach dem Screen-Befehl noch eine Tastenabfrage per Inkey, kommen die Tastenanschläge auch nirgendwo an. Nur ein Ctrl-C beendet ein solch verwirrtes Programm.
Die vier Libs, die du noch genannt hast, werden gebraucht, bei Grafik. Die hatte ich jedoch schon vorher installiert, deshalb scheinbar in der Liste vergessen - jedenfalls, bei mir sind sie drauf.
Wie du schon sagts, würde ja Fehler schon beim Kompilieren erzeugen, und das läuft ja sauber durch.
Grübelnd euer Eastler
EDIT: werde bei Gelegenheit mal FB 18.3 probieren, vielleicht gehts damit _________________ Kaum macht mans richtig, schon geht's |
|
Nach oben |
|
|
Mr_T aka FtFanmaster
Anmeldungsdatum: 26.12.2004 Beiträge: 103 Wohnort: Speyer
|
Verfasst am: 03.06.2008, 15:43 Titel: |
|
|
Morgen.
Ich habe mich dem Problem nun auch wieder zugewandt und kann folgendes berichten:
Wenn ich das einfache Programm
Code: |
Cls
Print "Hallo"
Screen 18, 16
Print "Hallo Welt"
Sleep
Screen 0
End
|
kompiliere und per Konsole starte, dann sehe ich ein "Hallo" in der Konsole und das war's, an dem Punkt hängt sich das Programm auf.
Starte ich das gleiche Programm per Doppelklick im Konqueror (Datei-Browser), dann öffnet sich ein Grafikfenster passender Größe, allerdings wird nichts angezeigt. Das geöffnete Grafikfenster lässt sich nur durch ein Killall abschießen, reagiert also wieder nicht.
Nun zum interessanten Teil:
Starte ich den Konqueror mit root-Rechten und doppelklicke auf das Programm so öffnet sich KEIN Grafikfenster, in der Konsole erscheint aber folgendes:
Code: |
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Hallo Welt
|
Zusammengefasst bekomme ich bei einem Start über den Dateibrowser also immerhin ein Grafikfenster, das aber leerbleibt und nicht reagiert. Die gesamten Print-Anweisungen vor dem Screen-Befehl bleiben dabei jedoch außen vor und werden nirgends sichtbar. Öffne ich das Programm direkt über die Konsole so erhalte ich zwar kein Grafikfenster, aber bekomme sämtliche Ausgaben vor dem Screen-Befehl zu Gesicht.
Starte ich den Browser über die Konsole so bekomme ich ein Grafikfenster, sehe vor dem Screen-Befehl aber noch alle Ausgaben in der Konsole mit der der Browser geöffnet wurde.
Ich benutze zur Zeit Freebasic 18.2 und habe an sich alle nur erdenklichen, passenden Libs installiert.
Ich bin überfragt :-/ |
|
Nach oben |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 27.08.2008, 21:42 Titel: |
|
|
@Eastler_dart:
libfb, kug mal unter dem Pfad vom FBC in /lib/[win32|linux|dos]/libfb.a und libfbgfx.a |
|
Nach oben |
|
|
|
|
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.
|
|