Issue information

Issue ID
#4264
Status
Fixed
Severity
None
Started
Hercules Elf Bot
May 28, 2010 20:32
Last Post
Hercules Elf Bot
May 28, 2010 20:32
Confirmation
N/A

Hercules Elf Bot - May 28, 2010 20:32

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.