18 Sep, 2009, Chaumont wrote in the 1st comment:
Votes: 0
I'm in the process of learning to code C/C++, and trying to get the db saga codebase
running so I can poke around and try to figure out what I can. I'm using cygwin to
try and set it up but I've run into this problem when I try to 'make'.

If I could copy and paste directly from cygwin I would, but this is the basic jist of
what I run into:

/home/username/dbsc/src/comm.c:1754: undefined reference to '_deflate'
comm.o: In Function 'compressStart' :
/home/username/dbsc/src/comm.c:5797: undefined reference to '_deflate_Init_'
comm.o: In Function 'compressEnd' :
/home/username/dbsc/src/comm.c:5832: undefined reference to '_deflate_Inti_'
/home/username/dbsc/src/comm.c:5838: undefined reference to '_deflateEnd'
collect2: ld returned 1 exit status
make[1]: *** [dbs] Error 1
make[1]: Leaving directory 'home/username/dbsc/src'
make[all] *** Error 2


I've already ran into a few problems compiling which I've managed to find solutions
to, but this one has me stumped and I can't find anything to clear things up.

I'm running cygwin 1.5.25 on Windows XP, and I have all the devel packages and
most of the libs. Like I said, I'm in the early learning phase of coding so if any
instruction could be given in baby steps, it would be greatly appreciated.
18 Sep, 2009, Zeno wrote in the 2nd comment:
Votes: 0
You need to make sure zlib is installed correctly.
18 Sep, 2009, David Haley wrote in the 3rd comment:
Votes: 0
This was crossposted to SmaugMuds. Basically the same answer was given there.
18 Sep, 2009, Chaumont wrote in the 4th comment:
Votes: 0
-lz is on the L_FLAGS, and I've installed all the zlib packages that came in the setup file
for cygwin. I've done the editing to the makefile that the readme instructs. Could there
be a simple step that I'm missing? I know a less-than-functional amount about Linux, so
all of my direction in cygwin is straight from forums and help files. I had problems with
the zlib.h until I reinstalled it with the proper packages. Now, it compiles
everything properly except for the comm.c file.

Is there a simple solution to this, or should I just wait till I'm a bit more experienced to
tackle this kind of practice?…Or does everyone start out this way?
18 Sep, 2009, Tyche wrote in the 5th comment:
Votes: 0
Because this is wrong in the makefile…
L_FLAGS = $(OPT_FLAG) $(PROF) $(SOLARIS_LINK) ${MATH_LINK} -lz

$(CC) $(L_FLAGS) -o dbsaga $(O_FILES)

Libraries to be searched -lz -lm etc, should be placed after object files that reference them.

I would suggest changing the above to:
L_FLAGS = $(OPT_FLAG) $(PROF) $(SOLARIS_LINK)
L_LIBS = ${MATH_LINK} -lz

$(CC) $(L_FLAGS) -o dbsaga $(O_FILES) $(L_LIBS)

Not sure what $SOLARIS_LINK refers to.
18 Sep, 2009, Igabod wrote in the 6th comment:
Votes: 0
To copy/paste with cygwin just right click the title bar of the window and click properties, then in the options tab you'll see Edit Options, check both boxes and you'll be able to copy paste. Just highlight the text then right click to copy, to paste something into cygwin just copy it and then right click to paste it.
18 Sep, 2009, Chaumont wrote in the 7th comment:
Votes: 0
Thanks, Tyche. That worked like a charm. I'm now tinkering with my first mud.
And thanks for the tip, Igabod.
0.0/7