Hi,

On Thu, Mar 25, 2010 at 10:25 PM, Alexandre Saidi <
[email protected]> wrote:

> Dear Sarah.
> What do you mean by « Mac OSX OK »  ?
>

I use Mac OSX for my every day development work.  There was no problems on
Mac - it worked fine.

I meant that I was having trouble with Windows, however it worked fine on
Mac OSX.  I have not tried on Linux yet, but I don't anticipate any problems
there.

Windows was the problem.

However!!!!

I have now got to the point where I have Windows working as well as Mac!!  I
am happy.  :-)

Switching to MSVC tool chain (from MinGW) seemed to do the trick, or it may
have been going to the latest tarball of gprolog, as suggested by Daniel.

So I can produce a Windows installer and do some test installs - which is
where I wanted to get to before going back to working on the prolog source
on my Mac.

At present the project does almost nothing, but I wanted proof that it
worked at all on Windows before I spent too much time on it.

For anyone curious or self-harming enough to want to look:
http://sites.google.com/a/storybridge.org/games/ethex2040



> As far as I know, on mac, XGP does some jobs, not that much.
>

On Mac I use the QtCreator GUI for C++ development.  I use gvim, plus
gprolog from the command line for prolog.  I envisage that the prolog will
be most of the work, and the UI is just a wrapper.


> Linux : i use t use command line style.
>

Me too.  :-)


>
> Am I wrong?
> Is there any thing  about Mc/Linux and a worked-around GUI ?
>
> regards.
> Alex
>
> Le 24 mars 2010 à 15:19, Sarah Smith a écrit :
>
> OK, reporting back.  :-)
>
> After some battling I have gotten Qt + MSVC + gprolog all to play nice.
>  I've documented the lessons learned in the INSTALL file, and the other
> necessary changes to build files are also there, in this latest commit:
>
>
> http://gitorious.org/ethex2040/ethex2040/commit/c737effd59e7b4d14e4042653c1c5a76e4c233fd
>
> Initially I thought I had a running app but somehow the wrong version of
> gplc was being called, and when the resultant object file was linked the
> prolog system could not find any predicates.
>
> The solution turned out to be an issue with msvc 2008 manifest files and
> the workaround is also documented in the INSTALL 
> file<http://gitorious.org/ethex2040/ethex2040/blobs/master/INSTALL#line89>.
>  In the future perhaps the gprolog build under msvc could take this into
> account.
>
> Now I'm basically back where I was with mingw, where the app compiles and
> runs, and calls into the prolog to initiate the logic, the prolog calls back
> out successfully with the initial report, but the more complex commands like
> "look" are failing.
>
> I have not yet put any time into debugging this so it may prove to be easy
> to fix with the different toolchain.
>
> On Sun, Mar 21, 2010 at 11:10 PM, Sarah Smith <[email protected]> wrote:
>
>> Following a suggestion off list I am trying a different toolchain - VC9,
>> which is a free download from Microsoft.  As per the instructions for msvc
>> in the WINDOWS file I have also installed the platform SDK.  That and mingw
>> are my only options for Qt on Windows so I hope it works.  :-)
>>
>> Switching toolchains was not trivial.  Much downloading and configuring
>> and a few minor glitches later I finally have a debug build of gprolog built
>> with Visual Studio C++ 2008.
>>
>> I had to comment out the line:
>>
>> #define fgetc getc
>>
>> in arch_dep.h to get around an error:
>>
>> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(272) :
>> error C3163: 'getc': attributes inconsistent with previous declaration
>>         c:\program files\microsoft visual studio
>> 9.0\vc\include\stdio.h(214) : see declaration of 'getc'
>>
>> (( I guess the autoconf test was failing to set HAVE_FGETC ))
>>
>> Now I have to persuade Qt to use the VS tool chain...  will report back.
>>
>> On Sat, Mar 20, 2010 at 10:11 PM, Sarah Smith <[email protected]>wrote:
>>
>>> Hi,
>>>
>>> First off would like to say thanks to the authors of gprolog for a great
>>> prolog implementation and an nice cross-platform distribution.
>>>
>>> I'm working on a text adventure game as a personal project, using prolog
>>> for the game logic, and C++/Qt for the UI.
>>>
>>> The plan is to release it on Mac (my main development platforrm), Windows
>>> (I run XP in a VM just for this purpose) and Linux.  My day job is writing
>>> C++ code, and I know my way around compilers.
>>>
>>> As soon as I got past first base, with some game logic and a UI working,
>>> I wanted to build a release on all platforms to make sure things are all
>>> working.
>>>
>>> But while things work well on Mac - after a couple of teething problems -
>>> I'm stuck with a crash bug on Windows.
>>>
>>> The problem is occurring in my "do_command" function when I call
>>> Pl_Query_Call:
>>>
>>> extern "C" void do_command(const char *command)
>>> {
>>>     int func;
>>>     int res;
>>>     PlTerm arg[512];
>>>     char cmd[512];
>>>     PlTerm list;
>>>
>>>     func = Find_Atom("do_command");
>>>
>>>     if (func)
>>>      {
>>>         Pl_Query_Begin(PL_TRUE);
>>>         i = 0;
>>>         k = 0;
>>>         list[0] = NULL;
>>>         while (command[i])
>>>         {
>>>             /* parse each token out into cmd */
>>>             arg[k++] = Mk_String(cmd);
>>>         }
>>>         if (k)
>>>             list = Mk_Proper_List(k, arg);
>>>         res = Pl_Query_Call(func, 1, list);
>>>         while (res)
>>>             res = Pl_Query_Next_Solution();
>>>         Pl_Query_End(PL_RECOVER);
>>>     }
>>> }
>>>
>>> I've cut out some detail but the full source code is here:
>>> http://gitorious.org/ethex2040/ethex2040/blobs/master/prolog.cpp#line43
>>>
>>> I compiled gprolog from source so I could use it in debug mode, but the
>>> stack trace is not helpful.  At least it shows the site of the crash.
>>>
>>> When the above function processes a command, I get a SIGSEGV crash on
>>> line 69 of file unify.c in the function Pl_Unify:
>>>
>>> Bind_UV(u_adr, v_word)
>>>
>>> I presume there's something wrong with the u_adr pointer.  But the other
>>> frames in the stack are assembler and so far I'm mystified as to how to
>>> trace what is going wrong.
>>>
>>> Any ideas?
>>>
>>> Regards,
>>>
>>> Sarah Smith
>>>
>>
>>
> _______________________________________________
> Users-prolog mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/users-prolog
>
>
>  -------------------------------
> Alexandre Saidi
> Maitre de Conférences
> Ecole Centrale de Lyon-Dép. MI
> LIRIS-CNRS UMR 5205
> Tél : 0472186530, Fax : 0472186443
>
>
>
>
>
>
>
_______________________________________________
Users-prolog mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/users-prolog

Reply via email to