не получается установить PWlib (и openh323) из исходников.
В соот с инструкцией
1. If you have not put pwlib it into your home directory (~/pwlib) then
you will have to defined the environment variable PWLIBDIR to point to
the correct directory.
Also make sure you have added the $PWLIBDIR/lib directory to your
LD_LIBRARY_PATH environment variable if you intend to use shared
libraries (the default).
прописал необходимые environment variable
#export PWLIBDIR=/usr/src/pwlib
#export OPENH323DIR=/usr/src/openh323
#export LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
# echo $PWLIBDIR
/usr/src/pwlib
# echo $OPENH323DIR
/usr/src/openh323
# echo $LD_LIBRARY_PATH
/usr/src/pwlib/lib:/usr/src/openh323/lib
2. Build the debug and release versions of the PWLib library as follows:
cd ~/pwlib
./configure
отлично.. прошли этот этап.. ошибок ни одной..
лог следующий..
###################################################
checking for g++… g++
checking for C++ compiler default output file name… a.out
checking whether the C++ compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C++ compiler… yes
checking whether g++ accepts -g… yes
configure: PTLib version is 1.8.7
checking build system type… x86_64-unknown-linux-gnu
checking host system type… x86_64-unknown-linux-gnu
checking target system type… x86_64-unknown-linux-gnu
configure: OSTYPE set to linux
configure: OSRELEASE set to «2.6.27.19-5-default»
configure: MACHTYPE set to x86_64
configure: gcc version is 4.3
checking checking if pragma implementation should be used… no
checking whether byte ordering is bigendian… no
checking if linker accepts -felide-constructors… yes
checking if linker accepts -Wreorder… no
checking if compiler uses RTTI by default… yes
checking for working long double with more range or precision than double… yes
checking if readdir_r has 2 parms… no
checking if readdir_r has 3 parms… yes
checking for recvmsg… yes
checking if using STL streams… yes
checking if atomic integer available… no
checking if Unix semaphores are available… yes
checking for pthread_create in -lpthread… yes
checking if pthread_mutex_timedlock is available… yes
checking for sem_timedwait in -lpthread… yes
checking if sem_timedwait is compilable… yes
checking if recursive mutexes are available… yes
checking how to run the C++ preprocessor… g++ -E
checking for egrep… grep -E
checking for ANSI C header files… yes
checking for sys/types.h… yes
checking for sys/stat.h… yes
checking for stdlib.h… yes
checking for string.h… yes
checking for memory.h… yes
checking for strings.h… yes
checking for inttypes.h… yes
checking for stdint.h… yes
checking for unistd.h… yes
checking regex.h usability… yes
checking regex.h presence… yes
checking for regex.h… yes
checking for regcomp… yes
checking dlfcn.h usability… yes
checking dlfcn.h presence… yes
checking for dlfcn.h… yes
checking if dlopen is available… yes
checking for dlopen in -ldl… yes
checking if plugins support needs to be compiled… no
checking for res_search… no
checking for res_search in -lresolv… yes
checking for sasl_version in -lsasl2… no
checking for sasl_client_auth in -lsasl… no
checking if works… no
checking if works… no
checking ldap.h usability… no
checking ldap.h presence… no
checking for ldap.h… no
checking for /usr/local/include/ldap.h… no
checking openssl/ssl.h usability… no
checking openssl/ssl.h presence… no
checking for openssl/ssl.h… no
checking if openssl/ssl.h works with OPENSSL_NO_KRB5… no
checking for OpenSSL in /usr/local/openssl… no
checking for OpenSSL in /usr/local/ssl… no
checking expat.h usability… no
checking expat.h presence… no
checking for expat.h… no
checking for /usr/local/include/expat.h… no
checking for IPv6 support… yes
checking SDL/SDL.h usability… no
checking SDL/SDL.h presence… no
checking for SDL/SDL.h… no
checking for /usr/local/include/SDL11/SDL.h… no
checking linux/videodev.h usability… yes
checking linux/videodev.h presence… yes
checking for linux/videodev.h… yes
checking alsa/asoundlib.h usability… no
checking alsa/asoundlib.h presence… no
checking for alsa/asoundlib.h… no
checking for ALSA sound support… no
checking for swab… yes
checking for a BSD-compatible install… /usr/bin/install -c
configure: creating ./config.status
config.status: creating make/ptbuildopts.mak
config.status: creating make/ptlib-config
config.status: creating Makefile
config.status: creating include/ptbuildopts.h
configure: configuring in plugins
configure: running /bin/sh './configure' --prefix=/usr/local --cache-file=/dev/null --srcdir=.
checking for g++… g++
checking for C++ compiler default output file name… a.out
checking whether the C++ compiler works… yes
checking whether we are cross compiling… no
checking for suffix of executables…
checking for suffix of object files… o
checking whether we are using the GNU C++ compiler… yes
checking whether g++ accepts -g… yes
Plugin source directory is /usr/src/pwlib/plugins
checking for gcc… gcc
checking whether we are using the GNU C compiler… yes
checking whether gcc accepts -g… yes
checking for gcc option to accept ANSI C… none needed
checking how to run the C preprocessor… gcc -E
checking for egrep… grep -E
checking for ANSI C header files… yes
checking for sys/types.h… yes
checking for sys/stat.h… yes
checking for stdlib.h… yes
checking for string.h… yes
checking for memory.h… yes
checking for strings.h… yes
checking for inttypes.h… yes
checking for stdint.h… yes
checking for unistd.h… yes
checking alsa/asoundlib.h usability… no
checking alsa/asoundlib.h presence… no
checking for alsa/asoundlib.h… no
checking for ALSA sound support… no
checking sys/soundcard.h usability… yes
checking sys/soundcard.h presence… yes
checking for sys/soundcard.h… yes
checking for OSS sound support… yes
checking linux/videodev.h usability… yes
checking linux/videodev.h presence… yes
checking for linux/videodev.h… yes
checking for V4L video support… yes
checking machine/ioctl_meteor.h usability… no
checking machine/ioctl_meteor.h presence… no
checking for machine/ioctl_meteor.h… no
checking i386/ioctl_meteor.h usability… no
checking i386/ioctl_meteor.h presence… no
checking for i386/ioctl_meteor.h… no
checking dev/ic/bt8xx.h usability… no
checking dev/ic/bt8xx.h presence… no
checking for dev/ic/bt8xx.h… no
checking for BSD video support… no
checking libavc1394/avc1394.h usability… no
checking libavc1394/avc1394.h presence… no
checking for libavc1394/avc1394.h… no
checking libdv/dv.h usability… no
checking libdv/dv.h presence… no
checking for libdv/dv.h… no
checking libraw1394/raw1394.h usability… no
checking libraw1394/raw1394.h presence… no
checking for libraw1394/raw1394.h… no
checking for IEEE1394/AVC video support… no
checking libdc1394/dc1394_control.h usability… no
checking libdc1394/dc1394_control.h presence… no
checking for libdc1394/dc1394_control.h… no
checking for libraw1394/raw1394.h… (cached) no
checking for IEEE1394/DC video support… no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating vidinput_dc/Makefile
###################################################
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
make
А вот на этом этапе возникают ошибки
xxx:/usr/src/pwlib # make
make P_SHAREDLIB=1 opt
make[1]: Entering directory `/usr/src/pwlib'
set -e; make -C src/ptlib/unix opt;
make[2]: Entering directory `/usr/src/pwlib/src/ptlib/unix'
g++ -D_REENTRANT -Wall -DP_64BIT -fPIC -I/usr/src/pwlib/include -M assert.cxx >> /usr/src/pwlib/lib/obj_linux_x86_64_r/*.dep
make[2]: Leaving directory `/usr/src/pwlib/src/ptlib/unix'
make[2]: Entering directory `/usr/src/pwlib/src/ptlib/unix'
g++ -D_REENTRANT -Wall -DP_64BIT -fPIC -I/usr/src/pwlib/include -Os -felide-constructors -x c++ -c ../../ptclib/asner.cxx -o /usr/src/pwlib/lib/obj_linux_x86_64_r/asner.o
In file included from /usr/src/pwlib/include/ptlib/timer.h:137,
from /usr/src/pwlib/include/ptlib.h:175,
from ../../ptclib/asner.cxx:315:
/usr/src/pwlib/include/ptlib/notifier.h: In constructor ‘PNotifierFunction::PNotifierFunction(void*)’:
/usr/src/pwlib/include/ptlib/notifier.h:42: warning: the address of ‘obj’ will always evaluate as ‘true’
../../ptclib/asner.cxx: In member function ‘PString PASN_Choice::GetTagName() const’:
../../ptclib/asner.cxx:2112: error: ‘psprintf’ was not declared in this scope
make[2]: * [/usr/src/pwlib/lib/obj_linux_x86_64_r/asner.o] Error 1
make[2]: Leaving directory `/usr/src/pwlib/src/ptlib/unix'
make[1]: * [opt] Error 2
make[1]: Leaving directory `/usr/src/pwlib'
make: * [optshared] Error 2
функция на которую обругался компилятор из файла ../../ptclib/asner.cxx
PString PASN_Choice::GetTagName() const
{
if (names.Contains(tag))
return names[tag];
if (CheckCreate() &&
PIsDescendant(choice, PASN_Choice) &&
choice->GetTag() == tag &&
choice->GetTagClass() == tagClass)
return PString(choice->GetClass()) + «->» + ((PASN_Choice *)choice)->GetTagName();
return psprintf(»
Ошибка — вот она: ‘psprintf’ was not declared in this scope
Т.е. не определена некая функция psprintf(). Как правило, это означает, что нет каких-то заголовочных файлов стандартных библиотек, в которых определена такая функция. Причем разработчики не проверяют, установлена ли нужная библиотека в ./configure (а следовало бы). В общем, надо понять, откуда она берется.
Гугл сразу же приводит сюда: http://doc.dvgu.ru/devel/c2lib/psprintf.3.html
Получается, это библиотека c2lib. Гугл приводит на ее домашнюю страничку — http://www.annexia.org/freeware/c2lib/
Предлагается поставить эту библиотеку (на приведенном сайте есть исходники), после чего повторить процедуру.
P.S. А вообще, в бинарных дистрибутивах обычно установка из исходников не нужна и создает только больше проблем. Вы пробовали найти нужную вам библиотеку в бинарном виде для своего дистрибутива?