[Asterisk-Users] Compiling VD_app_conference for x86_64
Erick Perez
eaperezh at gmail.com
Sun Jun 4 15:20:13 MST 2006
This is my makefile, it compiled ok. I will test it tomorrow but if
you have somewhere to test today, let me know.
# $Id: Makefile,v 1.9 2005/10/27 17:53:35 stevek Exp $
#
# Makefile, based on the Asterisk Makefile, Coypright (C) 1999, Mark Spencer
#
# Copyright (C) 2002,2003 Junghanns.NET GmbH
#
# Klaus-Peter Junghanns <kapejod at ns1.jnetdns.de>
#
# This program is free software and may be modified and
# distributed under the terms of the GNU Public License.
#
.EXPORT_ALL_VARIABLES:
#
# app_conference defines which can be passed on the command-line
#
INSTALL_PREFIX := /usr
INSTALL_MODULES_DIR := $(INSTALL_PREFIX)/lib/asterisk/modules
ASTERISK_INCLUDE_DIR := $(HOME)/sources/asterisk02/asterisk-1.2.8/include
# turn app_conference debugging on or off ( 0 == OFF, 1 == ON )
APP_CONFERENCE_DEBUG := 1
# 0 = OFF 1 = astdsp 2 = speex
SILDET := 2
#
# app_conference objects to build
#
OBJS = app_conference.o conference.o member.o frame.o cli.o
SHAREDOS = app_conference.so
#
# standard compile settings
#
PROC = $(shell uname -m)
INSTALL = install
CC = gcc
INCLUDE = -I$(ASTERISK_INCLUDE_DIR)
LIBS = -ldl -lpthread -lm
DEBUG := -g
CFLAGS = -pipe -Wall -Wmissing-prototypes -Wmissing-declarations
$(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE
#CFLAGS += -O2
#CFLAGS += -O3 -march=pentium3 -msse -mfpmath=sse,387 -ffast-math
# PERF: below is 10% faster than -O2 or -O3 alone.
#CFLAGS += -O3 -ffast-math -funroll-loops
# below is another 5% faster or so.
CFLAGS += -O3 -ffast-math -funroll-all-loops -fprefetch-loop-arrays
-fsingle-precision-constant
# this is fun for PPC
#CFLAGS += -mcpu=7450 -faltivec -mabi=altivec -mdynamic-no-pic
# this is fun for x86
# The line below was commented by Erick Perez eaperezh at gmail.com
#CFLAGS += -march=pentium3 -msse -mfpmath=sse,387
# adding -msse -mfpmath=sse has little effect.
#CFLAGS += -O3 -msse -mfpmath=sse
#CFLAGS += $(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc
/dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
CFLAGS += $(shell if uname -m | grep -q ppc; then echo "-fsigned-char"; fi)
CFLAGS += -DCRYPTO
# The line below was added by Erick Perez eaperezh at gmail.com
CFLAGS += -march=k8 -fPIC
ifeq ($(APP_CONFERENCE_DEBUG), 1)
CFLAGS += -DAPP_CONFERENCE_DEBUG
endif
#
# additional flag values for silence detection
#
ifeq ($(SILDET), 2)
OBJS += libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o
CFLAGS += -Ilibspeex -DSILDET=2
endif
ifeq ($(SILDET), 1)
CFLAGS += -DSILDET=1
endif
OSARCH=$(shell uname -s)
ifeq (${OSARCH},Darwin)
SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
else
SOLINK=-shared -Xlinker -x
endif
#
# targets
#
all: $(SHAREDOS)
clean:
rm -f *.so *.o $(OBJS)
app_conference.so : $(OBJS)
$(CC) -pg -shared -Xlinker -x -o $@ $(OBJS)
vad_test: vad_test.o libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o
$(CC) $(PROFILE) -o $@ $^ -lm
install: all
for x in $(SHAREDOS); do $(INSTALL) -m 755 $$x
$(INSTALL_MODULES_DIR) ; done
cp -f *.gsm /var/lib/asterisk/sounds
cp -f *.wav /var/lib/asterisk/sounds
# /var/horizon/mojo/lib/horizoncmd restart asterisk
# make sure you restart asterisk after make install
# config: all
# cp conf.conf /etc/asterisk/
*********end of makefile****************
On 6/4/06, Ricardo Martins <rpoppi77 at gmail.com> wrote:
> Do anybody could compile app_conference on x86_64??? I tryied with two
> versions of app_conference and got the same problem on compiling:
>
> relocation R_X86_64_32 against `a local symbol' can not be used when
> making a shared recompile with -fPIC
> app_conference.o: could not read symbols: Bad value"
>
>
> ENVIRONMENT:
> -------------------------------------------------------------------------------------------
> Machine: DELL PE-2850 with two processors Xeon 3.0GHz
> Kernel: 2.6.9-34.0.1.ELsmp
> Version of app_conference (Both):
> "http://www.eflo.net/files/VD_app_conference_0.4.zip" or
> "http://www.eflo.net/files/app_conference.tar.gz"
> -------------------------------------------------------------------------------------------
>
> COMPLETE output of compilation:
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -g
> -I/root/local/asterisk/asterisk/include -D_REENTRAN_SOURCE -O3
> -ffast-math -funroll-all-loops -fprefetch-loop-arrays
> -fsingle-precision-constant -DCRYPTO -DAPP_CONFERUG -c -o
> app_conference.o app_conference.c
> gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -g
> -I/root/local/asterisk/asterisk/include -D_REENTRAN_SOURCE -O3
> -ffast-math -funroll-all-loops -fprefetch-loop-arrays
> -fsingle-precision-constant -DCRYPTO -DAPP_CONFERUG -c -o
> conference.o conference.c
> gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -g
> -I/root/local/asterisk/asterisk/include -D_REENTRAN_SOURCE -O3
> -ffast-math -funroll-all-loops -fprefetch-loop-arrays
> -fsingle-precision-constant -DCRYPTO -DAPP_CONFERUG -c -o member.o
> member.c
> member.c: In function `process_incoming':
> member.c:125: warning: implicit declaration of function `ast_dtmf_stream'
> gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -g
> -I/root/local/asterisk/asterisk/include -D_REENTRAN_SOURCE -O3
> -ffast-math -funroll-all-loops -fprefetch-loop-arrays
> -fsingle-precision-constant -DCRYPTO -DAPP_CONFERUG -c -o frame.o frame.c
> gcc -pipe -Wall -Wmissing-prototypes -Wmissing-declarations -g
> -I/root/local/asterisk/asterisk/include -D_REENTRAN_SOURCE -O3
> -ffast-math -funroll-all-loops -fprefetch-loop-arrays
> -fsingle-precision-constant -DCRYPTO -DAPP_CONFERUG -c -o cli.o cli.c
> gcc -pg -shared -Xlinker -x -o app_conference.so app_conference.o
> conference.o member.o frame.o cli.o
> /usr/bin/ld: app_conference.o: relocation R_X86_64_32 against `a local
> symbol' can not be used when making a shared recompile with -fPIC
> app_conference.o: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make: ** [app_conference.so] Erro 1
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
--
-------------------------------------------
Erick Perez
Linux User 376588
http://counter.li.org/ (Get counted!!!)
Panama, Republic of Panama
More information about the asterisk-users
mailing list