Opened 7 years ago

Closed 7 years ago

#55823 closed defect (fixed)

avidemux @2.6.20: some libraries installed with incorrect permissions, causes Trace/BPT trap abort on launching

Reported by: kencu (Ken) Owned by: mf2k (Frank Schima)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: avidemux

Description

Several libraries are installed with incorrect permissions:

$ /Applications/MacPorts/Avidemux.app/Contents/MacOS/Avidemux
dyld: Library not loaded: /opt/local/lib/libADM6avcodec.57.dylib
  Referenced from: /Applications/MacPorts/Avidemux.app/Contents/MacOS/Avidemux
  Reason: no suitable image found.  Did find:
	/opt/local/lib/libADM6avcodec.57.dylib: open() failed with errno=13
Trace/BPT trap

$ ls -la /opt/local/lib/libADM6avcodec.57.dylib
-rwx---r-x  1 macports  admin  8213800 14 Feb 11:34 /opt/local/lib/libADM6avcodec.57.dylib

$ otool -L /opt/local/lib/libADM6avcodec.57.dylib
/opt/local/libexec/llvm-3.9/bin/llvm-objdump: '/opt/local/lib/libADM6avcodec.57.dylib': Permission denied
fatal error: otool: internal objdump command failed

$ sudo chmod 644 /opt/local/lib/libADM6avcodec.57.dylib
$ ls -la /opt/local/lib/libADM6avcodec.57.dylib
-rw-r--r--  1 macports  admin  8213800 14 Feb 11:34 /opt/local/lib/libADM6avcodec.57.dylib

$ otool -L /opt/local/lib/libADM6avcodec.57.dylib
/opt/local/lib/libADM6avcodec.57.dylib:
	/opt/local/lib/libADM6avcodec.57.dylib (compatibility version 57.0.0, current version 57.24.102)
	/opt/local/lib/libADM6avutil.55.dylib (compatibility version 55.0.0, current version 55.17.103)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.44.0)
	/System/Library/Frameworks/VideoDecodeAcceleration.framework/Versions/A/VideoDecodeAcceleration (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (compatibility version 1.2.0, current version 1.6.3)
	/opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.0.0)
	/opt/local/lib/libxcb.1.dylib (compatibility version 3.0.0, current version 3.0.0)
	/opt/local/lib/libxcb-shm.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libxcb-xfixes.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libxcb-shape.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/opt/local/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)
	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1038.36.0)
	/opt/local/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.4.0)
	/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 15.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)
	/opt/local/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.3.0)
	/opt/local/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.6)
	/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11)
	/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)

$ /Applications/MacPorts/Avidemux.app/Contents/MacOS/Avidemux
dyld: Library not loaded: /opt/local/lib/libADM6avutil.55.dylib
  Referenced from: /Applications/MacPorts/Avidemux.app/Contents/MacOS/Avidemux
  Reason: no suitable image found.  Did find:
	/opt/local/lib/libADM6avutil.55.dylib: open() failed with errno=13
Trace/BPT trap

adding this to the Portfile appears to fix the broken permissions:

# some libs are built with incorrect permissions
post-destroot {
    system -W ${destroot}/${prefix}/lib "chmod 644 libADM6avcodec.57.dylib"
    system -W ${destroot}/${prefix}/lib "chmod 644 libADM6avformat.57.dylib"
    system -W ${destroot}/${prefix}/lib "chmod 644 libADM6avutil.55.dylib"
    system -W ${destroot}/${prefix}/lib "chmod 644 libADM6postproc.54.dylib"
    system -W ${destroot}/${prefix}/lib "chmod 644 libADM6swscale.4.dylib"
}
$ ls -la
total 22624
drwxr-xr-x  34 root      admin     1156 14 Feb 13:17 .
drwxr-xr-x   6 root      admin      204 14 Feb 13:17 ..
drwxr-xr-x  12 macports  admin      408 14 Feb 13:17 ADM_plugins6
-rw-r--r--   1 macports  admin  8213800 14 Feb 13:03 libADM6avcodec.57.dylib
-rw-r--r--   1 macports  admin   416744 14 Feb 13:03 libADM6avformat.57.dylib
-rw-r--r--   1 macports  admin   386504 14 Feb 13:03 libADM6avutil.55.dylib
-rw-r--r--   1 macports  admin   138060 14 Feb 13:03 libADM6postproc.54.dylib
-rw-r--r--   1 macports  admin   725132 14 Feb 13:03 libADM6swscale.4.dylib
-rwxr-xr-x   1 macports  admin   243812 14 Feb 13:07 libADM_UIQT46.dylib
-rwxr-xr-x   1 macports  admin    12440 14 Feb 13:10 libADM_UI_Cli6.dylib
-rwxr-xr-x   1 macports  admin    42732 14 Feb 13:04 libADM_audioParser6.dylib
-rwxr-xr-x   1 macports  admin    54032 14 Feb 13:03 libADM_core6.dylib
-rwxr-xr-x   1 macports  admin    87132 14 Feb 13:04 libADM_coreAudio6.dylib
-rwxr-xr-x   1 macports  admin    42564 14 Feb 13:04 libADM_coreAudioDevice6.dylib
-rwxr-xr-x   1 macports  admin    32116 14 Feb 13:04 libADM_coreAudioEncoder6.dylib
-rwxr-xr-x   1 macports  admin    22620 14 Feb 13:04 libADM_coreAudioFilterAPI6.dylib
-rwxr-xr-x   1 macports  admin    37560 14 Feb 13:04 libADM_coreDemuxer6.dylib
-rwxr-xr-x   1 macports  admin    56644 14 Feb 13:04 libADM_coreDemuxerMpeg6.dylib
-rwxr-xr-x   1 macports  admin    65016 14 Feb 13:04 libADM_coreImage6.dylib
-rwxr-xr-x   1 macports  admin    37088 14 Feb 13:05 libADM_coreImageLoader6.dylib
-rwxr-xr-x   1 macports  admin    52436 14 Feb 13:05 libADM_coreJobs.dylib
-rwxr-xr-x   1 macports  admin    50752 14 Feb 13:04 libADM_coreMuxer6.dylib
-rwxr-xr-x   1 macports  admin    33908 14 Feb 13:05 libADM_coreScript.dylib
-rwxr-xr-x   1 macports  admin    34356 14 Feb 13:05 libADM_coreSocket6.dylib
-rwxr-xr-x   1 macports  admin    49252 14 Feb 13:05 libADM_coreSqlLight3.dylib
-rwxr-xr-x   1 macports  admin    36212 14 Feb 13:05 libADM_coreSubtitle.dylib
-rwxr-xr-x   1 macports  admin    88116 14 Feb 13:04 libADM_coreUI6.dylib
-rwxr-xr-x   1 macports  admin   239740 14 Feb 13:04 libADM_coreUtils6.dylib
-rwxr-xr-x   1 macports  admin    68700 14 Feb 13:04 libADM_coreVideoCodec6.dylib
-rwxr-xr-x   1 macports  admin    74808 14 Feb 13:04 libADM_coreVideoEncoder6.dylib
-rwxr-xr-x   1 macports  admin    45988 14 Feb 13:05 libADM_coreVideoFilter6.dylib
-rwxr-xr-x   1 macports  admin    34544 14 Feb 13:06 libADM_openGLQT46.dylib
-rwxr-xr-x   1 macports  admin    60568 14 Feb 13:07 libADM_render6_QT4.dylib
-rwxr-xr-x   1 macports  admin    30620 14 Feb 13:10 libADM_render6_cli.dylib

and the application appears to work after that.

Change History (3)

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Very weird. I can confirm that it is the permissions issue. Your fix works but I think using xinstall in post-destroot is preferred:

xinstall -m 644 ${destroot}/${prefix}/lib/libADM6avcodec.57.dylib
...

comment:2 Changed 7 years ago by kencu (Ken)

looks like it's been updated to 2.7.0 so perhaps updating it would be a better use of our time...

comment:3 Changed 7 years ago by mf2k (Frank Schima)

Owner: set to mf2k
Resolution: fixed
Status: newclosed

In 142921193828387ce52b8269af1bd4a07690259e/macports-ports (master):

avidemux: Fix library permissions

Fixes: #55823

Note: See TracTickets for help on using tickets.