Назад | Перейти на главную страницу

Устанавливаете SOX на сервер EC2?

Мне нужна помощь в получении SOX установлен на сервере EC2. Мой сервер EC2 полностью "ванильный" и использует AMI Amazon Linux (3.4.37-40.44.amzn1.x86_64).

В большинстве инструкций по установке SOX, которые я смог найти, используется apt-get, которого нет на сервере Amazon Linux EC2. Поскольку я не могу найти никаких инструкций по установке SOX, я решил попробовать скомпилировать исходный код сам. Вот шаги, которые я предпринял:

1) У меня уже был установлен Git, поэтому я смог пропустить этот шаг.

2) Я клонировал репозиторий sox, используя:

sudo git clone git://sox.git.sourceforge.net/gitroot/sox/sox 

Зайдя в каталог sox, я вижу эти файлы:

3) Далее я установил средства разработки на сервер EC2:

sudo yum groupinstall "Development Tools"

4) Я прочитал инструкции в файле INSTALL, в которых говорится:

Чтобы скомпилировать и установить SoX (исполняемые файлы, библиотеки, страницы руководства) с конфигурацией по умолчанию для вашей платформы, выполните следующие команды:

    ./configure
    make -s
    make install

Следуя этим инструкциям, я набрал:

sudo ./configure

И получил ошибку:

(Bash: ./install: нет такого файла или каталога)

Любая помощь приветствуется.

=== ОБНОВЛЕНИЕ ====

В ответ на комментарий Майкла Хэмптона я попробовал «yum install sox». Извините, я забыл об этом упомянуть. Но не работает. Вот результаты:

Вам не хватает нескольких требований для использования sox, в основном libmad. Вот что я использую для установки sox в EC2:

[НОТЫ]

В FAAC вам нужно удалить строку с устаревшим вызовом, иначе она не будет компилироваться.

LIBMAD нуждается в патче для компиляции.

Я запускаю ldconfig после каждый build, это может быть излишним, но пару раз я этого не делал, цепочка установки не удалась.

Не && команды сборки для sox, по какой-то причине он не работает при связывании.

Если вы не запустите ldconfig после сборки sox, он не сможет найти собственные разделяемые библиотеки и выполнить ошибку.

Порядок важен, например, twolame не будет собираться раньше libsndfile.

Эти не все необходимые плагины для sox, только те, которые я использую, проверьте файл INSTALL внутри tarball, чтобы узнать, как получить любые другие, которые могут вам понадобиться; процесс такой же, создайте их (при необходимости включите общий доступ) и запустите ldconfig после сборки.

yum install pkgconfig

cd /usr/local/src
wget http://sourceforge.net/projects/mad/files/madplay/0.15.2b/madplay-0.15.2b.tar.gz
wget http://sourceforge.net/projects/mad/files/libmad/0.15.1b/libmad-0.15.1b.tar.gz
wget http://sourceforge.net/projects/mad/files/libid3tag/0.15.1b/libid3tag-0.15.1b.tar.gz
wget http://sourceforge.net/projects/sox/files/sox/14.4.1/sox-14.4.1.tar.gz
wget http://downloads.xiph.org/releases/ao/libao-1.2.0.tar.gz
wget http://downloads.sourceforge.net/twolame/twolame-0.3.13.tar.gz
wget http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz
wget http://www.wavpack.com/wavpack-4.70.0.tar.bz2
wget http://www.linuxfromscratch.org/patches/blfs/svn/libmad-0.15.1b-fixes-1.patch
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
wget http://downloads.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz

tar xf madplay-0.15.2b.tar.gz
tar xf libmad-0.15.1b.tar.gz
tar xf libid3tag-0.15.1b.tar.gz
tar xf sox-14.4.1.tar.gz
tar xf libao-1.2.0.tar.gz
tar xf twolame-0.3.13.tar.gz
tar xf libsndfile-1.0.25.tar.gz
tar jxf wavpack-4.70.0.tar.bz2
tar zxf libogg-1.3.2.tar.gz
tar zxf libvorbis-1.3.4.tar.gz
tar zxf libtheora-1.1.1.tar.gz
tar zxf opencore-amr-0.1.3.tar.gz
tar zxf faac-1.28.tar.gz
tar zxf lame-3.99.5.tar.gz

[LIBOGG]
    cd /usr/local/src/libogg-1.3.2
    ./configure && make clean && make && make install
    ldconfig
[LIBVORBIS]
    cd /usr/local/src/libvorbis-1.3.4
    ./configure && make clean && make && make install
    ldconfig
[LIBTHEORA]
    cd /usr/local/src/libtheora-1.1.1
    ./configure && make clean && make && make install
    ldconfig
[AMR]
    cd /usr/local/src/opencore-amr-0.1.3
    ./configure && make clean && make && make install
    ldconfig
[FAAC]
    cd /usr/local/src/faac-1.28
    vi /usr/local/src/faac-1.28/common/mp4v2/mpeg4ip.h
        [DELETE]:char *strcasestr(const char *haystack, const char *needle);
    ./configure && make && make install
    ldconfig
[LAME]
    cd /usr/local/src/lame-3.99.5
    ./configure && make clean && make && make install
    ldconfig
[LIBAO]
    cd /usr/local/src/libao-1.2.0
    ./configure && make && make install
    ldconfig
[LIBSNDFILE]
    cd /usr/local/src/libsndfile-1.0.25
    ./configure && make && make install
    ldconfig
[TWOLAME]
    cd /usr/local/src/twolame-0.3.13
    ./configure && make && make install
    ldconfig
[WAVPACK]
    cd /usr/local/src/wavpack-4.70.0
    ./configure && make && make install
    ldconfig
[LIBMAD]
    cd /usr/local/src/libmad-0.15.1b
    patch -Np1 -i ../libmad-0.15.1b-fixes-1.patch
    sed "s@AM_CONFIG_HEADER@AC_CONFIG_HEADERS@g" -i configure.ac
    touch NEWS AUTHORS ChangeLog
    autoreconf -fi
    ./configure --enable-shared && make && make install
    ldconfig
[LIBID3]
    cd /usr/local/src/libid3tag-0.15.1b
    ./configure --enable-shared && make && make install
    ldconfig
[MADPLAY]
    cd /usr/local/src/madplay-0.15.2b
    ./configure --enable-shared && make && make install
    ldconfig
[SOX]
    cd /usr/local/src/sox-14.4.1
    ./configure
    make -s
    make install
    ldconfig

Вот возможности sox после сборки таким образом:

BUILD OPTIONS
Debugging build............no
Distro name ...............not specified!
Dynamic loading support....no
Pkg-config location........$(libdir)/pkgconfig
Play and rec symlinks......yes
Symlinks enabled...........yes

OPTIONAL DEVICE DRIVERS
ao (Xiph)..................yes
alsa (Linux)...............no
coreaudio (Mac OS X).......no
sndio (OpenBSD)............no
oss........................yes
pulseaudio.................no
sunaudio...................no
waveaudio (MS-Windows).....no

OPTIONAL FILE FORMATS
amrnb......................yes
    dlopen amrnb..............no
amrwb......................yes
    dlopen amrwb..............no
ffmpeg.....................no
flac.......................no
gsm........................yes (in-tree)
lpc10......................yes (in-tree)
mp2/mp3....................yes
id3tag....................yes
lame......................yes
    lame id3tag...............yes
    dlopen lame...............no
mad.......................yes
    dlopen mad................no
twolame...................yes
    dlopen twolame............no
oggvorbis..................yes
sndfile....................yes
dlopen sndfile............no
wavpack....................yes

OTHER OPTIONS
ladspa effects.............no
magic support..............no
png support................no
GOMP support...............yes