Good morning everyone,
I do not know if this is the correct place to ask this question but since it is Raspberry Pi related I suppose it is the correct place to do this.
I was looking for a way to play sound files through a SIP service provider and I found the following:
I tried to Install it and here is what I have got:
The first step of the installation worked correctly. That is:
# Install dependencies
sudo apt install autoconf checkinstall libgpac-dev libmp3lame-dev libopencore-amrnb-dev
sudo apt install autoconf checkinstall libopencore-amrwb-dev libtheora-dev libvorbis-dev yasm zlib1g-dev libsdl-sound1.2-dev
sudo apt install autoconf checkinstall libportaudio-dev git python3 ffmpeg
The second step also worked with a minor change as seen bellow:
# Install pjsip
****{{{This no longer works as pjproject has moved to github. Added git clone command. Continue on git part.}}}****
{{{{wget http://www.pjsip.org/release/2.7.2/pjproject-2.7.2.tar.bz2
tar xvfj pjproject-2.7.2.tar.bz2 && rm pjproject-2.7.2.tar.bz2
cd pjproject-2.7.2/}}}}
git clone https://github.com/pjsip/pjproject.git
cd pjproject
./configure --disable-video --disable-libwebrtc
make dep && make clean && make
sudo make install
The third step of the installation (see bellow) worked but at the final step ("make") I get the following error. Can anyone please figure out what is wrong and advise me on what to do and how to overcome this? The model of my Raspberry Pi is 4B.
# Build cgcall
git clone https://github.com/philipptrenz/cgcall.git
cd cgcall
make
Error:
pi@raspberrypi:~/cgcall $ make
cc -o cgcall src/cgcall.c `pkg-config --cflags --libs libpjproject`
src/cgcall.c: In function 'get_timestamp':
src/cgcall.c:686:15: warning: passing argument 1 of 'localtime' from incompatible pointer type [-Wincompatible-pointer-types]
Tm=localtime(<ime);
^~~~~~
In file included from src/cgcall.c:46:
/usr/include/time.h:123:19: note: expected 'const time_t *' {aka 'const long int *'} but argument is of type 'time_t **' {aka 'long int **'}
extern struct tm *localtime (const time_t *__timer) __THROW;
^~~~~~~~~
src/cgcall.c: In function 'get_elapsed_time':
src/cgcall.c:709:27: warning: passing argument 1 of 'difftime' makes integer from pointer without a cast [-Wint-conversion]
double diff_t = difftime(end, start);
^~~
In file included from src/cgcall.c:46:
/usr/include/time.h:78:32: note: expected 'time_t' {aka 'long int'} but argument is of type 'time_t *' {aka 'long int *'}
extern double difftime (time_t __time1, time_t __time0)
~~~~~~~^~~~~~~
src/cgcall.c:709:32: warning: passing argument 2 of 'difftime' makes integer from pointer without a cast [-Wint-conversion]
double diff_t = difftime(end, start);
^~~~~
In file included from src/cgcall.c:46:
/usr/include/time.h:78:48: note: expected 'time_t' {aka 'long int'} but argument is of type 'time_t *' {aka 'long int *'}
extern double difftime (time_t __time1, time_t __time0)
~~~~~~~^~~~~~~
src/cgcall.c: In function 'log_caller':
src/cgcall.c:761:16: warning: passing argument 1 of 'get_timestamp' makes pointer from integer without a cast [-Wint-conversion]
get_timestamp(call_start_time, timestamp);
^~~~~~~~~~~~~~~
src/cgcall.c:682:35: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_timestamp(time_t* ltime, char* dest)
~~~~~~~~^~~~~
src/cgcall.c:766:19: warning: passing argument 1 of 'get_elapsed_time' makes pointer from integer without a cast [-Wint-conversion]
get_elapsed_time(call_start_time, now, duration);
^~~~~~~~~~~~~~~
src/cgcall.c:707:38: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_elapsed_time(time_t* start, time_t* end, char* result)
~~~~~~~~^~~~~
src/cgcall.c:766:36: warning: passing argument 2 of 'get_elapsed_time' makes pointer from integer without a cast [-Wint-conversion]
get_elapsed_time(call_start_time, now, duration);
^~~
src/cgcall.c:707:53: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_elapsed_time(time_t* start, time_t* end, char* result)
~~~~~~~~^~~
/usr/bin/ld: /usr/local/lib/libpj-armv7l-unknown-linux-gnueabihf.a(os_timestamp_common.o): undefined reference to symbol 'fmod@@GLIBC_2.4'
/usr/bin/ld: //lib/arm-linux-gnueabihf/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
I do not know if this is the correct place to ask this question but since it is Raspberry Pi related I suppose it is the correct place to do this.
I was looking for a way to play sound files through a SIP service provider and I found the following:
GitHub - philipptrenz/cgcall: A SIP player for audio records
A SIP player for audio records. Contribute to philipptrenz/cgcall development by creating an account on GitHub.
github.com
I tried to Install it and here is what I have got:
The first step of the installation worked correctly. That is:
# Install dependencies
sudo apt install autoconf checkinstall libgpac-dev libmp3lame-dev libopencore-amrnb-dev
sudo apt install autoconf checkinstall libopencore-amrwb-dev libtheora-dev libvorbis-dev yasm zlib1g-dev libsdl-sound1.2-dev
sudo apt install autoconf checkinstall libportaudio-dev git python3 ffmpeg
The second step also worked with a minor change as seen bellow:
# Install pjsip
****{{{This no longer works as pjproject has moved to github. Added git clone command. Continue on git part.}}}****
{{{{wget http://www.pjsip.org/release/2.7.2/pjproject-2.7.2.tar.bz2
tar xvfj pjproject-2.7.2.tar.bz2 && rm pjproject-2.7.2.tar.bz2
cd pjproject-2.7.2/}}}}
git clone https://github.com/pjsip/pjproject.git
cd pjproject
./configure --disable-video --disable-libwebrtc
make dep && make clean && make
sudo make install
The third step of the installation (see bellow) worked but at the final step ("make") I get the following error. Can anyone please figure out what is wrong and advise me on what to do and how to overcome this? The model of my Raspberry Pi is 4B.
# Build cgcall
git clone https://github.com/philipptrenz/cgcall.git
cd cgcall
make
Error:
pi@raspberrypi:~/cgcall $ make
cc -o cgcall src/cgcall.c `pkg-config --cflags --libs libpjproject`
src/cgcall.c: In function 'get_timestamp':
src/cgcall.c:686:15: warning: passing argument 1 of 'localtime' from incompatible pointer type [-Wincompatible-pointer-types]
Tm=localtime(<ime);
^~~~~~
In file included from src/cgcall.c:46:
/usr/include/time.h:123:19: note: expected 'const time_t *' {aka 'const long int *'} but argument is of type 'time_t **' {aka 'long int **'}
extern struct tm *localtime (const time_t *__timer) __THROW;
^~~~~~~~~
src/cgcall.c: In function 'get_elapsed_time':
src/cgcall.c:709:27: warning: passing argument 1 of 'difftime' makes integer from pointer without a cast [-Wint-conversion]
double diff_t = difftime(end, start);
^~~
In file included from src/cgcall.c:46:
/usr/include/time.h:78:32: note: expected 'time_t' {aka 'long int'} but argument is of type 'time_t *' {aka 'long int *'}
extern double difftime (time_t __time1, time_t __time0)
~~~~~~~^~~~~~~
src/cgcall.c:709:32: warning: passing argument 2 of 'difftime' makes integer from pointer without a cast [-Wint-conversion]
double diff_t = difftime(end, start);
^~~~~
In file included from src/cgcall.c:46:
/usr/include/time.h:78:48: note: expected 'time_t' {aka 'long int'} but argument is of type 'time_t *' {aka 'long int *'}
extern double difftime (time_t __time1, time_t __time0)
~~~~~~~^~~~~~~
src/cgcall.c: In function 'log_caller':
src/cgcall.c:761:16: warning: passing argument 1 of 'get_timestamp' makes pointer from integer without a cast [-Wint-conversion]
get_timestamp(call_start_time, timestamp);
^~~~~~~~~~~~~~~
src/cgcall.c:682:35: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_timestamp(time_t* ltime, char* dest)
~~~~~~~~^~~~~
src/cgcall.c:766:19: warning: passing argument 1 of 'get_elapsed_time' makes pointer from integer without a cast [-Wint-conversion]
get_elapsed_time(call_start_time, now, duration);
^~~~~~~~~~~~~~~
src/cgcall.c:707:38: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_elapsed_time(time_t* start, time_t* end, char* result)
~~~~~~~~^~~~~
src/cgcall.c:766:36: warning: passing argument 2 of 'get_elapsed_time' makes pointer from integer without a cast [-Wint-conversion]
get_elapsed_time(call_start_time, now, duration);
^~~
src/cgcall.c:707:53: note: expected 'time_t *' {aka 'long int *'} but argument is of type 'time_t' {aka 'long int'}
static void get_elapsed_time(time_t* start, time_t* end, char* result)
~~~~~~~~^~~
/usr/bin/ld: /usr/local/lib/libpj-armv7l-unknown-linux-gnueabihf.a(os_timestamp_common.o): undefined reference to symbol 'fmod@@GLIBC_2.4'
/usr/bin/ld: //lib/arm-linux-gnueabihf/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status