Opened 16 months ago

Closed 15 months ago

Last modified 15 months ago

#63330 closed defect (duplicate)

cctools @949.0.1_1 +llvmdev: otool does not work properly, due to incorrectly passed '-macho' option to llvm-objdump, causing some libraries to be built with @rpath references

Reported by: cave-canem Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version: 2.6.99
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: cctools, ld64

Description (last modified by cave-canem)

The ffmpeg port builds successfully, but a runtime error occurs:

ffmpeg -version
dyld: Library not loaded: @rpath/libdav1d.5.dylib
  Referenced from: /opt/MacPorts/bin/ffmpeg
  Reason: image not found
Trace/BPT trap: 5
port -v installed dav1d
The following ports are currently installed:
  dav1d @0.9.1_0 (active) platform='darwin 13' archs='x86_64' date='2021-08-01T12:39:53+0300
sudo find -x / -name "libdav1d.5.dylib" -print
Password:
/opt/MacPorts/lib/libdav1d.5.dylib

That being said, ffmpeg @ 4.4_0 works without any problems:

ffmpeg -version
ffmpeg version 4.4 Copyright (c) 2000-2021 the FFmpeg developers
built with clang version 10.0.1
configuration: --prefix=/opt/MacPorts --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/MacPorts/share/man --enable-shared --enable-pthreads --cc=/opt/MacPorts/bin/clang --enable-libdav1d --arch=x86_64 --enable-x86asm --enable-librtmp --enable-nonfree --enable-libfdk-aac
libavutil      56. 70.100 / 56. 70.100
libavcodec     58.134.100 / 58.134.100
libavformat    58. 76.100 / 58. 76.100
libavdevice    58. 13.100 / 58. 13.100
libavfilter     7.110.100 /  7.110.100
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  9.100 /  5.  9.100
libswresample   3.  9.100 /  3.  9.100
port -v installed active and ffmpeg
The following ports are currently installed:
  ffmpeg @4.4_0+librtmp+nonfree+x11-gpl2 (active) platform='darwin 13' archs='x86_64' date='2021-05-25T12:28:51+0300'

Attachments (1)

dav1d_main.log.tar.xz (9.4 KB) - added by cave-canem 16 months ago.
dav1d_main.log.tar.xz

Download all attachments as: .zip

Change History (18)

comment:1 Changed 16 months ago by cave-canem

Description: modified (diff)

comment:2 Changed 16 months ago by cave-canem

Description: modified (diff)

comment:3 Changed 16 months ago by ryandesign (Ryan Schmidt)

Cc: jeremyhu ctreleaven added; dbevans removed
Keywords: mavericks sierra added; Mavericks Sierra removed
Owner: set to dbevans
Port: dav1d added
Status: newassigned
Summary: Runtime error ffmpeg @4.4_2ffmpeg @4.4_2: dyld: Library not loaded: @rpath/libdav1d.5.dylib

Although it does not relate to this issue, if you are really running MacPorts 2.6.99, please run sudo port selfupdate to upgrade to 2.7.1.

comment:4 Changed 16 months ago by kencu (Ken)

could you show us what your dav1d library looks like? Here is mine:

$ otool -L /opt/local/lib/libdav1d.5.dylib
/opt/local/lib/libdav1d.5.dylib:
	/opt/local/lib/libdav1d.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)

my ffmpeg binary has proper links, with no @rpath references:

$ otool -L /opt/local/bin/ffmpeg
/opt/local/bin/ffmpeg:
	/opt/local/lib/libavdevice.58.dylib (compatibility version 58.0.0, current version 58.13.100)
	/opt/local/lib/libavfilter.7.dylib (compatibility version 7.0.0, current version 7.110.100)
	/opt/local/lib/libavformat.58.dylib (compatibility version 58.0.0, current version 58.76.100)
	/opt/local/lib/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.134.100)
	/opt/local/lib/libavresample.4.dylib (compatibility version 4.0.0, current version 4.0.0)
	/opt/local/lib/libpostproc.55.dylib (compatibility version 55.0.0, current version 55.9.100)
	/opt/local/lib/libswresample.3.dylib (compatibility version 3.0.0, current version 3.9.100)
	/opt/local/lib/libswscale.5.dylib (compatibility version 5.0.0, current version 5.9.100)
	/opt/local/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.70.100)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1455.255.0)
	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 492.0.0)
	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
	/System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0)
	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.5.0)
	/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 1161.21.5)
	/opt/local/lib/libSDL2-2.0.0.dylib (compatibility version 15.0.0, current version 15.0.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libfribidi.0.dylib (compatibility version 5.0.0, current version 5.0.0)
	/opt/local/lib/libass.9.dylib (compatibility version 11.0.0, current version 11.2.0)
	/System/Library/Frameworks/CoreImage.framework/Versions/A/CoreImage (compatibility version 1.0.1, current version 5.0.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1561.61.100)
	/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libfontconfig.1.dylib (compatibility version 14.0.0, current version 14.0.0)
	/opt/local/lib/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.4.0)
	/opt/local/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8)
	/opt/local/lib/libmodplug.1.dylib (compatibility version 2.0.0, current version 2.0.0)
	/opt/local/lib/libbluray.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/opt/local/lib/libgnutls.30.dylib (compatibility version 59.0.0, current version 59.2.0)
	/opt/local/lib/libvpx.6.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0)
	/opt/local/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.5.0)
	/opt/local/lib/libdav1d.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/opt/local/lib/librsvg-2.2.dylib (compatibility version 50.0.0, current version 50.0.0)
	/opt/local/lib/libgio-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/local/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 4201.0.0, current version 4201.2.0)
	/opt/local/lib/libgobject-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/local/lib/libglib-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1455.255.0)
	/opt/local/lib/libcairo.2.dylib (compatibility version 11603.0.0, current version 11603.0.0)
	/opt/local/lib/libmp3lame.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.4.0)
	/opt/local/lib/libopus.0.dylib (compatibility version 9.0.0, current version 9.0.0)
	/opt/local/lib/libspeex.1.dylib (compatibility version 7.0.0, current version 7.1.0)
	/opt/local/lib/libtheoraenc.1.dylib (compatibility version 3.0.0, current version 3.2.0)
	/opt/local/lib/libtheoradec.1.dylib (compatibility version 3.0.0, current version 3.4.0)
	/opt/local/lib/libogg.0.dylib (compatibility version 9.0.0, current version 9.4.0)
	/opt/local/lib/libvorbis.0.dylib (compatibility version 5.0.0, current version 5.9.0)
	/opt/local/lib/libvorbisenc.2.dylib (compatibility version 3.0.0, current version 3.12.0)
	/opt/local/lib/libx264.157.dylib (compatibility version 0.0.0, current version 0.0.0)
	/opt/local/lib/libx265.192.dylib (compatibility version 192.0.0, current version 192.0.0)
	/System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 822.37.0)
	/opt/local/lib/libsoxr.0.dylib (compatibility version 0.0.0, current version 0.1.2)

comment:5 Changed 16 months ago by cave-canem

/usr/bin/otool -L /opt/MacPorts/lib/libdav1d.5.dylib
/opt/MacPorts/lib/libdav1d.5.dylib:
	@rpath/libdav1d.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
/usr/bin/otool -L /opt/MacPorts/bin/ffmpeg
/opt/MacPorts/bin/ffmpeg:
	/opt/MacPorts/lib/libMacportsLegacySupport.dylib (compatibility version 1.0.0, current version 1.0.3)
	/opt/MacPorts/lib/libavdevice.58.dylib (compatibility version 58.0.0, current version 58.13.100)
	/opt/MacPorts/lib/libavfilter.7.dylib (compatibility version 7.0.0, current version 7.110.100)
	/opt/MacPorts/lib/libavformat.58.dylib (compatibility version 58.0.0, current version 58.76.100)
	/opt/MacPorts/lib/libavcodec.58.dylib (compatibility version 58.0.0, current version 58.134.100)
	/opt/MacPorts/lib/libavresample.4.dylib (compatibility version 4.0.0, current version 4.0.0)
	/opt/MacPorts/lib/libswresample.3.dylib (compatibility version 3.0.0, current version 3.9.100)
	/opt/MacPorts/lib/libswscale.5.dylib (compatibility version 5.0.0, current version 5.9.100)
	/opt/MacPorts/lib/libavutil.56.dylib (compatibility version 56.0.0, current version 56.70.100)
	/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.17.0)
	/System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox (compatibility version 1.0.0, current version 492.0.0)
	/System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/System/Library/Frameworks/AVFoundation.framework/Versions/A/AVFoundation (compatibility version 1.0.0, current version 2.0.0)
	/System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo (compatibility version 1.2.0, current version 1.8.0)
	/System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
	/opt/MacPorts/lib/libxcb.1.dylib (compatibility version 3.0.0, current version 3.0.0)
	/opt/MacPorts/lib/libxcb-shm.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/MacPorts/lib/libxcb-shape.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/MacPorts/lib/libxcb-xfixes.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/MacPorts/lib/libSDL2-2.0.0.dylib (compatibility version 15.0.0, current version 15.0.0)
	/opt/MacPorts/lib/libfribidi.0.dylib (compatibility version 5.0.0, current version 5.0.0)
	/opt/MacPorts/lib/libass.9.dylib (compatibility version 11.0.0, current version 11.2.0)
	/System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL (compatibility version 1.0.0, current version 1.0.0)
	/opt/MacPorts/lib/libfontconfig.1.dylib (compatibility version 14.0.0, current version 14.0.0)
	/opt/MacPorts/lib/libfreetype.6.dylib (compatibility version 24.0.0, current version 24.4.0)
	/opt/MacPorts/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.8)
	/opt/MacPorts/lib/libmodplug.1.dylib (compatibility version 2.0.0, current version 2.0.0)
	/opt/MacPorts/lib/libbluray.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/MacPorts/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/opt/MacPorts/lib/libgnutls.30.dylib (compatibility version 59.0.0, current version 59.2.0)
	/opt/MacPorts/lib/librtmp.1.dylib (compatibility version 0.0.0, current version 0.0.0)
	/opt/MacPorts/lib/libgmp.10.dylib (compatibility version 15.0.0, current version 15.1.0)
	/opt/MacPorts/lib/libhogweed.6.dylib (compatibility version 6.0.0, current version 6.4.0)
	/opt/MacPorts/lib/libnettle.8.dylib (compatibility version 8.0.0, current version 8.4.0)
	/opt/MacPorts/lib/libvpx.6.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/MacPorts/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0)
	/opt/MacPorts/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.5.0)
	@rpath/libdav1d.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/opt/MacPorts/lib/librsvg-2.2.dylib (compatibility version 50.0.0, current version 50.0.0)
	/opt/MacPorts/lib/libgio-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/MacPorts/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 4201.0.0, current version 4201.2.0)
	/opt/MacPorts/lib/libgobject-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/MacPorts/lib/libglib-2.0.0.dylib (compatibility version 5801.0.0, current version 5801.3.0)
	/opt/MacPorts/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.17.0)
	/opt/MacPorts/lib/libcairo.2.dylib (compatibility version 11603.0.0, current version 11603.0.0)
	/opt/MacPorts/lib/libfdk-aac.2.dylib (compatibility version 3.0.0, current version 3.2.0)
	/opt/MacPorts/lib/libmp3lame.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/MacPorts/lib/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.4.0)
	/opt/MacPorts/lib/libopus.0.dylib (compatibility version 9.0.0, current version 9.0.0)
	/opt/MacPorts/lib/libspeex.1.dylib (compatibility version 7.0.0, current version 7.1.0)
	/opt/MacPorts/lib/libtheoraenc.1.dylib (compatibility version 3.0.0, current version 3.2.0)
	/opt/MacPorts/lib/libtheoradec.1.dylib (compatibility version 3.0.0, current version 3.4.0)
	/opt/MacPorts/lib/libogg.0.dylib (compatibility version 9.0.0, current version 9.4.0)
	/opt/MacPorts/lib/libvorbis.0.dylib (compatibility version 5.0.0, current version 5.9.0)
	/opt/MacPorts/lib/libvorbisenc.2.dylib (compatibility version 3.0.0, current version 3.12.0)
	/System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 59.0.0)
	/opt/MacPorts/lib/libsoxr.0.dylib (compatibility version 0.0.0, current version 0.1.2)
	/opt/MacPorts/lib/libXv.1.dylib (compatibility version 2.0.0, current version 2.0.0)
	/opt/MacPorts/lib/libX11.6.dylib (compatibility version 11.0.0, current version 11.0.0)
	/opt/MacPorts/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)

comment:6 Changed 16 months ago by kencu (Ken)

so force a rebuild of dav1d please, and if you get a proper no-rpath id for it, force a rebuild of ffmpeg to pick that up.

if you get @rpath in dav1d again, please report back as that is what needs to be sorted out.

nothing to do with ffmpeg itself it seems.

comment:7 Changed 16 months ago by cave-canem

Hello Ken!

I seem to have found a bug (Heisenbug).

I built dav1d with mp-clang-devel (clang 13.0.0) and cctools @ 949.0.1_1 +llvmdev.

So, the point is cctools @ 949.0.1_1 +llvmdev:

which -a otool
/opt/MacPorts/bin/otool
/usr/bin/otool
ls -l /opt/MacPorts/bin/otool
lrwxr-xr-x  1 root  wheel  10 Jul 12 20:38 /opt/MacPorts/bin/otool -> llvm-otool
otool -L /opt/MacPorts/lib/libdav1d.5.dylib
llvm-objdump: Unknown command line argument '-macho'.  Try: '/opt/MacPorts/libexec/llvm-devel/bin/llvm-objdump --help'
llvm-objdump: Did you mean '-h'?
llvm-objdump: Unknown command line argument '-dylibs-used'.  Try: '/opt/MacPorts/libexec/llvm-devel/bin/llvm-objdump --help'
llvm-objdump: Did you mean '--dylibs-used'?
llvm-objdump: Unknown command line argument '-non-verbose'.  Try: '/opt/MacPorts/libexec/llvm-devel/bin/llvm-objdump --help'
llvm-objdump: Did you mean '--non-verbose'?
/usr/bin/otool -L /opt/MacPorts/lib/libdav1d.5.dylib
/opt/MacPorts/lib/libdav1d.5.dylib:
	@rpath/libdav1d.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

If you select mp-clang-devel and cctools @ 949.0.1_1 +llvm10 when building libdav1d, then:

otool -L /opt/MacPorts/lib/libdav1d.5.dylib
/opt/MacPorts/lib/libdav1d.5.dylib:
	/opt/MacPorts/lib/libdav1d.5.dylib (compatibility version 5.0.0, current version 5.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

and everything is being built correctly.

comment:8 Changed 16 months ago by ctreleaven (Craig Treleaven)

@cave-canem, is there some particular reason you are using a compiler not specified in the port?

The build logs for dav1d 0.9.1 are available for now. The main.log for the OSX 10.9 builder is at https://build.macports.org/builders/ports-10.9_x86_64-builder/builds/155679/steps/install-port/logs/main.log

The configure phase starts with:

:notice:configure --->  Configuring dav1d
:debug:configure Preferred compilers: clang macports-clang-9.0 macports-clang-8.0 macports-clang-7.0 macports-clang-6.0 macports-clang-5.0 macports-clang-12 macports-clang-11 macports-clang-10 macports-clang-3.7 macports-clang-3.4
:debug:configure Using compiler 'MacPorts Clang 9.0'
:debug:configure Executing org.macports.configure (dav1d)
:debug:configure Environment: 
:debug:configure CC='/opt/local/bin/clang-mp-9.0'

When linking the libarary, it does include the directive '-install_name @rpath/libdav1d.5.dylib'. Unfortunately, I'm unable to find build logs for dav1d 0.9.0 to see if this has changed.

On the 10.9 builder, meson throws the following WARNING/error:

:info:build [113/114] /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/meson --internal symbolextractor /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_multimedia_dav1d/dav1d/work/build src/libdav1d.5.dylib src/libdav1d.5.dylib src/libdav1d.5.dylib.p/libdav1d.5.dylib.symbols 
:info:build WARNING: ['nm'] does not work. Relinking will always happen on source changes.
:info:build error: /Library/Developer/CommandLineTools/usr/bin/nm: invalid argument --
:info:build Usage: /Library/Developer/CommandLineTools/usr/bin/nm [-agnopruUmxjlfAP[s segname sectname] [-] [-t format] [[-arch <arch_flag>] ...] [file ...]

The 10.14 build log does not have such a report. I don't know much about meson internals but I would guess this is where the difference occurs. I'll check for this error on the 10.10, 10.11, etc builders.

comment:9 Changed 16 months ago by ctreleaven (Craig Treleaven)

The build logs for 10.6 through 10.9 all report the above warning/error related to nm; no such reports are in the 10.10 through 10.12 builds. All the affected builds use:

:debug:configure Using compiler 'MacPorts Clang 9.0'
:info:configure C compiler for the host machine: /opt/local/bin/clang-mp-9.0 (clang 9.0.1 "clang version 9.0.1 ")
:info:configure C linker for the host machine: /opt/local/bin/clang-mp-9.0 ld64 127.2

The installation stats for dav1d and ffmpeg both show a non-trivial number of installs on systems that are apparently affected. But there have been no other reports of failures. I don't have access to older systems to see if ffmpeg actually fails or not.

I suppose this could also be a newly introduced problem in meson, as well. I note that meson was updated to 0.58.1 a couple of months ago.

I'm not seeing an obvious way to fix dav1d. Please let me know if I'm missing something.

Last edited 16 months ago by ctreleaven (Craig Treleaven) (previous) (diff)

comment:10 Changed 16 months ago by cave-canem

Hello Craig Treleaven!

Yes, there are reasons (there are several of them):

  1. I hate to walk in formation.
  1. I am inexperienced, I am learning.
  1. Compilers of newer versions give more compact (optimized) code.

P.S.

In attachment detailed log the libdav1d building using mp-clang-devel and cctools @ 949.0.1_1 +llvm10

P.P.S

port -v installed meson
The following ports are currently installed:
  meson @0.58.1_0 (active) platform='darwin 13' archs='noarch' date='2021-06-30T18:59:52+0300'

Changed 16 months ago by cave-canem

Attachment: dav1d_main.log.tar.xz added

dav1d_main.log.tar.xz

comment:11 Changed 16 months ago by kencu (Ken)

Yes, the command line options accepted by llvm changed in version 11. That is exactly why we default to llvm10 in cctools, and why I removed llvm11+ as possible options for cctools:

$ port info cctools
cctools @949.0.1_1 (devel)
Variants:             [+]llvm10, llvm50, llvm60, llvm70, llvm80, llvm90,
                      llvmdev, xcode

however, I guess I didn't think about llvmdev when I did that, so I should remove llvmdev as an option too!

comment:12 Changed 16 months ago by ctreleaven (Craig Treleaven)

Interesting. You get quite different warnings from your set up:

:info:build [110/115] /opt/MacPorts/Library/Frameworks/Python.framework/Versions/3.9/bin/meson --internal symbolextractor /opt/MacPorts/var/macports/build/_opt_macports-ports_multimedia_dav1d/dav1d/work/build src/libdav1d.5.dylib src/libdav1d.5.dylib src/libdav1d.5.dylib.p/libdav1d.5.dylib.symbols 
:info:build WARNING: ['otool'] does not work. Relinking will always happen on source changes.
:info:build llvm-objdump: Unknown command line argument '-macho'.  Try: '/opt/MacPorts/libexec/llvm-devel/bin/llvm-objdump --help'
:info:build llvm-objdump: Did you mean '-h'?
:info:build llvm-objdump: Unknown command line argument '-private-headers'.  Try: '/opt/MacPorts/libexec/llvm-devel/bin/llvm-objdump --help'
:info:build llvm-objdump: Did you mean '--private-headers'?
:info:build llvm-objdump: Unknown command line argument '-non-verbose'.  Try: '/opt/MacPorts/libexec/llvm-devel/bin/llvm-objdump --help'
:info:build llvm-objdump: Did you mean '--non-verbose'?

I suppose I could use install_name_tool to overwrite any @rpath entries. Seems like a kludge, though.

comment:13 Changed 16 months ago by kencu (Ken)

I recall now that I left the cctools +llvmdev option available so that intrepid explorers like me could try that out (it's a devel version after all) and see where the errors and issues might arise.

So I'll leave it in the cctools port.

For this, you need to use cctools +llvm10, which is the well-trodden default path.

I would not think that putting individual fixes into ports using install_name_tool to work around this would make any sense.

In due course, cctools will be updated to a newer version that calls the newer llvm-objdump with the proper flags. That is the solution to the this, in the long run. I could have patched otool to send the right flags, but I did not because other llvm11 issues were also likely I though.

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

comment:14 Changed 16 months ago by kencu (Ken)

Cc: cave-canem ctreleaven removed
Keywords: mavericks sierra removed
Owner: changed from dbevans to kencu
Port: cctools ld64 added; ffmpeg dav1d removed
Summary: ffmpeg @4.4_2: dyld: Library not loaded: @rpath/libdav1d.5.dylibcctools @949.0.1_1 +llvmdev: otool does not work properly, causing some libraries to be built with @rpath references

comment:15 Changed 15 months ago by kencu (Ken)

Summary: cctools @949.0.1_1 +llvmdev: otool does not work properly, causing some libraries to be built with @rpath referencescctools @949.0.1_1 +llvmdev: otool does not work properly,"otool -L" does not work properly, due to incorrectly passed '-macho' option to llvm-objdump, causing some libraries to be built with @rpath references

comment:16 Changed 15 months ago by kencu (Ken)

Summary: cctools @949.0.1_1 +llvmdev: otool does not work properly,"otool -L" does not work properly, due to incorrectly passed '-macho' option to llvm-objdump, causing some libraries to be built with @rpath referencescctools @949.0.1_1 +llvmdev: otool does not work properly, due to incorrectly passed '-macho' option to llvm-objdump, causing some libraries to be built with @rpath references

comment:17 Changed 15 months ago by kencu (Ken)

Resolution: duplicate
Status: assignedclosed

same issue as #63448

Last edited 15 months ago by kencu (Ken) (previous) (diff)
Note: See TracTickets for help on using tickets.