Tips on Building komssys on Cygwin

This document describes subtle issues that involve building komssys under Cygwin. Note that I have abandoned the effort, after deciding that komssys is way too buggy at compile time to be worth debugging. Oh how much I dislike automatic building tools (automake and its cousins) that never work once the OS is not Linux and tool revision is not precisely the one used by the author ...

  1. gethostbyaddr() in Cygwin uses char* as a type of the first argument. Solution: simply cast the first argument to char* in the code.
  2. Some guy thought it would be funny and Gates-defeating to name files MNThread and mnthread {.h, .cc} in the same directory. Solution: extract files from the archive (subdirectory os/) carefully and rename one set. Patch both the source code and the build files. Curse the unknown crusader.
  3. rtp/sh/SHRTPData.h is missing #include <sys/time.h>. Solution: add the include.
  4. _dls_set invocations in SendBlockSH_a.cc use very strange Attr constructs that triggered a copy constructor  for Attr that is prohibited. Solution: allow a copy constructor in Attr (MNAttr.h) - seems safe, as there is no dynamic memory inside. Of course, the "one assignment" rule is harder to verify now - so? By the way, without a bug in older gcc this would not have compiled, AFAIK.
  5. LRTPCachingReflector.h contains a non-local include. Solution: change to #include "../rtp/rtsp/parser/SDPMediaDescription.h"