вт, 2 апр. 2019 г. в 13:08, Matt Chelen <mattche...@gmail.com>:
> 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 < > artyom.shalkha...@gmail.com> wrote: > >> вт, 2 апр. 2019 г. в 12:02, Matt Chelen <mattche...@gmail.com>: >> >>> $ 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 < >>> artyom.shalkha...@gmail.com> wrote: >>> >>>> Matt, >>>> >>>> Indeed it's quite puzzling to me as well. >>>> >>>> вт, 2 апр. 2019 г. в 11:33, Matt Chelen <mattche...@gmail.com>: >>>> >>>>> 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 < >>>>> artyom.shalkha...@gmail.com> wrote: >>>>> >>>>>> вт, 2 апр. 2019 г. в 11:19, Matt Chelen <mattche...@gmail.com>: >>>>>> >>>>>>> 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 <mattche...@gmail.com> >>>>>>> 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 ats-lang-users+unsubscr...@googlegroups.com. >>>>>>>> To post to this group, send email to >>>>>>>> ats-lang-users@googlegroups.com. >>>>>>>> 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 ats-lang-users+unsubscr...@googlegroups.com. >>>>>>> To post to this group, send email to ats-lang-users@googlegroups.com >>>>>>> . >>>>>>> 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 ats-lang-users+unsubscr...@googlegroups.com. >>>>>> To post to this group, send email to ats-lang-users@googlegroups.com. >>>>>> 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 ats-lang-users+unsubscr...@googlegroups.com. >>>>> To post to this group, send email to ats-lang-users@googlegroups.com. >>>>> 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 ats-lang-users+unsubscr...@googlegroups.com. >>>> To post to this group, send email to ats-lang-users@googlegroups.com. >>>> 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 ats-lang-users+unsubscr...@googlegroups.com. >>> To post to this group, send email to ats-lang-users@googlegroups.com. >>> 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 ats-lang-users+unsubscr...@googlegroups.com. >> To post to this group, send email to ats-lang-users@googlegroups.com. >> 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 ats-lang-users+unsubscr...@googlegroups.com. > To post to this group, send email to ats-lang-users@googlegroups.com. > 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 ats-lang-users+unsubscr...@googlegroups.com. To post to this group, send email to ats-lang-users@googlegroups.com. 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.