libupnp/upnp
Marcelo Roberto Jimenez 3ef669562a Bug tracker #124 Build fails with --enable-debug
Build environment
Fedora 21
X86-64
gcc 4.9.2

how to repeat
$ ./configure --enable debug
$ make
libtool: compile: gcc -dhave_config_h -i. -i.. -i../upnp/inc -i./inc
-i../threadutil/inc
-i../ixml/inc -i./src/inc -pthread -g -o2 -wall -mt
src/api/libupnp_la-upnpstring.lo
-md -mp -mf src/api/.deps/libupnp_la-upnpstring.tpo -c
src/api/upnpstring.c
-fpic -dpic -o src/api .libs/libupnp_la-upnpstring.o
src/api/UpnpString.c:47:16:
error: expected identifier or '(' before 'extension'
extern char *strndup(const char *string, size_t __n);
^
Makefile:1016: recipe for target 'src/api/libupnp_la-UpnpString.lo'
failed

Reason for failure
Build enables -O2 optimization flags which causes the inclusion of a
macro implementation of strndup from include/bits/string2.h.

Workarounds
Disable optimization when configuring or making:
$ configure CFLAGS='-g -pthread -O0' --enable-debug
$ make
or
$ configure --enable-debug
$ make CFLAGS='-g -pthread -O0' Define NO_STRING_INLINES
$ export CFLAGS="-DNO_STRING_INLINES -O2"
$ ./configure --enagble-debug
$ make

Fix
* Don't declare strndup in src/api/UpnpString.c if it exists
(cherry picked from commit bc335f5df7)
2015-02-04 22:43:57 -02:00
..
doc Include prebuilt documentation (html,pdf), dropping doc++ dependancy. 2006-07-06 12:37:29 +00:00
inc Fix memory leaks caused by DOMString members. 2014-02-20 14:18:02 -03:00
m4 Remove excessive 'dnl's from libupnp.m4. 2010-06-26 11:09:06 +00:00
sample tv_ctrlpt crashes after detecting a later version of tvcontrol service 2013-10-29 17:57:46 -02:00
src Bug tracker #124 Build fails with --enable-debug 2015-02-04 22:43:57 -02:00
test Add unit test for parse_uri() 2014-09-22 12:00:02 -03:00
unittest .gitignore for unittest/templates/*.pp.c. 2010-10-21 00:52:09 -02:00
LICENSE Removing unnecessary additional directory level. 2006-07-04 02:44:17 +00:00
Makefile.am Add unit test for parse_uri() 2014-09-22 12:00:02 -03:00