Opened 5 months ago

Closed 5 months ago

Last modified 5 months ago

#68919 closed defect (fixed)

brotli @1.1.0_0+universal: Failed to destroot

Reported by: thetrial (alabay) Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: legacy-os, sierra Cc: herbygillot (Herby Gillot)
Port: brotli

Description

Interesting error, tried twice, but:

/opt/local/lib/libbrotlicommon.1.1.0.dylib differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_archivers_brotli/brotli/work/destroot-i386 and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_archivers_brotli/brotli/work/destroot-x86_64 and cannot be merged

Attachments (1)

brotli.7z (879.9 KB) - added by thetrial (alabay) 5 months ago.
The work-directory plus logfile.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: changed from raimue@… to raimue
Port: brotli added

Could you please attach those two files so we can see how they differ?

comment:2 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)

Actually... that error shouldn't be happening for any dylib file, so please attach the main.log file so we can see why it got to this code path that it shouldn't have gotten to.

Changed 5 months ago by thetrial (alabay)

Attachment: brotli.7z added

The work-directory plus logfile.

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

Cc: herbygillot added

Ok, the log shows merging this file the intended way (using lipo) failed because the two files have the same architectures (i386) and can't be in the same fat output file. That shouldn't be, of course. This port includes the muniversal portgroup which means it intends to build multiple times, once for each architecture. What has actually happened, though, is that each of the two builds have built for both architectures already:

% lipo -info brotli/work/destroot-*86*/opt/local/lib/lib*1.1.0.dylib
Architectures in the fat file: brotli/work/destroot-i386/opt/local/lib/libbrotlicommon.1.1.0.dylib are: i386 x86_64 
Architectures in the fat file: brotli/work/destroot-i386/opt/local/lib/libbrotlidec.1.1.0.dylib are: i386 x86_64 
Architectures in the fat file: brotli/work/destroot-i386/opt/local/lib/libbrotlienc.1.1.0.dylib are: i386 x86_64 
Architectures in the fat file: brotli/work/destroot-x86_64/opt/local/lib/libbrotlicommon.1.1.0.dylib are: x86_64 i386 
Architectures in the fat file: brotli/work/destroot-x86_64/opt/local/lib/libbrotlidec.1.1.0.dylib are: x86_64 i386 
Architectures in the fat file: brotli/work/destroot-x86_64/opt/local/lib/libbrotlienc.1.1.0.dylib are: x86_64 i386 

A probable cause for this is where the log shows the use of -DCMAKE_OSX_ARCHITECTURES="x86_64;i386". While we could investigate how to remove that, the fact that the build succeeded for both architectures simultaneously raises the question about why the muniversal portgroup is being used at all. It was just added to the port yesterday and apparently it was intended to resolve #64784, but obviously doesn't do so correctly.

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

Resolution: fixed
Status: assignedclosed

In 69d931375514578f6f1e50d652ad5cb547aa57d1/macports-ports (master):

brotli: revert adding muniversal

doesn't work properly
closes; #68919
see: #64784

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

reverted until someone can test it on a system newer than 2006

Note: See TracTickets for help on using tickets.