Opened 7 years ago
Closed 6 years ago
#54333 closed defect (fixed)
ffmpeg-devel @20170615_0 does not build on Mac OS X 10.6.8, Snow Leopard, because of missing vda_framework pthreads
Reported by: | ballapete (Peter "Pete" Dyballa) | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.1 |
Keywords: | snowleopard | Cc: | jeremyhu@…, ballapete (Peter "Pete" Dyballa), dliessi (Davide Liessi) |
Port: | ffmpeg-devel |
Description
Hello!
Already configure
complains:
ERROR: vda requested, but not all dependencies are satisfied: vda_framework pthreads
This comes from the configure
option --enable-vda
. /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_multimedia_ffmpeg-devel/ffmpeg-devel/work/FFmpeg-9b667f609c509e84ae6ef496edcfb6c8b83c4a38/ffbuild/config.log
reports:
/usr/bin/llvm-gcc-4.2 -I/opt/local/include -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I$(SRC_PATH)/compat/dispatch_semaphore -DPIC -pipe -Os -DHAVE_LRINTF -I/opt/local/include -arch x86_64 -std=c99 -fomit-frame-pointer -fPIC -pthread -I/opt/local/include/p11-kit-1 -I/opt/local/include/freetype2 -I/opt/local/include/fribidi -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/freetype2 -I/opt/local/include/freetype2 -I/opt/local/include/freetype2 -I/opt/local/include/fribidi -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/opus -I/opt/local/include/opus -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -O3 -fno-math-errno -mllvm -stack-alignment=16 -c -o /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_multimedia_ffmpeg-devel/ffmpeg-devel/work/.tmp/ffconf.LSDejVFs/test.o /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_multimedia_ffmpeg-devel/ffmpeg-devel/work/.tmp/ffconf.LSDejVFs/test.c ERROR: vda requested, but not all dependencies are satisfied: vda_framework pthreads
Attachments (1)
Change History (11)
Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
comment:1 follow-up: 5 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Trying to build without --enable-vda
leads to another failure:
cd /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/work/build/lib/MC/MCParser && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/LLVMMCParser.dir/link.txt --verbose=ON /Developer/usr/bin/libtool -static -o ../../libLLVMMCParser.a CMakeFiles/LLVMMCParser.dir/AsmLexer.cpp.o CMakeFiles/LLVMMCParser.dir/AsmParser.cpp.o CMakeFiles/LLVMMCParser.dir/COFFAsmParser.cpp.o CMakeFiles/LLVMMCParser.dir/DarwinAsmParser.cpp.o CMakeFiles/LLVMMCParser.dir/ELFAsmParser.cpp.o CMakeFiles/LLVMMCParser.dir/MCAsmLexer.cpp.o CMakeFiles/LLVMMCParser.dir/MCAsmParser.cpp.o CMakeFiles/LLVMMCParser.dir/MCAsmParserExtension.cpp.o CMakeFiles/LLVMMCParser.dir/MCTargetAsmParser.cpp.o /Developer/usr/bin/libtool: object: CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o /Developer/usr/bin/libtool: object: CMakeFiles/LLVMMCParser.dir/AsmLexer.cpp.o malformed object (unknown load command 2) malformed object (unknown load command 2) /Developer/usr/bin/libtool: object: CMakeFiles/LLVMMCDisassembler.dir/MCExternalSymbolizer.cpp.o malformed object (unknown load command 2) make[2]: *** [lib/libLLVMDemangle.a] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/work/build' make[1]: *** [lib/Demangle/CMakeFiles/LLVMDemangle.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs....
comment:2 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Interestingly this executable works. And main.log is removed.
comment:3 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
This must be a bug in port:
make[2]: *** [lib/libLLVMSupport.a] Error 1 make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/work/build' make[1]: *** [lib/Support/CMakeFiles/LLVMSupport.dir/all] Error 2 make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/work/build' make: *** [all] Error 2 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/work/build' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/work/build" && /usr/bin/make -j8 -w all VERBOSE=ON Exit code: 2 Error: Failed to build llvm-4.0: command execution failed DEBUG: Error code: CHILDSTATUS 92596 2 DEBUG: Backtrace: command execution failed while executing "system {*}$notty {*}$nice $fullcmdstring" invoked from within "command_exec build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname" Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_lang_llvm-4.0/llvm-4.0/main.log for details. Error: Problem while installing llvm-4.0 Error: Follow https://guide.macports.org/#project.tickets to report a bug. ---> Some of the ports you installed have notes: ffmpeg-devel has the following notes: ******* ******* This build of ffmpeg-devel includes nonfree code as follows: ******* ******* libfdk-aac ******* ******* The following libraries and binaries may not be redistributed: ******* ******* ffmpeg ******* libavcodec ******* libavdevice ******* libavfilter ******* libavformat ******* libavutil ******* ******* To remove this restriction remove the variant +nonfree ******* Compilation exited abnormally with code 1 at Sat Jun 17 22:56:12
Abnormal exit and main.log removed?
comment:4 Changed 7 years ago by Schamschula (Marius Schamschula)
Cc: | devans@… removed |
---|---|
Owner: | set to dbevans |
Status: | new → assigned |
comment:5 follow-up: 6 Changed 7 years ago by kencu (Ken)
Replying to ballapete:
/Developer/usr/bin/libtool: object: CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o /Developer/usr/bin/libtool: object: CMakeFiles/LLVMMCParser.dir/AsmLexer.cpp.o malformed object (unknown load command 2) malformed object (unknown load command 2) /Developer/usr/bin/libtool: object: CMakeFiles/LLVMMCDisassembler.dir/MCExternalSymbolizer.cpp.o malformed object (unknown load command 2)
There are probably several different things happening here. We'll leave the ffmpeg-devel thing alone for a moment.
The malformed object error is most likely this minor issue 54129 on SnowLeopard which is fixed quite easily with the minor edit I outlined here <https://trac.macports.org/ticket/54129#comment:7> . I'd make a PR for this -- I probably should I guess - but I usually leave the guts of clang and llvm to Jeremy. In the meantime, if you make that little edit in the Portfile, you should be able to build llvm-4.0.
Don't forget, clang-4.0 is broken on Snow Leopard unless you implement this 54135 fix, which I guess I should also make a PR for. So either use that fix, or stick with clang-3.9 or clang-3.8.
If all that seems like a PITA, you can just check out my SnowLeopardPorts repo <https://github.com/kencu/SnowLeopardPorts> and these fixes are all done in there.
On to ffmpeg-devel. I don't know what to say, exactly. I just built it. Not much in the way of modern software will build with llvm-gcc-4.2 any more, so my first guess is that you need to set a newer compiler My default compiler on SnowLeopard is presently set to clang-3.9, which as we've discussed before overrides any settings in the Portfile. I'd suggest you (and anyone else out there on Earth still using Snow Leopard) consider doing something similar. Life is too short to see which port is the next one to require c++11.
$ port -v installed ffmpeg-devel The following ports are currently installed: ffmpeg-devel @20170615_0+gpl2+gpl3+nonfree (active) platform='darwin 10' archs='x86_64' date='2017-06-17T18:45:36-0700'
comment:6 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Replying to kencu:
Why do I have to manipulate the building mechanism? Isn't port meant to adapt the packages to the system it is building them on? Is port not able to perform? Then it either should be repaired or something else used instead of it.
comment:7 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Cc: | ballapete added |
---|
comment:8 Changed 7 years ago by kencu (Ken)
I sense your frustration, but you must realize that 10.6 is long long past official support by MacPorts, and those of us who still use 10.6 with MacPorts more or less have an obligation to help find ways to keep it going rather than express too much frustration with it when the very very latest devel version of a port written a decade after the system was retired requires a newer compiler than the default.
Personally I don't think it's a lot to ask to have you add one single line of code to your macports.conf to set a current compiler as the default, but it's up to you.
comment:9 Changed 7 years ago by dliessi (Davide Liessi)
Cc: | dliessi added |
---|
comment:10 Changed 6 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
latest commit builds fine, both ffmpeg and ffmpeg-devel, and with new features enabled.
main.log on Snow Leopard