Hi!
I had the same problem yesterday - but google revealed: http://lists.digium.com/pipermail/asterisk-users/2004-April/044867.html
furthermore the app_dtmftotext application fails to start, so i deleted it - I hope this has no influence :-(
regards, klaus
Terry Goodwin wrote:
Thanks for offering to help with this.
I checked out the procedures and attempted this again without success.
Here is the end of the screen output when the compile fails.
gcc -02 -g -Include -I ../include -c -o app_rxfax.o app_rxfax.c app_rxfax.c:45: error: 'PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP' undeclared here (not in a function)
make[1]: *** [app_rxfax.o] error 1
make[1]: leaving directory '/usr/src/asterisk/apps'
make: *** [subdirs] Error 1
The following is a copy of the modified makefile. It looks correct as per your description of what should have been done.
#
# Asterisk -- A telephony toolkit for Linux.
# # Makefile for PBX frontends (dynamically loaded)
#
# Copyright (C) 1999, Mark Spencer
#
# Mark Spencer <[EMAIL PROTECTED]>
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#
USE_MYSQL_VM_INTERFACE=0 USE_POSTGRES_VM_INTERFACE=0
#APPS=app_dial.so app_playback.so app_directory.so app_intercom.so
app_mp3.so APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so
app_mp3.so\
app_system.so app_echo.so app_record.so app_image.so app_url.so
app_disa.so \
app_agi.so app_qcall.so app_adsiprog.so app_getcpeid.so
app_milliwatt.so \
app_zapateller.so app_setcallerid.so app_festival.so \
app_queue.so app_senddtmf.so app_parkandannounce.so
app_striplsd.so \
app_setcidname.so app_lookupcidname.so app_substring.so
app_macro.so \
app_authenticate.so app_softhangup.so app_lookupblacklist.so \
app_waitforring.so app_privacy.so app_db.so app_chanisavail.so \
app_enumlookup.so app_transfer.so app_setcidnum.so app_cdr.so \
app_hasnewvoicemail.so app_sayunixtime.so app_cut.so app_read.so
\
app_setcdruserfield.so app_random.so app_ices.so app_eval.so \
app_nbscat.so app_sendtext.so app_exec.so app_sms.so \
app_groupcount.so app_txtcidname.so
ifneq (${OSARCH},Darwin) ifneq (${OSARCH},FreeBSD) APPS+=app_intercom.so endif endif
#APPS+=app_sql_postgres.so #APPS+=app_sql_odbc.so
APPS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi) #APPS+=$(shell if [ -f /usr/include/zap.h ]; then echo "app_rpt.so" ; fi)
APPS+=$(shell if [ -f /usr/include/spandsp.h ]; then echo "app_rxfax.so app_txfax.so app_dtmftotext.so" ; fi) APPS+=$(shell if [ -f /usr/local/include/spandsp.h ]; then echo "app_rxfax.so app_txfax.so app_dtmftotext.so" ; fi)
CFLAGS+=-fPIC
ifeq ($(USE_POSTGRES_VM_INTERFACE),1) CFLAGS+=-DUSEPOSTGRESVM endif
ifeq ($(USE_MYSQL_VM_INTERFACE),1) CFLAGS+=-DUSEMYSQLVM endif
all: $(APPS)
clean: rm -f *.so *.o look .depend
%.so : %.o $(CC) $(SOLINK) -o $@ $<
app_rpt.so : app_rpt.o $(CC) $(SOLINK) -o $@ $< -ltonezone
install: all for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
app_todd.o: app_todd.c gcc -pipe -O6 -g -Iinclude -I../include -D_REENTRANT -march=i586 -DDO_CRASH -c -o app_todd.o app_todd.c
app_todd.so: app_todd.o $(CC) $(SOLINK) -o $@ $< -L/usr/local/ssl/lib -lssl -lcrypto
app_rxfax.so : app_rxfax.o $(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
app_rxfax.o: app_rxfax.c gcc -O2 -g -Iinclude -I../include -c -o app_rxfax.o app_rxfax.c
app_txfax.so : app_txfax.o $(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
app_txfax.o: app_txfax.c gcc -O2 -g -Iinclude -I../include -c -o app_txfax.o app_txfax.c
app_dtmftotext.so : app_dtmftotext.o $(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
app_dtmftotexto: app_dtmftotext.c gcc -O2 -g -Iinclude -I../include -c -o app_dtmftotext.o app_dtmftotext.c
app_voicemail.so : app_voicemail.o
ifeq ($(USE_MYSQL_VM_INTERFACE),1)
$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql
-lmysqlclient -lz
else
ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq
else
$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< endif
endif
app_sql_postgres.o: app_sql_postgres.c $(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
app_sql_postgres.so: app_sql_postgres.o $(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq
app_sql_odbc.so: app_sql_odbc.o $(CC) $(SOLINK) -o $@ $< -lodbc
look: look.c gcc -pipe -O6 -g look.c -o look -lncurses
ifneq ($(wildcard .depend),) include .depend endif
depend: .depend
.depend: ../mkdep $(CFLAGS) `ls *.c`
env: env
Stephen Davies <[EMAIL PROTECTED]> 5/25/2004 8:10:22 AM >>>
On Tue, 25 May 2004, Terry Goodwin wrote:
I have been attempting to download, compile and configure spandsp to function with * without much luck. I am guessing that some
assumptions
were made regarding the users knowledge level of Linux. Sadly, I
must
not live up to those assumptions.
My problem begins when after compiling spandsp I look for the app_rxfax.c, app_txfax.c, app_dtmftotext.c and makefile.patch files
to
place in the /usr/src/asterisk/apps directory. I cant seem to find these files ANYWHERE on my system. So I then make the assumption
that
they were not created by the compile of spandsp nor do they exist in
the
source of spandsp. I did locate these files on the FTP server where
I
downloaded the source (I believe it was version J). Not sure if the files located on this site were version specific or not I downloaded them anyway and placed them into the /usr/src/asterisk/apps
directory.
I think I figured out that you need to copy the makefile.patch to
the
same directory and run it against the makefile that exists in the
apps
directory. (Never done this before so I might have done the
equivalent
of gassing up my car via the radiator)
Hi,
You need to understand that spandsp is a general purpose library for doing digital signal processing. It's of general use, not for Asterisk is particular.
So when you download and compile spandsp, you are simply installing that library on your system. Asterisk knows nothing about using it
at
this point.
So that I presume went well for you: if so you will find some libspandsp* files in your /usr/local/lib/ directory.
For the Asterisk applications (rxfax etc) you need to download the various .c files and the makefile.patch as you did. The .c files
just
get copied into the apps directory, the patch you use to patch the Makefile.
If it worked right you can look in the Makefile and should see lines like so:
app_rxfax.so : app_rxfax.o $(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
app_rxfax.o: app_rxfax.c gcc -O2 -g -Iinclude -I../include -c -o app_rxfax.o
app_rxfax.c
app_txfax.so : app_txfax.o $(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
app_txfax.o: app_txfax.c
> gcc -O2 -g -Iinclude -I../include -c -o app_txfax.o app_txfax.c
app_dtmftotext.so : app_dtmftotext.o $(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
app_dtmftotexto: app_dtmftotext.c gcc -O2 -g -Iinclude -I../include -c -o app_dtmftotext.o
app_dtmftotext.c
And some more lines in similar vein.
Then it would be back up to the main asterisk directory, "make clean" and "make". If you get an error compiling, send it to me and I'll see if I can see what's wrong.
Steve
_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
_______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
