Opened 6 months ago

Last modified 6 months ago

#54333 assigned defect

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 Dyballa) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.4.1
Keywords: snowleopard Cc: jeremyhu@…, ballapete (Peter 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)

main.log (18.5 KB) - added by ballapete (Peter Dyballa) 6 months ago.
main.log on Snow Leopard

Download all attachments as: .zip

Change History (10)

Changed 6 months ago by ballapete (Peter Dyballa)

main.log on Snow Leopard

comment:1 follow-up: Changed 6 months ago by ballapete (Peter 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 6 months ago by ballapete (Peter Dyballa)

Interestingly this executable works. And main.log is removed.

comment:3 Changed 6 months ago by ballapete (Peter 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 6 months ago by Schamschula (Marius Schamschula)

  • Cc devans@… removed
  • Owner set to dbevans
  • Status changed from new to assigned

comment:5 in reply to: ↑ 1 ; follow-up: Changed 6 months 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'

Last edited 6 months ago by kencu (Ken) (previous) (diff)

comment:6 in reply to: ↑ 5 Changed 6 months ago by ballapete (Peter 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 6 months ago by ballapete (Peter Dyballa)

  • Cc ballapete added

comment:8 Changed 6 months 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.

Last edited 6 months ago by kencu (Ken) (previous) (diff)

comment:9 Changed 6 months ago by dliessi (Davide Liessi)

  • Cc dliessi added
Note: See TracTickets for help on using tickets.