вт, 2 апр. 2019 г. в 14:27, Matt Chelen <[email protected]>:
> Alright, to test it out, I tried building Lazy Foo's fourth SDL tutorial. > It does not work, though that may be in part due to the fact that Cygwin > applications apparently expect that an X11 server will be available. So I > tested it in MSYS2's MinGW64 shell with the same compilation flags > (adjusted for differences in library locations); it works. > > Interesting. > > Furthermore, I've discovered that, according to the SDL installation page > ( https://wiki.libsdl.org/Installation ), Cygwin is no longer supported. > Even if it did work, the reliance on an X11 server is fairly frustrating. > Disappointing results overall. I'll have to see how I want to proceed. > Ultimately, it would be nice if it compiled in MSYS2's MinGW64 shell, but > alas. > > Yes, under Cygwin the programs would have to rely in X11 anyways. I used such apps in the past, they are slow but they work (e.g. Emacs works). Compiling ATS2 programs in MinGW64 should be doable, but there are some parts of the prelude that depend on POSIX interfaces (the compiler itself could be just as useful as Cygwinized application; at least in the short term). Do you intend to do some graphics apps using ATS? I'd suggest switching to Linux or MacOS for now, if you can. > On Tue, Apr 2, 2019 at 7:00 AM Artyom Shalkhakov < > [email protected]> wrote: > >> вт, 2 апр. 2019 г. в 13:08, Matt Chelen <[email protected]>: >> >>> SDL2 does work in Cygwin. It even has its own environment-specific SDL >>> DLL. Additionally, I tried running it outside of Cygwin, using the required >>> DLLs, and it failed on startup. >>> >>> I added the -I flag to test02 in the makefile and it is also erroring on >>> the first use of assertloc. >>> >>> However, test00 returns the SDL version as expected. >>> >>> According to GitHub, the SDL2 wrapper hasn't been updated in five years. >>> Is it possible that it (or the examples) just doesn't work properly anymore? >>> >>> >> Well, it compiles to C. So I guess that if you can run a toy C program >> that initializes SDL2 video subsystem properly on Windows with Cygwin, then >> the corresponding ATS program should work just the same. Could you try that >> as well? >> >> >>> Simply to test if there was something weird going on with assertloc, I >>> tested this example ( >>> https://github.com/githwxi/ATS-Postiats/blob/6539444fe641f7fa493140bd9940e5acf00960e3/doc/EXAMPLE/INTRO/f91.dats >>> ) and it works fine. >>> >>> If I set SDL_GetError() to a variable, it goes past it and errors at the >>> first assertloc. If I try to print it directly, it won't let me; >>> compilation fails. SDL_Log is unrecognized. I've yet to go through any of >>> the ATS tutorial material (I was just trying to get all of this set up and >>> working), so I'm unsure how to proceed. >>> >>> On Tue, Apr 2, 2019 at 5:08 AM Artyom Shalkhakov < >>> [email protected]> wrote: >>> >>>> вт, 2 апр. 2019 г. в 12:02, Matt Chelen <[email protected]>: >>>> >>>>> $ pkg-config sdl2 --cflags >>>>>> -I/usr/include/SDL2 -D_REENTRANT >>>>>> >>>>> >>>>> As a side-note, I passed the $PATSCONTRIB -I flag to the make command >>>>> and it built test00 and test01, but test02 failed and test01 will not run, >>>>> instead throwing an error on the first use of assertloc. >>>>> >>>>> /usr/local/lib/ats2-postiats-0.3.13/contrib/SDL2/test/test01.dats: >>>>>> 311(line=25, offs=18) -- 331(line=25, offs=38) >>>>>> >>>>> >>>>> >>>> You use Windows and Cygwin, right? I'm wondering if SDL2 even works in >>>> this setting? The assertion has to do with SDL_Init returning an error >>>> code. Could you add a call to SDL_GetError() somewhere in there? As shown >>>> here, basically: >>>> >>>> https://wiki.libsdl.org/SDL_Init >>>> >>>> >>>>> test02 throws the same error as I had originally due to having >>>>> different cflags, so I think I am going to have to edit the makefile to >>>>> get >>>>> it to recognize the added -I flag. >>>>> >>>>> On Tue, Apr 2, 2019 at 4:57 AM Artyom Shalkhakov < >>>>> [email protected]> wrote: >>>>> >>>>>> Matt, >>>>>> >>>>>> Indeed it's quite puzzling to me as well. >>>>>> >>>>>> вт, 2 апр. 2019 г. в 11:33, Matt Chelen <[email protected]>: >>>>>> >>>>>>> Manually including the contrib folder with a -I flag seems to have >>>>>>> worked (other than the SDL_GetVersion function causing an undefined >>>>>>> reference error), but I'm still confused as to why it didn't just work. >>>>>>> The >>>>>>> documentation basically states that the way I had it set up is a valid >>>>>>> way >>>>>>> to set up the contrib folder, whereas having to manually include the >>>>>>> contrib folder says the opposite. >>>>>>> >>>>>>> >>>>>> Could you tell me what the following command evaluates to in your >>>>>> terminal: >>>>>> >>>>>> $ pkg-config sdl2 --cflags >>>>>> >>>>>> I picked it up from here: >>>>>> >>>>>> >>>>>> https://github.com/githwxi/ATS-Postiats-contrib/blob/master/contrib/SDL2/TEST/Makefile >>>>>> >>>>>> Notice that in this makefile, CFLAGS are added to the C compiler so >>>>>> that it can find SDL2. Maybe the makefile should also add an -I<directory >>>>>> of contrib/>. >>>>>> >>>>>> On Tue, Apr 2, 2019 at 4:23 AM Artyom Shalkhakov < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> вт, 2 апр. 2019 г. в 11:19, Matt Chelen <[email protected]>: >>>>>>>> >>>>>>>>> I just realized now that the file referenced in the comment is the >>>>>>>>> SATS file and that I had misread it, but it should hold that, if it >>>>>>>>> can >>>>>>>>> find the SATS file, which is simply in a different subdirectory of >>>>>>>>> contrib/SDL2, it should be able to find the CATS file, unless I am >>>>>>>>> mistaken >>>>>>>>> about how this is supposed to be set up. >>>>>>>>> >>>>>>>>> >>>>>>>> Well, the #includes in .cats files are resolved by the underlying C >>>>>>>> compiler, hence I think the issue is somehow in the C compiler (maybe >>>>>>>> it >>>>>>>> needs another -I flag or some such?) >>>>>>>> >>>>>>>> >>>>>>>>> On Tue, Apr 2, 2019 at 4:13 AM Matt Chelen <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> My contrib folder is in $PATSHOME/contrib. I've tried setting >>>>>>>>>> both the $PATSCONTRIB environment variable to both $PATSHOME, which >>>>>>>>>> I think >>>>>>>>>> the documentation said to do (it is entirely possible that I >>>>>>>>>> misunderstood >>>>>>>>>> the phrasing), and $PATSHOME/contrib, both with the same result. >>>>>>>>>> >>>>>>>>>> The SDL2 folder is in the contrib folder. It's just cloned from >>>>>>>>>> the GitHub repo and copied in there. The examples that I'm trying to >>>>>>>>>> build >>>>>>>>>> are in $PATSHOME/contrib/SDL2/TEST and the actual bindings are in >>>>>>>>>> $PATSHOME/contrib/SDL2/CATS/SDL.cats. >>>>>>>>>> >>>>>>>>>> Here's the relevant part of the generated C file, showing that it >>>>>>>>>> has the correct path to the file in question in the comment. >>>>>>>>>> >>>>>>>>>> /* >>>>>>>>>> /usr/local/lib/ats2-postiats-0.3.13/contrib/SDL2/SATS/SDL.sats: >>>>>>>>>> 899(line=29, offs=1) -- 941(line=33, offs=3) >>>>>>>>>> */ >>>>>>>>>> >>>>>>>>>> // >>>>>>>>>> #include "SDL2/CATS/SDL.cats" >>>>>>>>>> >>>>>>>>>> What it looks like (to me) is that it's just not resolving >>>>>>>>>> properly. None of the prelude ATS files that are included before >>>>>>>>>> that point >>>>>>>>>> are throwing errors. Just that one. Manually changing the location to >>>>>>>>>> "contrib/SDL2/CATS/SDL.cats" allows patscc to get past the error, >>>>>>>>>> but I >>>>>>>>>> then run into similar errors with the files that it includes. I'm >>>>>>>>>> just not >>>>>>>>>> sure why it's not resolving properly. Adding contrib to the >>>>>>>>>> beginning is >>>>>>>>>> required to get it to resolve even if I set $PATSCONTRIB to >>>>>>>>>> $PATSHOME/contrib. >>>>>>>>>> >>>>>>>>>> Do you think it might work properly if I move $PATSCONTRIB >>>>>>>>>> somewhere else or is something else going on? >>>>>>>>>> >>>>>>>>>> On Tuesday, April 2, 2019 at 3:07:05 AM UTC-4, Artyom Shalkhakov >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Hi Matt, >>>>>>>>>>> >>>>>>>>>>> On Monday, April 1, 2019 at 6:53:00 PM UTC+3, Matt Chelen wrote: >>>>>>>>>>>> >>>>>>>>>>>> I'm trying to get ATS-Contrib set up and I'm concerned that I >>>>>>>>>>>> don't currently have it configured correctly. As per the >>>>>>>>>>>> documentation, I >>>>>>>>>>>> put the "contrib" folder in $PATSHOME and set $PATSCONTRIB to >>>>>>>>>>>> $PATSHOME. >>>>>>>>>>>> >>>>>>>>>>>> The issue is that I tried compiling the SDL sample programs >>>>>>>>>>>> and, while the ATS compiler compiles them just fine, I get errors >>>>>>>>>>>> like the >>>>>>>>>>>> following from the resulting C source. >>>>>>>>>>>> >>>>>>>>>>>> $ make >>>>>>>>>>>> "/usr/local/lib/ats2-postiats-0.3.13"/bin/patscc -I >>>>>>>>>>>> "/usr/local/lib/ats2-postiats-0.3.13" -I >>>>>>>>>>>> "/usr/local/lib/ats2-postiats-0.3.13"/ccomp/runtime -D_GNU_SOURCE >>>>>>>>>>>> -I/usr/include/SDL2 -D_REENTRANT -o test00 test00.dats -L >>>>>>>>>>>> "/usr/local/lib/ats2-postiats-0.3.13"/ccomp/atslib/lib -latslib >>>>>>>>>>>> -lSDL2 >>>>>>>>>>>> test00_dats.c:82:10: fatal error: SDL2/CATS/SDL.cats: No such >>>>>>>>>>>> file or directory >>>>>>>>>>>> #include "SDL2/CATS/SDL.cats" >>>>>>>>>>>> ^~~~~~~~~~~~~~~~~~~~ >>>>>>>>>>>> compilation terminated. >>>>>>>>>>>> make: *** [Makefile:41: test00] Error 1 >>>>>>>>>>>> >>>>>>>>>>>> The same thing happens if I set $PATSCONTRIB to >>>>>>>>>>>> $PATSHOME/contrib. Did I set something up incorrectly? Is this a >>>>>>>>>>>> problem >>>>>>>>>>>> with the library? Is this a Cygwin issue? >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Could you check what is in those -I directories? In particular, >>>>>>>>>>> where are the SDL2/CATS/SDL.cats files located, and what is your >>>>>>>>>>> $PATSCONTRIB, does it have an SDL2 subdirectory? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Thanks in advance. >>>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>> Google Groups "ats-lang-users" group. >>>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>>> send an email to [email protected]. >>>>>>>>>> To post to this group, send email to >>>>>>>>>> [email protected]. >>>>>>>>>> Visit this group at >>>>>>>>>> https://groups.google.com/group/ats-lang-users. >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/d/msgid/ats-lang-users/be4dd68f-82f5-4292-8b62-762a69bfcf9a%40googlegroups.com >>>>>>>>>> <https://groups.google.com/d/msgid/ats-lang-users/be4dd68f-82f5-4292-8b62-762a69bfcf9a%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Matt Chelen >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "ats-lang-users" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> To post to this group, send email to >>>>>>>>> [email protected]. >>>>>>>>> Visit this group at https://groups.google.com/group/ats-lang-users >>>>>>>>> . >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/ats-lang-users/CAFh2Mmrdax0v18is7_9KVWeWa7wyG3X_k7NmU_3FhjOzKvnd0Q%40mail.gmail.com >>>>>>>>> <https://groups.google.com/d/msgid/ats-lang-users/CAFh2Mmrdax0v18is7_9KVWeWa7wyG3X_k7NmU_3FhjOzKvnd0Q%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Cheers, >>>>>>>> Artyom Shalkhakov >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "ats-lang-users" group. >>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>> send an email to [email protected]. >>>>>>>> To post to this group, send email to >>>>>>>> [email protected]. >>>>>>>> Visit this group at https://groups.google.com/group/ats-lang-users. >>>>>>>> To view this discussion on the web visit >>>>>>>> https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqiaTnM1KgXLrrftZPQFL5f94T%2BpTcOvQdgSigLA-xq5mg%40mail.gmail.com >>>>>>>> <https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqiaTnM1KgXLrrftZPQFL5f94T%2BpTcOvQdgSigLA-xq5mg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>> . >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Matt Chelen >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "ats-lang-users" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> To post to this group, send email to [email protected] >>>>>>> . >>>>>>> Visit this group at https://groups.google.com/group/ats-lang-users. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/ats-lang-users/CAFh2Mmr-Rxj6N8t%3D0QANDUdXA_qmRhWPV-NrfhpdgHdn4Kt8fA%40mail.gmail.com >>>>>>> <https://groups.google.com/d/msgid/ats-lang-users/CAFh2Mmr-Rxj6N8t%3D0QANDUdXA_qmRhWPV-NrfhpdgHdn4Kt8fA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Cheers, >>>>>> Artyom Shalkhakov >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "ats-lang-users" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To post to this group, send email to [email protected]. >>>>>> Visit this group at https://groups.google.com/group/ats-lang-users. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqgS9enS4qti_q%3D6KzHjJk41HWo0gC-UReaAXuyQgQxXOA%40mail.gmail.com >>>>>> <https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqgS9enS4qti_q%3D6KzHjJk41HWo0gC-UReaAXuyQgQxXOA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> >>>>> >>>>> -- >>>>> Matt Chelen >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "ats-lang-users" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at https://groups.google.com/group/ats-lang-users. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/ats-lang-users/CAFh2MmoqoLDY8Dt%3Dq9pitNCCYzCXerSi5vWXOPcm6zdrr7yQmw%40mail.gmail.com >>>>> <https://groups.google.com/d/msgid/ats-lang-users/CAFh2MmoqoLDY8Dt%3Dq9pitNCCYzCXerSi5vWXOPcm6zdrr7yQmw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> >>>> >>>> -- >>>> Cheers, >>>> Artyom Shalkhakov >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "ats-lang-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at https://groups.google.com/group/ats-lang-users. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqgxqCfS2JDTPfJqN0ZVA%2BRHR-D%3DQ8%2Bq830zL8wnsoXwpA%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqgxqCfS2JDTPfJqN0ZVA%2BRHR-D%3DQ8%2Bq830zL8wnsoXwpA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> >>> >>> -- >>> Matt Chelen >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "ats-lang-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/ats-lang-users. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/ats-lang-users/CAFh2MmqJP1Z7Om6H6yX-DduVhw_uvGaCOV%2B%2BXP_kBuckhJGBVg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/ats-lang-users/CAFh2MmqJP1Z7Om6H6yX-DduVhw_uvGaCOV%2B%2BXP_kBuckhJGBVg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> Cheers, >> Artyom Shalkhakov >> >> -- >> You received this message because you are subscribed to the Google Groups >> "ats-lang-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/ats-lang-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqiXLOE4cp8qCXR%2B6-%3DG_4wLJszUzJSz3URqGZ7By0DtSQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3DqiXLOE4cp8qCXR%2B6-%3DG_4wLJszUzJSz3URqGZ7By0DtSQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > > > -- > Matt Chelen > > -- > You received this message because you are subscribed to the Google Groups > "ats-lang-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/ats-lang-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/ats-lang-users/CAFh2MmoJG4cXfvMmPD5jXPuB63fez5Ftp-%2B%3DoazZR3vyusrfhg%40mail.gmail.com > <https://groups.google.com/d/msgid/ats-lang-users/CAFh2MmoJG4cXfvMmPD5jXPuB63fez5Ftp-%2B%3DoazZR3vyusrfhg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- Cheers, Artyom Shalkhakov -- You received this message because you are subscribed to the Google Groups "ats-lang-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/CAKO6%3Dqje%2B5p8PFzyFkwuKoJ%3DD9bPMTrrfrS6shOk6fwDh4TDDA%40mail.gmail.com.
