1 Ostatnio edytowany przez jury (2013-08-25 20:07:07)

Znów się zebrałem aby postawić sobie to środowisko  ( tym razem na poważnie :P )
Zaktualizowałem gcc 2.95.3 do 4.5.1 Ketiha rpm'em, rozpakowałem SDL'a od Patrice'a i poustawiałem PATHa aby się do tego odnosił.

No i przy próbie kompilacji testu środowiska tym kodem:

#include<SDL.h>
#include<stdlib.h>
#undef main
int main()
{
 if(SDL_Init(SDL_INIT_VIDEO)<0) {
  printf("Nie mozna zainicjalizowac SDL");
 return 1;
 }
 atexit(SDL_Quit);
 return 0;
} 

wywala się krzycząc, że nie wie co to stdlib, no to zmieniłem mu na stdio i też to samo. Czy środowisko gcc nie udostępnia standardowej biblioteki samo w sobie czy ja czegoś tu nie rozumiem? No chyba, że pod MiNTa to jest inna biblioteka ( albo wręcz zewnętrzna ) to poproszę o nazwę.
Zdrówka.

Gcc nie udostępnia ani stdlib ani stdio. Udostęþnia to MiNTLib.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

3 Ostatnio edytowany przez jury (2013-08-25 20:56:27)

Aha, dzięki.
I w takim razie kolejna rzecz. Ściągnąłem sobie mintlib-dev ze spareminta ( nawet świeżyna :) ) ale przy rpm -i mintlib-dev.rpm krzyczy:
error: package mintlib 0.59.1 is already installed

No to go rpm -e mintlib-dev a on mi:
error: package mintlib-dev is not installed

Jak to ugryźć?

Edit:
OK, nieważne bo sierota jestem i ściągnąłem niechcący nie mintlib-dev a mintlib %-)

4 Ostatnio edytowany przez jury (2013-08-25 22:28:22)

Mam następnego kwiatka.

Po zamontowaniu SDL'a ze strony:
http://pmandin.atari.org/dotclear/index … s-libs-sdl
podczas kompilacji gcc krzyczał w stylu:

file included from /usr/local/include/sdl/sdl_main.h, from /usr/local/include/sdl/sdl.h, from 1.c:1:
/usr/local/include/sdl/sdl_stdinc.h: fatal error: sdl_config.h: no such file or directory

No i faktycznie, w katalogu z include'ami SDL'a nie było pliku sdl_config.h, było za to wiele różnych, jak np:
sdl_config_dreamcast.h, sdl_config_macoesx.h, sdl_config_os2.h ... i był też sdl_config_minimal.h którego przemianowałem na sdl_config.h :)

Po tej akcji zaczął krzyczeć:
/lib/gcc/mk68k-atari-mint/4.5.1/include/stddef.h error: conflicting types for ‘size_t’
... previosu declaration of 'size_t was here ( i tu podał ścieżkę do SDL_config.h )
Zerknąłem sobie w tego stddef.h i jednak szybko się poddałem w zrozumieniu o co tam chodzi.

To ja coś kombinuję nie tak czy to archiwum od Patrice'a jest lekko trefne ( to raczej wątpliwe )

5

sdl_config_minimal.h którego przemianowałem na sdl_config.h

Po tej akcji zaczął krzyczeć

Jak widać to był zły pomysł.

https://www.youtube.com/watch?v=jofNR_WkoCE

Po sprawdzeniu treści sdl_config_minimal.h, to zdecydowanie zły pomysł. Wygląda na to że w archiwum brakuje właściwego pliku. Proponuję skontaktować się z PM aby zrobił poprawkę.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

7 Ostatnio edytowany przez jury (2013-08-26 08:20:02)

Tak, pierwsze co zrobiłem to poszedł mail do PM. Ale myślałem, że a nóż to coś 'standardowego' i ktoś szybciej da rozwiązanie :) No to sobie w takim razie cierpliwie czekam.

Z tego co widzę ten plik zawiera 'konfigurację' sdla, czyli jakie drivery (audio/video/input) są dostępne. Grzebiąc po źródle SDLa (i symbolach binarnych bibliotek) dałoby się to zrekonstruować (bo do są np. #define SDL_VIDEODRIVER_GEM 1, itp.).

Pytanie podstawowe: czemu chcesz używać SDLa na Atari? Nie będzie to za szybkie. Proponowałbym zamiast tego użyć jakiejś biblioteki dedykowanej Atari np. GODLIB (tylko tu może być problem ze skompilowaniem pod gcc).

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

9 Ostatnio edytowany przez jury (2013-08-26 12:59:09)

Właśnie dostałem ten brakujący SDL_config.h od PM, więc jak dzisiaj po odbębnieniu płatnego niewolnictwa starczy czasu, to przysiądę i będę walczył dalej ( no chyba, że teraz już wszystko będzie się działać ^^ )

Adam Klobukowski napisał/a:

Pytanie podstawowe: czemu chcesz używać SDLa na Atari? Nie będzie to za szybkie.

Do tego do czego potrzebuję, to SDL będzie latać i fruwać. Natomiast co do tej prędkości SDLa na dopalonym Atari to nie jest tak źle. Taki OpenTTD jest w SDLu, a na CT63 chodzi absolutnie wyśmienicie. A ja takiej mocy jak OpenTTD nie będę ( a przynajmniej na razie, hiehie :) ) potrzebował.

To przy okazji możesz popytać PM op SDL 2.0 :D

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio

11 Ostatnio edytowany przez jury (2013-09-03 21:08:59)

Cholerka, utknąłem od prawie 2 godzin i już mi pomysłów brak, a internet się skończył więc nie wiem gdzie dalej szukać :P
Aha, nie krzyczeć na mnie głośno, bo to moja pierwsza przygoda na 'poważnie' :) z C i tym jego wstrętnym ;) środowiskiem pełnym zybelionów zależności i trylionów opcji do ogarnięcia przy ustawieniu tego :P

Sam SDL pięknie mi już lata, gra i buczy, ale do do pełni mocy postanowiłem dorzucić bibliotekę SDL_image. Sama biblioteka zainstalowana i w sdl-config dokonana modyfikacja aby linkował co potrzeba. Aby jednak ruszył kod używający funkcji IMG_load musiałem doinstalować biblioteki libjpeg, libtiff i libpng. Dokonfigurowałem co trzeba w sdl-config i teraz krzyczy to co w załączniku, czyli w cholerę jakichś braków tif_aux.o, tif_color.o, tif_zip.o ( robiłem find po dysku i nie znalazł takich plików ) i tak dalej. O co mu teraz chodzi? Bo jak przeczesałem sieć to z tego co zrozumiałem ( na moją mało rozumiejącą jeszcze głowę odnośnie C ) to takich bibliotek o nazwach tif_aux, tif_color ... to nie ma. Czy coś może w takim razie jednak źle pokonfigurowałem?
Ratujta :)

Post's attachments

gcc2.jpg 116.39 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

12 Ostatnio edytowany przez jellonek (2013-09-03 21:16:12)

jesli masz takie pliki - to w jakims libtiff.a (archiwum obiektow).
czy ty czasem nie zlinkowales libtiff do postaci biblioteki dynamicznej?

edited: haha, ok, zobaczylem zalacznik ;)
nie umiesz po prostu czytac komunikatow bledow ;)
te wszystkie pliki sa, ale one potrzebuja innego liba w trakcie kompilacji - sprawdz czy nie wystarczy dodac -lz jako parametr ;) (wnioskuje po missing symbol _deflate).

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

13

Ojtam ojtam ... o złe rzeczy pytasz googlownice ...

dodaj za plik.c  opcję -lm

"tatusiu zobacz, narysowałam tobie takie same coś jak na twojej koszulce" 
https://github.com/willyvmm/mouSTer
jmp $e477

14

Tak, to prawda, komunikatów błędów to ja kompletnie jeszcze nie rozumiem :)
A co do dodania -lz lub -lm to oczywiście takie coś mam.
Jak co, to sdl-config --libs zwraca mi:
-L/usr/local/lib -lSDL -gem -ldg -lgem -lm ( od tego momentu reszta dodana do skryptu sdl-config przezemnie ) -lSDL_image -lz -ltiff -lpng -ljpeg

15 Ostatnio edytowany przez jury (2013-09-19 19:26:31)

Poszło. Dzięki powyższym uwagom trochę inne zapytania do googla szły, więc chyba załapałem z tego więcej.
A do tego, w między czasie napisał mi Patrice i zje.bał za to że dłubię w skrypcie sdl-config, więc wszystko co tam dałem to wywaliłem na zewnątrz, tyle, że "-lSDL_image -lz -ltiff -lpng -ljpeg" dałem za plic.c a nie na końcu tam gdzie był sdl-config --libs i ruszyło :)
Nie rozumiem tylko dlaczego podając flagi do linkera zadziałało jeśli je podzieliłem i każda część znalazła się w innym miejscu, ale na ogarnięcie tego to już dzisiaj nie mam siły. Ważne, że skompilowało się :)


Edit:
( mój brudnopis ku pamięci, czytający olać poniższe ;) )
-lSDLimage -ltiff -lpng -ljpeg -lz

Twój problem wynika z tego że w 'normalnych' systemach unixowych biblioteka matematyczna (-lm) jest częścią libc i nie trzeba dodatkowo jej wskazywać do linkowania. Pod MiNTem jest to oddzielna biblioteka i z tego powodu trzeba dodawać opcję -lm.

Atari: FireBee, (Falcon030 CT60e SuperVidel SvEthlana CTPCI), TT, (520ST Pak030 Frak PuPla Panther), (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435), (1040STFM UltraSatan SM124), (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224), 260ST, 520 ST+, (MEGA ST SM125), (65XE Rapidus U1MB VBXE SIDE2 SIO2PC), (Jaguar SkunkBoard), Lynx II, 2x Portfolio