Мне нужна помощь в получении 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