LinuxForum.Fans
Тема

Установка motion

Автор: Aleksandr85 29 сообщений 15608 просмотров
#69563

Скачав пакет, разархивировал, откомпилировал ... а с постройкой не выходит:

text
# make
Welcome to the setup procedure for Motion, the motion detection daemon! If you get
error messages during this procedure, please report them to the mailing list. The
Motion Guide contains all information you should need to get Motion up and running.
Run "make updateguide" to download the latest version of the Motion Guide.

Version: 3.2.12 Platform: Linux (if this is incorrect, please read README.FreeBSD)

Compiling Motion object files... -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motion object files compiled.

Linking Motion... -------------------------------------------------------------------------------- gcc -L/usr/local/lib -o motion motion.o conf.o draw.o jpegutils.o video.o video2.o video_common.o netcam.o netcam_ftp.o netcam_jpeg.o netcam_wget.o track.o alg.o event.o picture.o rotate.o webhttpd.o webcam.o ffmpeg.o -lm -lpthread -ljpeg -L/usr/local/lib -lavformat -lavcodec -lavutil -lm -lz -L/usr/lib -lmysqlclient -lz -L/usr/local/pgsql/lib -lpq /usr/local/lib/libavformat.a(file.o):(.data+0x0): multiple definition of `file_protocol' ffmpeg.o:(.data+0x40): first defined here /usr/local/lib/libavformat.a(matroskadec.o): In function `matroska_decode_buffer': /mnt/ftp/Upload/ffmpeg-0.6/libavformat/matroskadec.c:927: undefined reference to `BZ2_bzDecompressInit' /mnt/ftp/Upload/ffmpeg-0.6/libavformat/matroskadec.c:936: undefined reference to `BZ2_bzDecompress' /mnt/ftp/Upload/ffmpeg-0.6/libavformat/matroskadec.c:939: undefined reference to `BZ2_bzDecompressEnd' /mnt/ftp/Upload/ffmpeg-0.6/libavformat/matroskadec.c:939: undefined reference to `BZ2_bzDecompressEnd' collect2: ld returned 1 exit status make: *** [motion] Error 1

1. компилировал без опций
2. ffmpeg-0.6 устанавливал в директории /mnt/ftp/Upload/ffmpeg-0.6/ (Почему motion на неё ссылается не пойму).

В инете нашёл решение подобной проблемы но не могу разобраться как это сделать самому
http://www.fexclub.su/t189364.html

Help!

#69588
Aleksandr85 написал:
В инете нашёл решение подобной проблемы но не могу разобраться как это сделать самому
http://www.fexclub.su/t189364.html

Ну все правильно там пишут, нет или не находится библиотека bzip2. Скорее всего ее нет, установи ее.

Если она установлена, то там написано как ее подключить. Вот цитата с твоей ссылки:

4) Делаем вывод о том, что в ld при сборке как минимум надо передать подключение библиотеки libbz2.so. Наверняка это можно сделать ключом «-lbz2» (возможно потребуется так же указать путь к библиотеке, если она лежит в экзотическом месте «-L/path/to/library/»).
#69606

Если я правильно понимаю, то команда будет выглядить так:

text
 make -lbz2

Но почему то результат не меняется. И как указать путь?

#69608

И ещё такой вопрос ...
Мне кажется я не совсем корректно установил ffmpeg (возможно там нужно было указывать какие нить префиксы)... Его как то можно удалить?

#69829
Aleksandr85 написал:
Если я правильно понимаю, то команда будет выглядить так:
text
 make -lbz2

Но почему то результат не меняется. И как указать путь?

Нет, не правильно. Вообще то там должно быть configure который должен подготовить Makefile, после чего достаточно будет вызвать make.

А лучше всего прочитать READMY или INSTALL которые входят в устанавливаемое вами приложение. Там будет описано как правильно надо устанавливать данное приложение.

#69834

Подсказали сайтик с пакетиками [url]slackfind.net[/url]
Собрал и motion и ffmpeg ... А сорсы на ffmpeg удалил.

Пока остановился на то что не хватает библиотеки libavcodec.so.51 при запуске motion:

text
# motion
motion: error while loading shared libraries: libavcodec.so.51: cannot open shared object file: No such file or directory

Как на зло именно этой библиотеки и нет:

text
# ls /usr/lib/ | grep libav
libavcodec.so@
libavcodec.so.52@
libavcodec.so.52.72.2*
libavdevice.so@
libavdevice.so.52@
libavdevice.so.52.2.0*
libavfilter.so@
libavfilter.so.1@
libavfilter.so.1.19.0*
libavformat.so@
libavformat.so.52@
libavformat.so.52.64.2*
libavutil.so@
libavutil.so.50@
libavutil.so.50.15.1*
#69835

Я тут глянул, чё то очень много не хватате:

text
# ldd /usr/bin/motion
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb789b000)
        libmjpegutils-1.9.so.0 => /usr/lib/libmjpegutils-1.9.so.0 (0xb788d000)
        liblavjpeg-1.9.so.0 => /usr/lib/liblavjpeg-1.9.so.0 (0xb7868000)
        libm.so.6 => /lib/libm.so.6 (0xb7842000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7821000)
        libavformat.so.52 => /usr/lib/libavformat.so.52 (0xb773a000)
        libavcodec.so.51 => not found
        libz.so.1 => /usr/lib/libz.so.1 (0xb7726000)
        libmysqlclient.so.15 => not found
        libc.so.6 => /lib/libc.so.6 (0xb75c2000)
        /lib/ld-linux.so.2 (0xb78bd000)
        libavutil.so.49 => not found
        libavcodec.so.52 => /usr/lib/libavcodec.so.52 (0xb6b9d000)
        libavutil.so.50 => /usr/lib/libavutil.so.50 (0xb6b8a000)
        libbz2.so.1 => /lib/libbz2.so.1 (0xb6b79000)
        libssl.so.0 => /lib/libssl.so.0 (0xb6b30000)
        libcrypto.so.0 => /lib/libcrypto.so.0 (0xb69e8000)
        libva.so.1 => not found
        libdirac_encoder.so.0 => not found
        libfaac.so.0 => not found
        libgsm.so.1 => not found
        libmp3lame.so.0 => not found
        libopencore-amrnb.so.0 => not found
        libopencore-amrwb.so.0 => not found
        libopenjpeg.so.1.3 => not found
        libdl.so.2 => /lib/libdl.so.2 (0xb69e2000)
        libschroedinger-1.0.so.0 => not found
        libspeex.so.1 => not found
        libtheoraenc.so.1 => not found
        libtheoradec.so.1 => not found
        libvorbisenc.so.2 => not found
        libvorbis.so.0 => not found
        libvpx.so.0 => not found
        libx264.so.96 => not found
        libxvidcore.so.4 => not found
#69840
Aleksandr85 написал:

Пока остановился на то что не хватает библиотеки libavcodec.so.51 при запуске motion:
text
# motion
motion: error while loading shared libraries:[b] libavcodec.so.51[/b]: cannot open shared object file: No such file or directory

Как на зло именно этой библиотеки и нет:

text
# ls /usr/lib/ | grep libav
libavcodec.so@
[b]libavcodec.so.52[/b]@
libavcodec.so.52.72.2*
libavdevice.so@
libavdevice.so.52@
libavdevice.so.52.2.0*
libavfilter.so@
libavfilter.so.1@
libavfilter.so.1.19.0*
libavformat.so@
libavformat.so.52@
libavformat.so.52.64.2*
libavutil.so@
libavutil.so.50@
libavutil.so.50.15.1*

Сделай симлинк libavcodec.so.51 на libavcodec.so.52 у меня такое прокативало.

#69846

А как быть с остальными библеотеками?

text
# motion
motion: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory

Думаю так будет продолжаться пока вре не найдутся:

text
# ldd /usr/bin/motion
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb78b6000)
        libmjpegutils-1.9.so.0 => /usr/lib/libmjpegutils-1.9.so.0 (0xb78a8000)
        liblavjpeg-1.9.so.0 => /usr/lib/liblavjpeg-1.9.so.0 (0xb7883000)
        libm.so.6 => /lib/libm.so.6 (0xb785d000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb783c000)
        libavformat.so.52 => /usr/lib/libavformat.so.52 (0xb7755000)
        libavcodec.so.51 => /usr/lib/libavcodec.so.51 (0xb6d30000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb6d1c000)
        libmysqlclient.so.15 => not found
        libc.so.6 => /lib/libc.so.6 (0xb6bb8000)
        /lib/ld-linux.so.2 (0xb78d8000)
        libavutil.so.49 => not found
        libavutil.so.50 => /usr/lib/libavutil.so.50 (0xb6ba5000)
        libbz2.so.1 => /lib/libbz2.so.1 (0xb6b94000)
        libssl.so.0 => /lib/libssl.so.0 (0xb6b4c000)
        libcrypto.so.0 => /lib/libcrypto.so.0 (0xb6a03000)
        libva.so.1 => not found
        libdirac_encoder.so.0 => not found
        libfaac.so.0 => not found
        libgsm.so.1 => not found
        libmp3lame.so.0 => not found
        libopencore-amrnb.so.0 => not found
        libopencore-amrwb.so.0 => not found
        libopenjpeg.so.1.3 => not found
        libdl.so.2 => /lib/libdl.so.2 (0xb69fe000)
        libschroedinger-1.0.so.0 => not found
        libspeex.so.1 => not found
        libtheoraenc.so.1 => not found
        libtheoradec.so.1 => not found
        libvorbisenc.so.2 => not found
        libvorbis.so.0 => not found
        libvpx.so.0 => not found
        libx264.so.96 => not found
        libxvidcore.so.4 => not found
#69849

Не могу найти след. пакет:

text
# motion
motion: error while loading shared libraries: libva.so.1: cannot open shared object file: No such file or directory

С предыдущими симлинками справился :)

#69851

А у тебя эти библиотеки есть или их нету. Если нету то нужно доставить, если есть то где они так экзотически лежат что прога их не видит. Если есть библиотеки версии каких старше чем просит прога то делай симлинки. Недостающия доставляй или как я иногда делаю выбираю название библиотеки, бросаю её в гугл потом нахожу в основному рпм пакет где есть готовая библиотека стягиваю пакет и с помощью mc извлекаю файл библиотеки в папку /usr/lib и всё чтобы не ставить все подряд.

#69852

Нет ... Этих библиотек нет ... Сейчас на сайте http://slackfind.net ищу...
О результате отпишусь

#69855

Так ... Вот итог ...

text
# ldd /usr/bin/motion
/usr/bin/motion: /usr/lib/libmysqlclient.so.15: version `libmysqlclient_15' not found (required by /usr/bin/motion)
        linux-gate.so.1 =>  (0xffffe000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb772c000)
        libmjpegutils-1.9.so.0 => /usr/lib/libmjpegutils-1.9.so.0 (0xb771e000)
        liblavjpeg-1.9.so.0 => /usr/lib/liblavjpeg-1.9.so.0 (0xb76f9000)
        libm.so.6 => /lib/libm.so.6 (0xb76d3000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb76b2000)
        libavformat.so.52 => /usr/lib/libavformat.so.52 (0xb75cb000)
        libavcodec.so.51 => /usr/lib/libavcodec.so.51 (0xb6ba6000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb6b92000)
        libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0xb6a41000)
        libc.so.6 => /lib/libc.so.6 (0xb68de000)
        libavutil.so.49 => /usr/lib/libavutil.so.49 (0xb68ca000)
        /lib/ld-linux.so.2 (0xb774f000)
        libbz2.so.1 => /lib/libbz2.so.1 (0xb68b9000)
        libssl.so.0 => /lib/libssl.so.0 (0xb6871000)
        libcrypto.so.0 => /lib/libcrypto.so.0 (0xb6729000)
        libva.so.1 => not found
        libdirac_encoder.so.0 => /usr/lib/libdirac_encoder.so.0 (0xb6692000)
        libfaac.so.0 => /usr/lib/libfaac.so.0 (0xb667d000)
        libgsm.so.1 => not found
        libmp3lame.so.0 => not found
        libopencore-amrnb.so.0 => /usr/lib/libopencore-amrnb.so.0 (0xb6650000)
        libopencore-amrwb.so.0 => /usr/lib/libopencore-amrwb.so.0 (0xb663a000)
        libopenjpeg.so.1.3 => /usr/lib/libopenjpeg.so.1.3 (0xb661d000)
        libdl.so.2 => /lib/libdl.so.2 (0xb6619000)
        libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0xb659a000)
        libspeex.so.1 => /usr/lib/libspeex.so.1 (0xb6585000)
        libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0xb654b000)
        libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0xb6532000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb6437000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb6407000)
        libvpx.so.0 => not found
        libx264.so.96 => not found
        libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0xb62f6000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb62c3000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb62aa000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb61ba000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb619d000)
        liboil-0.3.so.0 => /usr/lib/liboil-0.3.so.0 (0xb612d000)
        librt.so.1 => /lib/librt.so.1 (0xb6124000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb611f000)

След. библиотеки нигде не найти:
libva.so.1
libgsm.so.1
libmp3lame.so.0
libvpx.so.0
libx264.so.96

И какая то не понятная ошибка (но вроде пока не так критична):

text
/usr/bin/motion: /usr/lib/libmysqlclient.so.15: version `libmysqlclient_15' not found (required by /usr/bin/motion)
#69856

Ща поищу

#70120

Ну почему же другим, та же самая сборка из исходников. Только по готовым рецептам (со slackbuilds.org), с формированием пакетов и их установкой.

#191432

Всем привет! Та же проблема, нужно сделать симлинк на существующие библиотеки вместо требуемых. Подскажите, как сделать симлинк? (ставлю из rpm).

#191448

ln -s что куда

ps. Каков вопрос, таков и ответ.

#191493

Спасибо, но попробую конкретизировать, например нужно сделать симлинк libavcodec.so.51 на libavcodec.so.52, потому что она у меня есть. Если не трудно, опишите процедуру, а то я с Линуксом пока на Ваше Благородие.

Войдите или зарегистрируйтесь, чтобы ответить.