Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#63016 closed defect (fixed)

libgcc9 @9.4.0: Error: No files have been installed in the destroot directory!

Reported by: RobK88 Owned by: ken-cunningham-webuse
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: lion Cc:
Port: libgcc9

Description (last modified by RobK88)

I am unable to upgrade libgcc9 on my old Mac running Lion. The upgrade fails when trying to stage libgcc9 into destroot.

bash-3.2$ port outdated
The following installed ports are outdated:
libgcc9                        9.3.0_3 < 9.4.0_0         

bash-3.2$ sudo port upgrade outdated
--->  Computing dependencies for libgcc9
--->  Fetching distfiles for libgcc9
--->  Attempting to fetch gcc-9.4.0.tar.xz from http://distfiles.macports.org/gcc9
--->  Verifying checksums for libgcc9                                                
--->  Extracting libgcc9
--->  Applying patches to libgcc9
--->  Configuring libgcc9
--->  Building libgcc9                                   
--->  Staging libgcc9 into destroot                      
Error: No files have been installed in the destroot directory!
Error: Please make sure that this software supports 'make install DESTDIR=${destroot}' or implement an alternative destroot mechanism in the Portfile.
Error: Files might have been installed directly into your system, check before proceeding.
Error: Failed to destroot libgcc9: Staging libgcc9 into destroot failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc9/libgcc9/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
bash-3.2$

Attachments (1)

Last-Part-Of-Main.log (72.8 KB) - added by RobK88 3 years ago.
Last part of main.log

Download all attachments as: .zip

Change History (10)

Changed 3 years ago by RobK88

Attachment: Last-Part-Of-Main.log added

Last part of main.log

comment:1 Changed 3 years ago by RobK88

Description: modified (diff)
Summary: Unable to Stage libgcc9 on LionUnable to stage libgcc9 into destroot on Lion

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

Keywords: lion added; Lion removed
Summary: Unable to stage libgcc9 into destroot on Lionlibgcc9 @9.4.0: Error: No files have been installed in the destroot directory!

comment:3 Changed 3 years ago by rmottola (Riccardo)

I think this could be a duplicate of 63018 ?

comment:4 Changed 3 years ago by RobK88

I do not think it is a dup of 63018. I can build libgcc9 on my Mac running 10.7.5. But I cannot install the files into destroot.

Last edited 3 years ago by RobK88 (previous) (diff)

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

The issue is that libgcc9 on 10.7.5 doesn't install any files, so the destroot is empty and MacPorts flags it as failing. Once that is tweaked, no problemo:

$ port -v installed gcc9
The following ports are currently installed:
  gcc9 @9.4.0_0 (active) requested_variants='' platform='darwin 11' archs='x86_64' date='2021-06-10T05:09:41-0700'

I'll fix this up shortly.

comment:6 Changed 3 years ago by ken-cunningham-webuse

Owner: set to ken-cunningham-webuse
Resolution: fixed
Status: newclosed

In 10bdaa73a75a5d5a0c591a839c0258505d031d29/macports-ports (master):

libgcc9: stub port on < darwin12

libgcc9 supplies libasan.5.dylib only on darwin12+
closes: #63018
closes: #63016

comment:7 Changed 3 years ago by RobK88

Thanks Ken for all your hard work.

But when I try to upgrade libgcc9, the port is installed within seconds! Normally, it takes some to to compile!

bash-3.2$ sudo port clean libgcc9
--->  Cleaning libgcc9
bash-3.2$ 
bash-3.2$ port outdated
The following installed ports are outdated:
libgcc9                        9.3.0_3 < 9.4.0_0  
bash-3.2$        
bash-3.2$ sudo port upgrade outdated
--->  Computing dependencies for libgcc9
--->  Fetching distfiles for libgcc9
--->  Verifying checksums for libgcc9
--->  Extracting libgcc9
--->  Configuring libgcc9
--->  Building libgcc9
--->  Staging libgcc9 into destroot
--->  Installing libgcc9 @9.4.0_0
--->  Cleaning libgcc9
--->  Computing dependencies for libgcc9
--->  Deactivating libgcc9 @9.3.0_3
--->  Cleaning libgcc9
--->  Activating libgcc9 @9.4.0_0
--->  Cleaning libgcc9
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.
bash-3.2$ 
bash-3.2$ port contents libgcc9
Port libgcc9 contains:
  /opt/local/share/doc/libgcc9/README
bash-3.2$ 

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

It's OK. libgcc9 is a stub port now on < 10.8, and doesn't install any libraries.

But it has to install something, otherwise you get:

Error: No files have been installed in the destroot directory!

So now it installs a silly little readme saying it hasn't installed anything.

Call it a MacPorts idiosyncracy -- it's just the way things work. It is too hard to do it differently, and have libgcc9 not install anything at all.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:9 Changed 3 years ago by RobK88

Ken -- Many thanks for the explanation.

I checked ggc9 and it appears to run just fine.

bash-3.2$ port installed gcc9
The following ports are currently installed:
  gcc9 @9.4.0_0 (active)

bash-3.2$ c++-mp-9 --version
c++-mp-9 (MacPorts gcc9 9.4.0_0) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Note: See TracTickets for help on using tickets.