Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#61254 closed defect (worksforme)

`port upgrade outdated` eat more than 50GB disk space when upgrade ffmpeg

Reported by: z7z8th (z7z8th) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port:

Description

Yestorday(2020 Sept 30th), during port upgrade outdated, when it comes to ffmpeg, it depends on graphviz.

During the build of graphviz, mac complains about disk space full, so I freed more than 10GB disk space for it, after several seconds, it's full again, I have to stop the build, after clean the build, it freed 50GB disk space. I have to checkout to old version of macports-ports.git, and install an old graphviz, then install ffmpeg.

This kind of behavior is really unpredictable, and hard for a normal user.

Does macports-ports has a `stable' release branch that does not upgrade packages to such a new version?

As to debian, it do have several release branches, like stable, testing, unstable, experimental.

root /opt/macports-ports/graphics/graphviz # port version
Version: 2.6.3
root /opt/macports-ports/graphics/graphviz # port info
graphviz @2.40.1_2 (graphics)
Sub-ports:            graphviz-gui, gvedit
Variants:             gdk_pixbuf, glitz, guile, java, lua, ming, ocaml, [+]pangocairo, perl, poppler, python27, r, rsvg, ruby, smyrna,
                      tcl, universal, [+]x11

Description:          Graphviz is graph visualization software. Graph visualization is a way of representing structural information as
                      diagrams of abstract graphs and networks. The Graphviz layout programs dot, neato, fdp, sfdp, twopi and circo
                      take descriptions of graphs in a simple text language, and produce output in a variety of visual and text
                      formats.
Homepage:             http://www.graphviz.org/

Build Dependencies:   pkgconfig, autoconf, automake, libtool
Library Dependencies: jpeg, libpng, webp, fontconfig, freetype, expat, gd2, gts, libtool, zlib, gettext, pango, libLASi, xorg-libXaw
Runtime Dependencies: urw-fonts
Conflicts with:       graphviz-devel
Platforms:            darwin
License:              EPL-1
Maintainers:          Email: ryandesign@macports.org, GitHub: ryandesign

root ~ # port info ffmpeg
ffmpeg @4.3.1 (multimedia)
Variants:             darwinssl, [+]gpl2, gpl3, jack, libdc1394, librtmp, nonfree, universal, x11

Description:          FFmpeg is a complete solution to record, convert and stream audio and video. It includes libavcodec, the leading
                      audio/video codec library. The project is made of several components: ffmpeg is a command line tool to convert
                      one video file format to another. It also supports grabbing and encoding in real time from a TV card. ffserver is
                      an HTTP (RTSP is being developed) multimedia streaming server for live broadcasts. Time shifting of live
                      broadcast is also supported. ffplay is a simple media player based on SDL and on the ffmpeg libraries. ffprobe
                      gathers information from multimedia streams and prints it in human- and machine-readable fashion. libavcodec is a
                      library containing all the ffmpeg audio/video encoders and decoders. Most codecs were developed from scratch to
                      ensure best performance and high code reusability. libavformat is a library containing parsers and generators for
                      all common audio/video formats.
Homepage:             https://ffmpeg.org/

Extract Dependencies: xz
Build Dependencies:   pkgconfig, gmake, ld64, texinfo, nasm
Library Dependencies: lame, libiconv, libvorbis, libopus, libogg, librsvg, libtheora, libmodplug, libass, libbluray, libvpx, gnutls,
                      openjpeg, fontconfig, freetype, fribidi, speex, soxr, bzip2, xz, zlib, libsdl2, dav1d, x265, XviD, x264
Conflicts with:       ffmpeg-devel
Platforms:            darwin
License:              GPL-2+
Maintainers:          Email: devans@macports.org, GitHub: dbevans
                      Email: jeremyhu@macports.org, GitHub: jeremyhu
                      Policy: openmaintainer
root ~ # port info graphviz
graphviz @2.40.1_3 (graphics)
Sub-ports:            graphviz-gui, gvedit
Variants:             gdk_pixbuf, glitz, guile, java, lua, ming, ocaml, [+]pangocairo, perl, poppler, python27, r, rsvg, ruby, smyrna,
                      tcl, universal, [+]x11

Description:          Graphviz is graph visualization software. Graph visualization is a way of representing structural information as
                      diagrams of abstract graphs and networks. The Graphviz layout programs dot, neato, fdp, sfdp, twopi and circo
                      take descriptions of graphs in a simple text language, and produce output in a variety of visual and text
                      formats.
Homepage:             https://www.graphviz.org/

Build Dependencies:   pkgconfig, autoconf, automake, libtool
Library Dependencies: jpeg, libpng, webp, fontconfig, freetype, expat, gd2, gts, libtool, zlib, gettext, pango, libLASi, xorg-libXaw
Runtime Dependencies: urw-fonts
Conflicts with:       graphviz-devel
Platforms:            darwin
License:              EPL-1
Maintainers:          Email: ryandesign@macports.org, GitHub: ryandesign
root ~ # 

Change History (4)

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

Replying to z7z8th:

Does macports-ports has a `stable' release branch that does not upgrade packages to such a new version?

No, there is only one copy of our ports tree, which has the latest version of ports.

I agree that using up so much disk space is undesirable, but without more information, it's difficult for us to diagnose what might have happened. What port was building at the time that it used this much disk space? Was it really graphviz or was it one of its dependencies?

In most cases, how much disk space a port needs to build or install is out of our control. We are not the developers of the software you're installing; we just make it available to you. Disk usage and other aspects of how the software builds are determined by its developers. Some ports are simply large. However, I don't think I've ever encountered a port that needed more than 20GB free disk space to build. Graphviz is a fairly small program. Its source code is 24MB and on my system building it took 5 minutes and used an additional 147MB.

If you try to install graphviz again and the same high disk usage occurs, try cancelling the build by pressing Control-C. Then find the logfile of whatever port was building: if it was graphviz, find it with port logfile graphviz. Attach that logfile to this ticket (please compress it first if it's very large) and we'll see if there's any indication of what's going wrong.

comment:2 Changed 4 years ago by z7z8th (z7z8th)

Thanks for your reply, I did try upgrade again, but did not reproduce the same scenario, yes it's not graphviz. Might be caused by something abnormal in macOS.

Will interrupt the upgrade and check the log files next time this case comes out again.

comment:3 Changed 4 years ago by kencu (Ken)

Resolution: worksforme
Status: newclosed

please reopen if you ever sort it out.

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

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