Originally posted by [b]shazeya[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=4264
First, this bug or mess-up dates way beyond revision 14309 and applies to both stable and trunk, probably also 3CeAM.
Operating system (OS): All Linux distribution I have ever used in 2010 to compile. The OS used for this report is Debian with kernel 2.6.34, GCC 4.4.4.
The error: plugins and, conf/import and save folders failed to compile with "make all"
The effect: some plugins could not be used (not that it matters on a Nix), import folders could not be used [for configuration override] and TXT failed to run due to absence of a save folder.
To reproduce the error:
* Clean up working copy and fetch source:
CODE
$ rm -rf *
$ svn up
* Configure:
CODE
$ ./configure
* Compile:
CODE
$ make all
Compile failed at src/plugins/sig.c line 55 with error "conflicting types for 'strsignal'". mapcache got compiled but *.so plugins failed. save and conf/import folders failed. (Note: I wanted to upload a screen shot but the upload directory of this forum is not set.)
To confirm the point of failure:
Repeat the above procedure, replace "make all" with "make sql" and then "make clean && make txt". plugins failed as expected but save and conf/import folders succeeded.
Inference:
1. In the case of "make all", save and conf/import failed because compile failed at plugins, and plugins is (was) ordered before import and save.
2. In the case of "make sql" or "make txt", save and conf/import succeeded because plugins was skipped.
Observation (unintended):
1. The svnversion.h portion of Makefile (or Makefile.in before configure) in src/common is rather puzzling. "which svnversion" (or shall I say `which svnversion`; but neither is POSIX compliant) has the same output as `svnversion`. The ifeq, else and endif are probably unnecessary.
2. There is no upnp.c (and upnp.h), thus resulting in a warning or whatever at run time. upnp is set to default on. However, upnp.dll is there.
Possible fixes:
1. Reordering make sequence, that is, put plugins last. This will not resolve the issue of failed plugins.
2. Redefining strsignal in sig.c, and resolve the issue of failed plugins. Since #include <signal.h> is present, it probably will be a matter of commenting out line 55.