Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

17.06.2016, 10:03

Sabayon 16.06 und "Still yet another Sokoban"

Hallo,
ich bin neu hier und habe Sabayon 16.06 installiert.
Ich hab ein kleines Problem mit dem Spiel "Still yet another sokoban".

Ich habe laut linuxquestion.org eine neue Zeile in der Datei main.cpp eingefügt

Quellcode

1
#include <unistd.h>

Der Link dazu ist der http://www.linuxquestions.org/questions/…lem-4175582415/

Das Ergebnis mit make:
[code][lars@lars-lenovo-b50-30 ~/Downloads/Programme/Linux/Spiele/syasokoban-2.0.1 $ make
gcc -ansi -Wall -I/usr/local/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c src/Main.cpp -o src/Main.o
gcc -ansi -Wall -I/usr/local/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c src/djControls.cpp -o src/djControls.o
src/djControls.cpp: In Elementfunktion »virtual bool djTextEdit::OnEvent(SDL_Event&, SDLMod)«:
src/djControls.cpp:62:14: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (m_nPos<m_sText.length()) m_nPos++;
^
src/djControls.cpp: In Elementfunktion »virtual bool djList::OnEvent(SDL_Event&, SDLMod)«:
src/djControls.cpp:364:19: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (m_nSelected<m_aItems.size()-1) m_nSelected++;
^
In file included from src/djGraph.h:16:0,
from src/djItem.h:11,
from src/djControls.h:10,
from src/djControls.cpp:8:
src/djUtils.h:23:24: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
#define djMIN(a,b) ((a)<(b)?(a):(b))
^
src/djControls.cpp:381:19: Anmerkung: bei Substitution des Makros »djMIN«
int nNewSel = djMIN(m_aItems.size()-1, m_nSelected + m_nMax);
^
src/djControls.cpp:398:40: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (m_aItems.size()>0 && m_nSelected!=m_aItems.size()-1)
^
src/djControls.cpp: In Elementfunktion »virtual bool djList::OnMouseButtonDown(int)«:
src/djControls.cpp:443:18: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (m_nSelected<m_aItems.size()-1) m_nSelected++;
^
src/djControls.cpp:450:11: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (nSel<m_aItems.size()-1)
^
src/djControls.cpp: In Elementfunktion »virtual void djList::Draw(SDL_Surface*, int, int)«:
src/djControls.cpp:491:12: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (nSel<m_aItems.size()-1)
^
src/djControls.cpp:500:13: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
if (nItem<m_aItems.size())
^
src/djControls.cpp: In Elementfunktion »void djList::SetItem(int, int, const char*)«:
src/djControls.cpp:566:26: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
while (m_aItems.size()-1<nRow)
^
src/djControls.cpp:569:39: Warnung: Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken [-Wsign-compare]
while (m_aItems[nRow].asText.size()-1<nColumn)
^
gcc -ansi -Wall -I/usr/local/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c src/djItem.cpp -o src/djItem.o
gcc -ansi -Wall -I/usr/local/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c src/djDesktop.cpp -o src/djDesktop.o
src/djDesktop.cpp: In Elementfunktion »bool CdjDesktop::LoadMouseCursorA(const char*, const char*)«:
src/djDesktop.cpp:103:64: Warnung: Operation auf »*(pRow + ((sizetype)(((long unsigned int)j) * 4ul)))« könnte undefiniert sein [-Wsequence-point]
*(pRow + j) = (*(pRow+j) &= (0x00FFFFFF | (ucAlpha << 24)));
^
gcc -ansi -Wall -I/usr/local/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c src/djGraph.cpp -o src/djGraph.o
gcc -ansi -Wall -I/usr/local/include -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -c src/djSettings.cpp -o src/djSettings.o
src/djSettings.cpp: In Elementfunktion »bool CdjSettings::LoadSettings(const char*)«:
src/djSettings.cpp:45:29: Fehler: »strchr« wurde in diesem Gültigkeitsbereich nicht definiert
char *sz = strchr(buf, '=');
^
src/djSettings.cpp:51:41: Fehler: »strlen« wurde in diesem Gültigkeitsbereich nicht definiert
Setting.szKey = new char[strlen(buf)+1];
^
src/djSettings.cpp:53:31: Fehler: »strcpy« wurde in diesem Gültigkeitsbereich nicht definiert
strcpy(Setting.szKey, buf);
^
src/djSettings.cpp: In Elementfunktion »void CdjSettings::SetSetting(const char*, const char*)«:
src/djSettings.cpp:82:42: Fehler: »strcmp« wurde in diesem Gültigkeitsbereich nicht definiert
if (!strcmp(szKey, m_aSettings.szKey))
^
src/djSettings.cpp:85:52: Fehler: »strlen« wurde in diesem Gültigkeitsbereich nicht definiert
m_aSettings[i].szValue = new char[strlen(szValue)+1];
^
src/djSettings.cpp:86:42: Fehler: »strcpy« wurde in diesem Gültigkeitsbereich nicht definiert
strcpy(m_aSettings[i].szValue, szValue);
^
src/djSettings.cpp:92:41: Fehler: »strlen« wurde in diesem Gültigkeitsbereich nicht definiert
Setting.szKey = new char[strlen(szKey)+1];
^
src/djSettings.cpp:94:29: Fehler: »strcpy« wurde in diesem Gültigkeitsbereich nicht definiert
strcpy(Setting.szKey, szKey);
^
src/djSettings.cpp: In Elementfunktion »char* CdjSettings::FindSetting(const char*)«:
src/djSettings.cpp:131:42: Fehler: »strcmp« wurde in diesem Gültigkeitsbereich nicht definiert
if (!strcmp(szKey, m_aSettings[i].szKey))
^
src/djSettings.cpp: In Elementfunktion »int CdjSettings::GetSettingInt(const char*, int)«:
src/djSettings.cpp:162:16: Fehler: »atoi« wurde in diesem Gültigkeitsbereich nicht definiert
return atoi(sz);
^
src/djSettings.cpp: In Elementfunktion »float CdjSettings::GetSettingFloat(const char*, float)«:
src/djSettings.cpp:170:16: Fehler: »atof« wurde in diesem Gültigkeitsbereich nicht definiert
return atof(sz);
^
src/djSettings.cpp: In Elementfunktion »int CdjSettings::GetSettingInt(const char*, int)«:
src/djSettings.cpp:163:1: Warnung: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Wreturn-type]
}
^
src/djSettings.cpp: In Elementfunktion »float CdjSettings::GetSettingFloat(const char*, float)«:
src/djSettings.cpp:171:1: Warnung: Kontrollfluss erreicht Ende von Nicht-void-Funktion [-Wreturn-type]
}
^
Makefile:28: die Regel für Ziel „src/djSettings.o“ scheiterte
make: *** [src/djSettings.o] Fehler 1
lars@lars-lenovo-b50-30 ~/Downloads/Programme/Linux/Spiele/syasokoban-2.0.1 $
/code]
Was fehlt denn da noch?

Vielen Dank
Lars
[/i][/i][/i]

2

17.06.2016, 11:42

Man könnte ja hinweisen das du es dort schon gepostet hast ....

https://forum.sabayon.org/viewtopic.php?f=81&t=33244
''''''''''''''''''''''''''''''''''''''''''''''''
Gentoo-Linux
der G-Punkt eines Pc´s

''''''''''''''''''''''''''''''''''''''''''''''''

3

17.06.2016, 15:03

Das letzte Release des Spiels ist 10 Jahre alt. Inzwischen hat sich sicherlich viel in abhängigen Bibliotheken und auch im Gcc geändert. Du willst es nicht wirklich auf die neueste Versionen Portieren, oder?

Es gibt viele andere Sokoban-Clones, zB. ksokoban oder easysok. Schaue mal in den Sabayon-Paketmanager rein was da noch alles angeboten wird (Sabayon != Gentoo).

Wenn es syasokoban unbedingt sein soll würde ich pragmatisch die Windows-Version nehmen und diese dann mit Wine starten.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

4

17.06.2016, 15:17

Es muss leider das Spiel sein. ^^
Bei Manjaro läuft das Spiel nach dem 'make'-befehl.
Bei Rigo gibt es kein Spiel mit Easysok.
Das Forum forum.sabayon.org ist im deutschen Teil ist tot.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »lg240176« (17.06.2016, 15:30)


5

17.06.2016, 15:51

Selbst Bei Ubuntu steht:

Zitat

Still Yet Another Sokoban (SYASokoban): Die Linux-Version leidet unter dem gleichen Problem und lässt sich ebenfalls nicht kompilieren. Ironischerweise funktioniert aber die Windows-Version mit Wine völlig problemlos.


An sonsten beginnt die Patches-Sucherei und Bastelei. Die Archis sind da ganz gut drin, wer suchet der findet:
https://aur.archlinux.org/cgit/aur.git/t…ch?h=syasokoban
Schreib mal ob es damit klappt..

Den unteren Teil mit /usr/share/syasokoban/ musst Du nicht anwenden da Du ka nicht nach /usr/share installieren wirst.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

6

17.06.2016, 16:03

Ich hab es abgearbeitet.

Quellcode

1
2
3
4
5
6
7
8
lars@lars-lenovo-b50-30 ~/Downloads/Programme/Linux/Spiele/syasokoban-2.0.1 $ make
gcc -o syasokoban src/djFont.o src/Games.o src/GameRegistry.o src/djUtils.o src/Sokoban.o src/Game.o src/djMenu.o src/Main.o src/djControls.o src/djItem.o src/djDesktop.o src/djGraph.o src/djSettings.o -lstdc++ -lSDL -lpthread -lm
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/bin/ld: src/djFont.o: relocation R_X86_64_32 against `_ZTV7CdjFont' can not be used when making a shared object; recompile with -fPIC
src/djFont.o: error adding symbols: Bad value
collect2: Fehler: ld gab 1 als Ende-Status zurück
Makefile:19: die Regel für Ziel „syasokoban“ scheiterte
make: *** [syasokoban] Fehler 1
lars@lars-lenovo-b50-30 ~/Downloads/Programme/Linux/Spiele/syasokoban-2.0.1 $
Das klappt irgendwie nicht.
Naja, ich hab Playonlinux mit Wine 1.7.49 und das klappt mit der Windowsversion.