Quickmud errors with DJGPP

Posted by Xander on Sat 29 Nov 2003 01:33 AM — 4 posts, 19,408 views.

#0
Here's a transcription.
_________________________
C:\QUICK\SRC>make
gcc -c -Wall -O -g comm.c
In file included from comm.c:62:
merc.h:2358: warning: conflicting types for built-in function 'logf'
comm.c:208: error: conflicting types for 'gettimeofday'
c:/djgpp/include/time.h:86: error: previous declaration of 'gettimeofday'
comm.c: In function 'read_from_descriptor':
comm.c:1162: error: 'EWOULDBLOCK' undeclared (first use in this function)
comm.c:1162: error: (Each undeclared identifier is reported only once
comm.c:1162: error: for each function it appears in.)
make.exe: *** [comm.o] Error 1
___________________________

I am so completely new at this, and I really do not understand most of it...I'd be grateful if I could receieve assistance!
Thanks!

xander
Australia Forum Administrator #1
It is hard to tell, you haven't told us much, like which version of ROM you have, and what compiler you are using.

However I guess from the C: in your message that you are using Cygwin under Windows.

However the directory C:\QUICK\SRC> is a bit unusual.

Normally under Cygwin you should have a "home" directory, so the prompt would be more like:

/home/xander

I suggest running the Cygwin "bash" shell and compiling from within that.

Have you read this page? ...

http://www.gammon.com.au/smaug/howtocompile.htm
#2
I'm using djgpp (also a compiler) since I am unable to get cygwin's make to install on my computer, and got increasingly frustrated with installing make on my comp, so I got DJGPP.
Using : QuickMud
ROM 2.4b6 beta version of Merc 2.1 base code.
** OLC 1.81
** Lope's Color 2.0
** Erwin's Copyover
** Erwin's Noteboard
** Color Login

Thanks for trying to help!!! the folks at kyndig.com never replied :P

x
USA #3
Quote:

merc.h:2358: warning: conflicting types for built-in function 'logf'
comm.c:208: error: conflicting types for 'gettimeofday'
c:/djgpp/include/time.h:86: error: previous declaration of 'gettimeofday'


The logf warning is because newer compilers are including the math headers globally, and logf is one of the math functions. You'll need to renam the logf function as something else. As I recall, it's only used by the copyover code so it shouldn't take long to fix.

gettimeofday, comment out line 208, because your time.h file already declares the function for you and comm.c is repeating it with an incorrect type.

As for the last bit with EWOULDBLOCK, try including errno.h at the top of your file where the other includes are. I think that's what has the information it's not able to find.