Version 23 (modified by nanang, 9 years ago) (diff) |
---|
Build and Installation
TracNav
Getting Started- Moved to: https://docs.pjsip.org/en/latest/index.html#get-started
Preparation
Build for Desktop
Build for Mobile
- iOS: Apple iPhone, iPad, and iPod Touch
- Android
- BlackBerry 10 (BB10)
- Windows Mobile
- Windows Phone 8.x and UWP
Symbian...
- Build for Other
Next: Using the libraries
See Also
Getting the Modules
Currently we only distribute source codes and not binaries.
The Python modules source codes along with some samples are included in PJSIP distribution, in pjproject/pjsip-apps/src/python directory. No separate download is needed.
Building The Modules From the Source
Linux (and probably Unix in general)
Requirements
- The usual requirements to build PJSIP, e.g. make, gcc, and binutils.
- Python: this normally should have been installed on every Linux.
- Python development package, to build the C extension. This might be called python-devel (e.g. on Fedora) or python2.4-dev or python2.5-dev (e.g. on Ubuntu).
Building the Module
Using Python build script:
- Build the PJSIP libraries first with the usual "./configure && make dep && make" commands.
- Go to pjsip-apps/src/python directory.
- Run 'sudo python ./setup.py install' or just 'sudo make'
Sample session:
$ cd your-pjsip-root-dir $ ./configure && make dep && make $ cd pjsip-apps/src/python $ sudo make
MacOS X
Requirements
We tested this on MacOS X 10.5.3 (Leopard), using the built-in Python installation. There don't seem to be any specific requirements (except the usual gcc, make, and binutils, which should have been installed by default).
Building the Module
The build instructions should be similar to the Linux instructions. Open Terminal from Application/Utilities/Terminal?, and run this:
$ cd your-pjsip-root-dir $ ./configure && make dep && make $ cd pjsip-apps/src/python $ sudo make
Note that depending on Python installation, Python extension setup mechanism will link the library using some default architectures, e.g: ppc, i386, and/or x86_64, which may contain different architectures to the library's so it may raise warning message:
ld: warning: ignoring file ..., file was built for archive which is not the architecture being linked (...)
To avoid such warning, specify the architecture(s) to be linked via environment variable ARCHFLAGS before invoking make, e.g:
$ export ARCHFLAGS="-arch x86_64" $ cd pjsip-apps/src/python $ sudo make
Microsoft Windows with Visual Studio
Requirements
- The usual PJSIP requirements for Windows, e.g. Visual Studio along with Platform SDK and DirectX SDK.
- Python SDK: I personally use ActivePython-2.4.3-12 distribution from ActiveState, since it has a matching debug package.
- Optional: debug package: the debug package is useful if you want to debug the C extension. You can download it from ftp://ftp.activestate.com/ActivePython/etc/
Visual Studio Setup
- Add Python include directory (e.g. C:\Python24\include) to Visual Studio include directories.
- Add Python library directory (e.g. C:\Python24\libs) to Visual Studio library directories.
Building the Modules
Step 1: Building the C Extension
Visual Studio 6:
- Open pjsip-apps.dsw from pjsip-apps\build directory.
- Select python_pjsua project as the active project.
- Build the project
- The _pjsua.pyd Python module will be placed in pjsip-apps\lib directory.
- or in case of debug, it will be _pjsua_d.pyd
Visual Studio 2005:
- Open pjproject-vs8.sln from the PJSIP distribution directory.
- Select either Debug or Release from the build configuration
- Note: the Python module does not support other build configurations.
- In Visual Studio, right click python_pjsua project from the Solution Explorer panel, and select Build from the pop-up menu.
- Note: the python_pjsua project is not built by default if you build the solution, hence it needs to be built manually by right-clicking and select Build from the pop-up menu.
- The _pjsua.pyd Python module will be placed in pjsip-apps\lib directory.
- or in case of debug, it will be _pjsua_d.pyd
Step 2: Installing the Modules:
- Open Command Prompt
- Go to pjsip-apps\src\python directory
- Run python setup-vc.py install (note that the installation script is setup-vc.py and not setup.py).
Sample session:
C:> cd your-pjsip-root-directory C:> cd pjsip-apps\src\python C:> python setup-vc.py install running install running build running build_py running install_lib running install_data copying ..\..\lib\_pjsua.pyd -> c:\python24\lib\site-packages
Microsoft Windows with MinGW
I did not try this myself since I use Visual Studio, but Adamczak Krzysztof suggested this on PJSIP mailing list to build the extensions with MinGW:
python setup.py build_ext --compiler=mingw32 install
Common Problems
Cannot open include file: 'Python.h'
You need to install Python SDK.
Testing the installation
To test the installation, simply run python and import pjsua module.
On Linux/Unix?/MacOS X:
$ python > import pjsua > ^Z $
Similarly on Windows:
C:> python > import pjsua > ^Z C:>