2013-11-28 3 views
3

В первый раз, используя stackoverflow, скажите, пожалуйста, если я что-то делаю неправильно!Компиляция PJSUA на OS X 10.9

Я хочу использовать PJSIP 2.1 s модуль python (обертка). Я пробовал это так:

  1. Прочитано documentation.
  2. Соответствие требованиям. Это моя установка:
    • OS X 10.9 (Mavericks)
    • GNU Make 3.81
    • BinUtils 2.23.2 (возможно через MacPorts .. на самом деле не уверен)
    • компании Apple LLVM 5,0
  3. Загрузите v2.1: pjproject-2.1.tar.bz2 и извлеките его в свой домашний каталог.
  4. Cd в pjproject-2.1 и запустить его в терминале: ./configure && make dep && make.

Когда дело доходит до этой линии (которая во время замыкающих, я считаю): gcc -o ../bin/pjmedia-test-i386-apple-darwin13.0.0 следующее сообщение об ошибке брошена прямо в лицо:/

Undefined symbols for architecture x86_64: 
"_aes_icm_advance_ismacryp", referenced from: 
_aes_icm_encrypt_ismacryp in libsrtp-i386-apple-darwin13.0.0.a(aes_icm.o) 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make[2]: *** [../bin/pjmedia-test-i386-apple-darwin13.0.0] Error 1 
make[1]: *** [pjmedia-test] Error 2 
make: *** [all] Error 1 

Скрипт прерывается.

Есть ли у вас какие-либо предложения, какая может быть проблема или как ее избежать? Будем рады за любую помощь!

Помогло ли это, заставить gcc скомпилировать до 32 бит?

ответ

3

я не уверен, если это решит вашу проблему, но для меня это сработало:

Отключить SRTP (Secure Real-Time Protocol Transport)

Добавьте следующие строки в файл pjlib/включать/рг/config_site.h

#define PJMEDIA_HAS_SRTP 0

сделать снова - должен работать.

Правильным решением было бы переопределить недостающую структуру в коде c. Наверное, лучше подождать патча.

+0

Предотвращает проблему. Теперь 'make' терпит неудачу в другом месте:/В любом случае, я сейчас сдаюсь. Не стоит беды, для меня. Спасибо, Саймон :) – tillsanders

+0

@Simon Fakir Я столкнулся с проблемой при отправке мгновенных сообщений PJSIP. Дайте ошибку, как это, пожалуйста, помогите мне в этой ситуации Утверждение не выполнено: (mutex-> owner == pj_thread_this()), функция pj_mutex_unlock, файл ../src/pj/os_core_unix.c – Harish

Смежные вопросы