Opened 3 years ago

Last modified 2 years ago

#64439 assigned defect

vlc fails to build on 10.5.8

Reported by: barracuda156 Owned by: RJVB (René Bertin)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: PowerPC, Leopard Cc: paulpall (Paul Johannes Aru)
Port: vlc

Description

36-197:~ svacchanda$ sudo port -v install vlc
--->  Fetching distfiles for VLC
--->  Verifying checksums for VLC
--->  Extracting VLC
--->  Extracting vlc-3.0.11.1.dmg
Executing:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_VLC/VLC/work" && /usr/bin/hdiutil attach '/opt/local/var/macports/distfiles/VLC/vlc-3.0.11.1.dmg' -private -readonly -nobrowse -mountpoint "/tmp/mports.7nx8HnJN" && cd "/tmp/mports.7nx8HnJN" && /usr/bin/find . -depth -perm -+r -print0 | /usr/bin/cpio -0 -p -d -m -u "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_VLC/VLC/work/VLC-3.0.11.1"; status=$?; cd / && /usr/bin/hdiutil detach "/tmp/mports.7nx8HnJN" && /bin/rmdir "/tmp/mports.7nx8HnJN"; exit $status 
hdiutil: attach failed - No such file or directory
hdiutil: detach failed - No such file or directory
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_VLC/VLC/work" && /usr/bin/hdiutil attach '/opt/local/var/macports/distfiles/VLC/vlc-3.0.11.1.dmg' -private -readonly -nobrowse -mountpoint "/tmp/mports.7nx8HnJN" && cd "/tmp/mports.7nx8HnJN" && /usr/bin/find . -depth -perm -+r -print0 | /usr/bin/cpio -0 -p -d -m -u "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_VLC/VLC/work/VLC-3.0.11.1"; status=$?; cd / && /usr/bin/hdiutil detach "/tmp/mports.7nx8HnJN" && /bin/rmdir "/tmp/mports.7nx8HnJN"; exit $status 
Exit code: 1
Error: Failed to extract VLC: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_multimedia_VLC/VLC/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there
is a bug.
Error: Processing of port vlc failed

Change History (12)

comment:1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to RJVB
Status: newassigned

The vlc port no longer builds vlc; now it just installs a binary. As you see, it tries to install 3.0.11.1, but the last version that worked on 10.5 was 2.0.10, so this is not going to work. The reason it's failing is probably that the disk image format it's using is too new for your OS.

If you need VLC on older macOS, your best bet is to get it from the "Older versions" section at the bottom of the vlc downloads page. There's no advantage to trying to install it with MacPorts, since it will never be updated again and nothing in MacPorts depends on it either. (Ok, I wouldn't have thought that anything would depend on it. I see that phonon-backend-vlc does, which surprises me.)

On the other hand, since they tell you on that page what vlc versions work on what OS versions, it wouldn't be hard to modify the port to install the right version of vlc for the user's OS version.

comment:2 in reply to:  1 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign:

The reason it's failing is probably that the disk image format it's using is too new for your OS.

Alternately, you may be encountering #56457, but installing the cpio port to work around that still won't let vlc 3.0.11.1 work on your OS version.

comment:3 in reply to:  1 Changed 3 years ago by barracuda156

Replying to ryandesign:

The vlc port no longer builds vlc; now it just installs a binary. As you see, it tries to install 3.0.11.1, but the last version that worked on 10.5 was 2.0.10, so this is not going to work. The reason it's failing is probably that the disk image format it's using is too new for your OS.

Thank you. I expected it to try building VLC, which turned not the case. (As a matter of fact, lack of support does not necessarily imply that given software won't build: for instance, only R 2.x is supported for PowerPC, however the latest R 4.1.2 does build for ppc32 and works.)

comment:4 Changed 2 years ago by paulpall (Paul Johannes Aru)

I encountered the same error with 10.4.11 running on PowerPC as well. Might make sense to update the Summary and Keywords to reflect that.

comment:5 Changed 2 years ago by paulpall (Paul Johannes Aru)

Cc: paulpall added

comment:6 in reply to:  4 Changed 2 years ago by barracuda156

Replying to paulpall:

I encountered the same error with 10.4.11 running on PowerPC as well. Might make sense to update the Summary and Keywords to reflect that.

Given that VLC exists for PPC from official source, it can be added to the portfile. We just need an earlier version for PPC, set once and for all.

comment:7 Changed 2 years ago by RJVB (René Bertin)

port:VLC should declare itself "obsolete" and replaced_by VLC2 on Darwin < 11 which should include all PPC hosts. AFAIK that worked before, when the VLC 3.x was still built from source, but apparently this bit of logic got lost during the "upgrade" process.

Can you please verify if port:VLC2 still installs on PPC? I see that the port is out-of-date AND could do with ARM support so I'll be looking into that.

comment:9 in reply to:  8 ; Changed 2 years ago by barracuda156

Replying to RJVB:

https://github.com/macports/macports-ports/pull/15103

Copying here:

Is it possible to add at least a pre-built (DMG) variant for PPC? There are versions for Leopard and Tiger here: https://www.videolan.org/vlc/download-macosx.html (Leopard version will also apply to 10.6 PPC, so if it does not hurt, please include that case too.)

  1. S. In theory VLC2 should build for PPC, at least its earlier versions, but I understand that you cannot fix it without PPC hardware to test it. (I will try fixing it somewhat later.)

comment:10 in reply to:  9 ; Changed 2 years ago by RJVB (René Bertin)

Replying to barracuda156:

Replying to RJVB:

https://github.com/macports/macports-ports/pull/15103

Copying here:

Answered there.

comment:11 in reply to:  10 Changed 2 years ago by barracuda156

Replying to RJVB:

Answered there.

In the PR? https://github.com/macports/macports-ports/pull/15103 Sorry, for w/e reason I do not see any comments there at the moment. Maybe a Github glitch.

comment:12 Changed 2 years ago by RJVB (René Bertin)

My reply-per-email seems to have missed a connection somewhere, so let me just copy it here too...

Older OS versions are supposed to use port:VLC2 and as far as I know there must be a binary image of the default variant configuration.

I don't know if VLC 2.2.8 still builds on PPC; apparently 2.1.0 and newer only support 64 bits (and Snow Leopard or up) at least as far as the GUI plugin is concerned. You'd have to try building it on PPC.

If you look at the Portfile you will maybe understand why I dropped my efforts to keep trying to build the code after 3.0.11 or so. There are too many patchfiles already. While it would not be impossible to manage 2 versions of those where needed to support building an older VLC 2.x on PPC I am frankly not interested in trying to implement that.

Someone motivated enough could go through the git history of port:VLC to find the latest version that built on PPC. But be aware that the update to 2.1.0 was #4b132a0b03a3d6ec545a084fd3be1bb63d4418a9 in Sept. 2013, long before I was named maintainer, and that building such old code against the current versions of its dependencies (FFMpeg in particular) can be a daunting task.

Or alternatively, somebody could give port:VLC2 a conditional section that works like port:VLC now does. Adding such a section isn't very hard (take a look at my personal copy of port:VLC in my macstrop repo for how to add such a section); what you do in it ... I'd rather not know :). From what I can tell Videolan still provide the x86_64, i386 and PPC DMGs for VLC 2.0.9 which is better than I feared it might be.

Note: See TracTickets for help on using tickets.