[CF-Devel] Uuh... compile errors - neverthless, PR is great!

Andreas Vogl andi.vogl at gmx.net
Mon Dec 4 20:33:30 CST 2000


I played around with the new partial protections (PR) a bit.
It´s really great, well done! In my opinion that is a leap
forward in CF-development.

Too bad, I had to face quite a lot of trouble when I tried
to install crossfire (server) of todays CVS. (My last update
was about a week ago, moreover I upgraded my OS).

My current OS is SuSE Linux 7.0, here´s what happened during
the compilation/installation process:
(I´m not complaining, I just try to provide information so that
 this can be fixed ;-) )

o ./configure: worked fine

o make depend: dumped *heaps* of errormessages, looking like:
  --------
  /usr/include/unistd.h:967: macro or `#include' recursion too deep
  In file included from ../include/includes.h:76,
                   from ../include/global.h:36,
                   from button.c:28:
  /usr/include/unistd.h:300: macro or `#include' recursion too deep
  /usr/include/unistd.h:301: macro or `#include' recursion too deep
  [etc, etc...]
  In file included from ../include/includes.h:76,
                   from ../include/global.h:36,
                   from button.c:28:
  /usr/include/unistd.h:967: macro or `#include' recursion too deep
  [etc...]
  ---------
  For godssake, this did not really affect the make-process. Maybe
  I could even do without "make depend" anyways, never tried though.
  Still I have not the slightest idea why this happened.

o make:
  First error: crossedit/xutil.c, Line 39: #include "png.c"
    There is NO png.c on my whole HD. After being stunned for a
    while I figured out that there is a png.c file in the CF-client
    code. Downloaded that, put into the crossedit/ dir and modified
    xutil.c so that it can cope with the functions from my new png.c
    file.

    Of course this was a dirty fix. Anyways, I´m quite curious how
    this was *supposed* to work on any OS? Real weird.

  Second error: main.c Line 154: function des_crypt() not defined.
    Reason: The #ifdefs deciding between "des_crypt()" and "crypt()"
    just plain failed. When looking into /usr/include/des.h one can
    see that it´s possible to have des.h existing and included but
    still no des_crypt() defined. Bad luck, this happened on *my* OS.
    Easy to fix for me, but not so easy to make it work on every OS...

o make install: uses the following compile flags:
   gcc -g -02 (X_EXTRA_CFLAGS) -I../include [...]
              ^^^^^^^^^^^^^^^^
   "(X_EXTRA_CFLAGS)" is not an acceptable flag for gcc, at least
   on my system. So I had to open the makefile and delete these
   extra-cflags. Seems to be new stuff, never seen it before.


I would greatly appreciate some help on these issues. I managed to
apply some personal workarounds, but that doesn´t mean I´m able to
come up with proper fixes for CVS right away (bummer).
Especiall since my expertise on make-files is damn low... =/


Andreas V.


    
    


More information about the crossfire mailing list