In case anybody is interested:
The problem was in the evx_generate.c file. fstat returns a filesize
of the file evx_preamble.cfrag which equals the filesize which I see
in the windows explorer. However it is larger than the c text that
evx_preamble contains. Because of that the evx5.c and evx7.c start
with the contents of evx_preamble followed by some random characters.
I fixed this by subtracting 39 from the filesize that fstat returns. I
admit that it is not a very pretty fix but I have no idea how to find
out the real filesize of evx_preamble. Or is this a bug in cygwin ?
After this new fix I can compile a lot more, until somewhere in the
eval package of the java directory. There I get a lot of errors
starting with this:
gcc -I. -I../include -I/cygdrive/c/j2sdk1.4.2_04/bin//../include
-I/cygdrive/c/j2sdk1.4.2_04/bin//../include/win32 -c pokutil.c -o
pokutil.o
gcc -shared -L../lib -lpoker -o ../lib/libpokerjni.so
org/pokersource/eval/StandardEvalImp.o
org/pokersource/eval/JokerEvalImp.o
org/pokersource/eval/AsianStudEvalImp.o
org/pokersource/enum/EnumerateImp.o jniutil.o pokutil.o
org/pokersource/eval/StandardEvalImp.o(.text+0x1f4):StandardEvalImp.c:
undefined reference to `_nBitsTable'
And from then on a whole lot of other undefined rererences. Does
anyone know what could be the problem now ? Any help would be greatly
appreciated !
Misja
--- In
pokersource@yahoogroups.com, Misja Alma <misja111@w...> wrote:
> Hi,
>
> I'm new to this group, and I have been trying to compile the
poker-eval dll.
> Because I'm using Windows 2000 I have downloaded the newest cygwin
version.
> Then I have checked out the latest head branch from you cvs repository.
> When I then tried to compile your sources I encountered some problems:
>
> The first problem was with the jni_md.h file, that comes with the
Java SDK.
> The 'jlong' type was defined there as '__int64'. Apparently the gcc
compiler
> doesn't like that, because it gave me compile errors. When I changed
> '__int64' into 'long long' it went ok.
>
> But then I got a compile error in the files evx5 and evx7 in the
> include/inlines directory. It's about this little piece of code, that I
> found in line 38 until line 48 in evx5; in evx7 a similar piece of
code gave
> problems:
>
> ranks = clubs | diamonds | hearts | spades;
>
> switch (ranks)
> {
> | spades;
>
>
>
> switch (ranks)
>
> {
>
> The first switch statement does not compile. I tried to comment it
out but
> it was no use because these files seem to be automatically generated
by the
> makescript. Does anybody know how I should fix this ?
>
> Thanks in advance,
> Misja