[Asterisk-Users] spandsp hylafax asterisk and confusion
Terry Goodwin
TGoodwin at packagingcorp.com
Tue May 25 07:09:17 MST 2004
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 <markster at linux-support.net>
#
# 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 <steve at daviesfam.org> 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
More information about the asterisk-users
mailing list