вт, 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.

Reply via email to