I followed the instructions in the Mac installation guide, using Motion-3.2.4 and the ffmpeg-for-motion-3.2.4 snapshot on
SourceForge. The -macosx.patch didn't work probably because I'm using 10.5, but I don't really know anything about this. Just pretending that it worked, though, I ran ./configure the way I'm supposed to. That worked fine, but make fails with "no rule to make target 'libavdevice.' Following some help from other websites, I used --disable-vhook. That didn't work either. So I'm not sure if I should be complaining to ffmpeg developers or not. I even tried building Motion-3.2.11 with the latest SVN of ffmpeg (0.4.8 I think). The new ffmpeg builds just fine, but now Motion can't detect pthread support OR ffmpeg!
After messing around with various versions of Motion and ffmpeg to no success, I installed ffmpeg through Fink. Then I tried to configure Motion with "./configure --with-ffmpeg=/usr/local/bin/ffmpeg" and it still can't do it. I'm a C noob, so what am I doing wrong? Is Mac OS 10.5 just not supported yet? And how do I get pthread support? Even a shot at --enable-linuxthreads doesn't work.
--- Trying to patch ffmpeg-for-motion-3.2.4: ---
patching file configure
Hunk #1 FAILED at 84.
Hunk #2 FAILED at 163.
Hunk #3 FAILED at 178.
3 out of 3 hunks FAILED -- saving rejects to file configure.rej
patching file libavcodec/Makefile
Hunk #1 FAILED at 239.
1 out of 1 hunk FAILED -- saving rejects to file libavcodec/Makefile.rej
patching file libavformat/Makefile
Hunk #1 FAILED at 102.
1 out of 1 hunk FAILED -- saving rejects to file libavformat/Makefile.rej
--- Attempting to make ffmpeg-for-motion-3.2.4: ---
gcc -fPIC -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno `freetype-config --cflags` -MM -MG vhook/drawtext.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*drawtext\.o,vhook/drawtext.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > vhook/drawtext.d
gcc -fPIC -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno `freetype-config --cflags` -MM -MG vhook/ppm.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*ppm\.o,vhook/ppm.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > vhook/ppm.d
gcc -fPIC -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno `freetype-config --cflags` -MM -MG vhook/watermark.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*watermark\.o,vhook/watermark.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > vhook/watermark.d
gcc -fPIC -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno `freetype-config --cflags` -MM -MG vhook/null.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*null\.o,vhook/null.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > vhook/null.d
gcc -fPIC -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno `freetype-config --cflags` -MM -MG vhook/fish.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*fish\.o,vhook/fish.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > vhook/fish.d
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -mdynamic-no-pic -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno -MM -MG cmdutils.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*cmdutils\.o,./cmdutils.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > cmdutils.d
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -mdynamic-no-pic -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno -MM -MG ffserver.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*ffserver\.o,./ffserver.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > ffserver.d
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -mdynamic-no-pic -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -MM -MG ffplay.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*ffplay\.o,./ffplay.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > ffplay.d
gcc -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I. -I"/Users/Nick/Downloads/motion-3.2.11/ffmpeg" -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 -std=c99 -pipe -force_cpusubtype_ALL -Wno-sign-compare -mdynamic-no-pic -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -Wcast-qual -Wwrite-strings -O3 -fno-math-errno -MM -MG ffmpeg.c | sed -e "/^#.*/d" -e "s,^[[:space:]]*ffmpeg\.o,./ffmpeg.o," -e "s,\([[:space:]]\)\(version\.h\),\1\$(BUILD_ROOT_REL)/\2," > ffmpeg.d
make: *** No rule to make target `libavdevice/libavdevice.a', needed by `all'. Stop.
Environment
Motion version: |
3.2.4 and 3.2.11 |
ffmpeg version: |
0.4.8 and SVN r15261 |
Shared libraries: |
ffmpeg, faac, jpeglib, lame, libav*, xvid, x264 |
Server OS: |
Mac OS 10.5.6, Darwin 9.6.0 |
--
NicholasSund - 21 Dec 2008
Follow up
Motion port for
MacOS is broken because no one was interested to help testing and i have not access to any Mac machine anymore.
I don't remember was version was used but i guess was 10.4 so is normal that it doesn't work on 10.5.x
--
AngelCarpintero - 22 Dec 2008
Follow up
I thought Leopard (10.5) had built-in support for Tiger (10.4) applications. Are C libraries more picky?
Angel, what would you (or anyone else) need to get Motion for Mac OS development going again? How can I can help?
--
NicholasSund - 21 Dec 2008
Follow up
i can update motion port to Mac OS but i need a machine ( remote access ). To do easier you can come to #motion channel in irc.
--
AngelCarpintero - 22 Dec 2008
Follow up
Hi,
I would be interested in working to port this code to snow leopard. I won't be able to give you a shell, but will try to find you in #motion on the weekend.
--
Main.NickLange - 04 Nov 2009
Follow up
Is anyone working on this? I too have found this problem with the configure script on a mac running "tiger". So it's not just due to newer OS. I have managed to install ffmpeg and have the configure script find it, but the pthread has me confused. In the script, the command used is 'test -f ${THREAD_CHECK}' for which THREAD_CHECK = "/usr/include/pthread.h" . Considering that that file exists and is fine, I don't understand why the test function does not return a positive. In fact, the weird thing is that it doesn't appear to give a return value at all as read from the output:
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking threads...
checking for libjpeg-mmx... skipping
checking for libjpeg...
checking for jpeg_set_defaults in -ljpeg... no
(same for jpeg?)
Is something doing an auto configure to linuxthreads?
for clarity, I'm running MacOS 10.4.11; Motion 3.2.11.1; ffmpeg 0.5
Unless someone running MacOS will handle motion port for MacOS, it will be unsupported.
--
AngelCarpintero - 05 Feb 2010