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?

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.

Reply via email to