[asterisk-dev] several compile problems after SVN 44056 changes
Luigi Rizzo
rizzo at icir.org
Sat Sep 30 06:50:36 MST 2006
The changes to the makefiles in svn 44056 cause a number of
compile problems, some platform-independent (e.g. when using
AST_DEVMODE=yes), some maybe platform specific.
On the same platform(s), things worked fine as of last tuesday.
In detail:
- the code in codecs/lpc10 (and probably codecs/gsm, though i
haven't got that far) contain a number of questionable constructs
(e.g. /* in comments, unused variables, etc.) which cause compilation
to fail with -Werror (brought in by AST_DEVMODE=yes)
Some of these are easy to fix (e.g. the comments) but others may
be trickier.
I believe a good plan for this is to add some magic in
the individual Makefiles to remove -Werror, e.g.
Index: lpc10/Makefile
===================================================================
--- lpc10/Makefile (revision 44077)
+++ lpc10/Makefile (working copy)
@@ -23,6 +23,10 @@
CFLAGS+= -fPIC -Wno-comment
+# The code here is a highly non-standard, so compiling with -Werror
+# fails miserably.
+ASTCFLAGS:= $(ASTCFLAGS:-Werror=)
+
#fix for PPC processors and ALPHA, And UltraSparc too
ifneq ($(OSARCH),Darwin)
ifneq ($(findstring BSD,${OSARCH}),BSD)
and then (maybe in trunk) try to address the individual problems.
- also with AST_DEVMODE=yes, at least on FreeBSD (6.1-stable) we get an
error in editline (works fine without AST_DEVMODE). No idea on
the fix. I believe again there is a warning that becomes an error,
confusing 'configure'
cd editline && test -f config.h || CFLAGS="-I../include -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Werror -Wunused -I/usr/local/include -L/usr/local/lib -march=i386 -O6" ./configure --build=i386-unknown-freebsd6.1 --host=i386-unknown-freebsd6.1
creating cache ./config.cache
checking for gcc... gcc
checking whether the C compiler (gcc -I../include -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g3 -Werror -Wunused -I/usr/local/include -L/usr/local/lib -march=i386 -O6 ) works... no
configure: error: installation or configuration problem: C compiler cannot create executables.
gmake[1]: *** [editline/libedit.a] Error 1
gmake: *** [main] Error 2
- once again on FreeBSD, even without AST_DEVMODE=yes, there is an error
building ..., i suppose due to a missing -lpthreads.
g++ -o asterisk -Wl,--export-dynamic abstract_jb.o acl.o aescrypt.o aeskey.o aestab.o alaw.o app.o ast_expr2.o ast_expr2f.o asterisk.o astmm.o autoservice.o callerid.o cdr.o channel.o chanvars.o cli.o config.o cryptostub.o db.o devicestate.o dns.o dnsmgr.o dsp.o enum.o file.o fixedjitterbuf.o frame.o fskmodem.o http.o image.o indications.o io.o jitterbuf.o loader.o logger.o manager.o md5.o netsock.o pbx.o plc.o privacy.o rtp.o say.o sched.o sha1.o slinfactory.o srv.o stdtime/localtime.o strcompat.o tdd.o term.o translate.o udptl.o ulaw.o utils.o editline/libedit.a db1-ast/libdb1.a buildinfo.o -ltermcap -lm -lcrypto
Here i am not sure why it is using g++ to do the linking...
cheers
luigi
More information about the asterisk-dev
mailing list