Package Base Details: pjproject

Git Clone URL: https://aur.archlinux.org/pjproject.git (read-only, click to copy)
Submitter: None
Maintainer: caleb (GNUtoo, wuestengecko, nkukard, edacval)
Last Packager: caleb
Votes: 30
Popularity: 0.092232
First Submitted: 2007-09-07 12:14
Last Updated: 2020-06-29 08:25

Pinned Comments

caleb commented on 2020-02-22 05:37

PSA: I've started hosting this and also many other packages I maintain in the AUR as prebuilt packages in my repository for those that want to install them using pacman without messing around with building from the AUR.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

caleb commented on 2020-02-23 08:42

As a temporary fix I've added -j1 back to the make invocations. I tested it on multi-process parallel builds before removing it and it builds fine that way, the issue is not whether it is 1 thread or 10, the issue is it somehow fails if the job server is not invoked at all.

Upstream issue reported: https://github.com/pjsip/pjproject/issues/2300

risto3 commented on 2020-02-23 07:21

There does seem to be something anomalous in the swig part, comparing using -j1 and -j2 at least. Perhaps upstream should take a look. I believe -j1 is the best solution here for the time being.

risto3 commented on 2020-02-22 16:28

should mention, oddly enough, that my default makepkg.conf contains MAKEFLAGS="-j10"

It seems that I can build also with -j2, -j9 or even -j10 okay (with just the warning but no error).. but seemingly not using the default value.

I'm on an AMD Opteron(tm) Processor 6338P (family: 0x15, model: 0x2, stepping: 0x0)

go figure!

risto3 commented on 2020-02-22 16:05

for info, tried simply with

diff --git a/PKGBUILD b/PKGBUILD
index 771ebeb..ea77c33 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -48,7 +48,7 @@ build() {
   make dep
   make

-  make -C pjsip-apps/src/swig
+  make -j1 -C pjsip-apps/src/swig

   cd 'pjsip-apps/src/swig/python'
   python setup.py build

and it built ok.

edacval commented on 2020-02-22 15:07

@risto3,@caleb: build fails when make runs several parallel jobs. Put

MAKEFLAGS="j1"

to makepkg.conf or replace build() function in PKGBUILD with

build() {
  cd "$pkgbase-$pkgver"
  export CXXFLAGS="$CXXFLAGS -fPIC"
  if [ "$CARCH" = "i686" ]; then
    export CXXFLAGS="$CXXFLAGS -march=i686"
    arch_opts=(--disable-libwebrtc)
  fi
  export CFLAGS="$CFLAGS -fPIC -DNDEBUG"
  ./configure \
    --prefix=/usr \
    --with-external-speex \
    --with-external-srtp \
    --with-external-pa \
    --with-external-gsm \
    --enable-shared \
    --disable-opencore-amr \
    "${arch_opts[@]}"

  make -j1 dep
  make -j1
  make -j1 -C pjsip-apps/src/swig
}

caleb commented on 2020-02-22 13:07

@risto3 I'm sorry it's broken for you, but I can't identify the problem. It is giving you an error about a directory not existing ... something that should have been extracted from the source tarball. I just tested on a clean build tree and not only is that directory present, but it builds fine too. You can also try this package. If you figure out what is either missing from your system or you can do differently to build it I'm happy to facilitate a fix.

risto3 commented on 2020-02-22 12:25

oups, I'm having difficulties upgrading to 2.10 on

Linux sarchx64 5.4.21-1-lts #1 SMP Thu, 20 Feb 2020 18:23:19 +0000 x86_64 GNU/Linux

Here's the tail end of the build

make[2] : on quitte le répertoire « /tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/build » make[2] : on quitte le répertoire « /tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/build » make[1] : on quitte le répertoire « /tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/build » make : on entre dans le répertoire « /tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig » make -C python make[1]: Entering directory '/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig/python' python3 setup.py build make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. running build running build_py running build_ext building '_pjsua2' extension gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -DNDEBUG -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c pjsua2_wrap.cpp -o build/temp.linux-x86_64-3.8/pjsua2_wrap.o make[2]: Entering directory '/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig/python' -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -DPJ_AUTOCONF=1 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -DNDEBUG -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -fPIC -DPJMEDIA_VIDEO_DEV_HAS_SDL=1 -I/usr/include/SDL2 -D_REENTRANT -DPJMEDIA_HAS_LIBAVDEVICE=1 -DPJMEDIA_HAS_LIBAVFORMAT=1 -DPJMEDIA_HAS_LIBAVCODEC=1 -DPJMEDIA_HAS_LIBSWSCALE=1 -DPJMEDIA_HAS_LIBAVUTIL=1 -DPJMEDIA_VIDEO_DEV_HAS_V4L2=1 -DPJMEDIA_HAS_VPX_CODEC=1 -DPJMEDIA_VIDEO_DEV_HAS_SDL=1 -I/usr/include/SDL2 -D_REENTRANT -DPJMEDIA_HAS_LIBAVDEVICE=1 -DPJMEDIA_HAS_LIBAVFORMAT=1 -DPJMEDIA_HAS_LIBAVCODEC=1 -DPJMEDIA_HAS_LIBSWSCALE=1 -DPJMEDIA_HAS_LIBAVUTIL=1 -DPJMEDIA_VIDEO_DEV_HAS_V4L2=1 -DPJMEDIA_HAS_VPX_CODEC=1 -I/tmp/makepkg/pjproject/src/pjproject-2.10/pjlib/include -I/tmp/makepkg/pjproject/src/pjproject-2.10/pjlib-util/include -I/tmp/makepkg/pjproject/src/pjproject-2.10/pjnath/include -I/tmp/makepkg/pjproject/src/pjproject-2.10/pjmedia/include -I/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip/include -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fPIC -DNDEBUG make[2]: Leaving directory '/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig/python' gcc: error: make[2]: Entering directory '/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig/python': No such file or directory gcc: error: make[2]: Leaving directory '/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig/python': No such file or directory error: command 'gcc' failed with exit status 1 make[1]: [Makefile:37: _pjsua2.so] Error 1 make[1]: Leaving directory '/tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig/python' make: [Makefile:27 : python] Erreur 2 make : on quitte le répertoire « /tmp/makepkg/pjproject/src/pjproject-2.10/pjsip-apps/src/swig » ==> ERREUR : Une erreur s’est produite dans build(). Abandon…

Seemed fine beforehand... richard

caleb commented on 2020-02-22 05:37

PSA: I've started hosting this and also many other packages I maintain in the AUR as prebuilt packages in my repository for those that want to install them using pacman without messing around with building from the AUR.

Maniaxx commented on 2019-07-02 02:31

Here is a modified PKGBUILD that pulls the svn instead to get 'pjsystest' and the corresponding wav files. You have to copy them from /usr/share/pjproject to a writable folder and start 'pjsystest'.

I actually needed that to test latency and list detected audio devices and audio backends.

Latency isn't that good here though (245ms roundtrip) on Audigy2 with Portaudio. I've tried ALSA and JACK as well but i don't get them properly working (JACK partially/scrambled, ALSA doesn't initialize properly). They can be optionally enabled in the PKGBUILD marked as experimental.

JACK would be the low-latency killer feature for SIP apps but there is none supporting it. JACK2-dbus doesn't work with portaudio anymore either.

PKGBUILD: https://pastebin.com/raw/z0RJJTzB

wuestengecko commented on 2019-06-29 21:17

@Maniaxx I'm actually using a local build without these flags as well and it's working fine; it seems they slipped past me when I rebased my patch for submission. Fixed now.