Opened 3 years ago

Closed 3 years ago

#62084 closed defect (fixed)

p5.28-ipc-sharelite non-source install produces arm64 .bundle on x86_64

Reported by: d-lamb (Derek Lamb) Owned by: kurthindenburg (Kurt Hindenburg)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: bigsur x86_64 Cc:
Port: p5-ipc-sharelite

Description

I just upgraded my x86_64 MBP to Big Sur and am reinstalling my ports. p5.28-ipc-sharelite installs without errors or warnings, but produces a .bundle file for arm64 instead of x86_64:

[Users/derek] > install p5-ipc-sharelite
--->  Computing dependencies for p5-ipc-sharelite
The following dependencies will be installed:  p5.28-ipc-sharelite
Continue? [Y/n]: 
--->  Fetching archive for p5.28-ipc-sharelite
--->  Attempting to fetch p5.28-ipc-sharelite-0.170.0_0.darwin_20.noarch.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.28-ipc-sharelite
--->  Attempting to fetch p5.28-ipc-sharelite-0.170.0_0.darwin_20.noarch.tbz2.rmd160 from https://ywg.ca.packages.macports.org/mirror/macports/packages/p5.28-ipc-sharelite
--->  Installing p5.28-ipc-sharelite @0.170.0_0
--->  Activating p5.28-ipc-sharelite @0.170.0_0
--->  Cleaning p5.28-ipc-sharelite
--->  Fetching archive for p5-ipc-sharelite
--->  Attempting to fetch p5-ipc-sharelite-0.170.0_0.darwin_20.noarch.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/p5-ipc-sharelite
--->  Attempting to fetch p5-ipc-sharelite-0.170.0_0.darwin_20.noarch.tbz2 from https://mse.uk.packages.macports.org/p5-ipc-sharelite
--->  Attempting to fetch p5-ipc-sharelite-0.170.0_0.darwin_20.noarch.tbz2 from https://lil.fr.packages.macports.org/p5-ipc-sharelite
--->  Fetching distfiles for p5-ipc-sharelite
--->  Verifying checksums for p5-ipc-sharelite
--->  Extracting p5-ipc-sharelite
--->  Configuring p5-ipc-sharelite
--->  Building p5-ipc-sharelite
--->  Staging p5-ipc-sharelite into destroot
--->  Installing p5-ipc-sharelite @0.170.0_0
--->  Activating p5-ipc-sharelite @0.170.0_0
--->  Cleaning p5-ipc-sharelite
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

I did a syntax check on my Perl module that uses IPC::ShareLite:

$ perl -c MyModule.pm
Can't load '/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-2level/auto/IPC/ShareLite/ShareLite.bundle' for module IPC::ShareLite: dlopen(/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-2level/auto/IPC/ShareLite/ShareLite.bundle, 1): no suitable image found.  Did find:
	/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-2level/auto/IPC/ShareLite/ShareLite.bundle: mach-o, but wrong architecture
	/opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-2level/auto/IPC/ShareLite/ShareLite.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.28/darwin-thread-multi-2level/DynaLoader.pm line 197.
 at MyModule.pm line 56.
Compilation failed in require at MyModule.pm line 56.
BEGIN failed--compilation aborted at MyModule.pm line 56.

The module does in fact install a .bundle file with the incorrect architecture, though every other Perl module's .bundle file is correct (I truncated this list):

cd /opt/local/lib/perl5/vendor_perl/5.28/darwin-thread-multi-2level/auto
find . -name '*.bundle' -exec file {} \;
./File/Map/Map.bundle: Mach-O 64-bit bundle x86_64
./Term/ReadLine/Gnu/Gnu.bundle: Mach-O 64-bit bundle x86_64
./Term/ReadKey/ReadKey.bundle: Mach-O 64-bit bundle x86_64
./IPC/ShareLite/ShareLite.bundle: Mach-O 64-bit bundle arm64

Uninstalling p5.28-ipc-sharelite and p5-ipc-sharelite ports, then reinstalling from source, fixes the problem:

$ sudo port -s install p5-ipc-sharelite
find . -name '*.bundle' -exec file {} \;                
./File/Map/Map.bundle: Mach-O 64-bit bundle x86_64
./Term/ReadLine/Gnu/Gnu.bundle: Mach-O 64-bit bundle x86_64
./Term/ReadKey/ReadKey.bundle: Mach-O 64-bit bundle x86_64
./IPC/ShareLite/ShareLite.bundle: Mach-O 64-bit bundle x86_64

Change History (4)

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

Port: p5-ipc-sharelite added; p5.28-ipc-sharelite removed

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

In the future, please add the port maintainer(s) to Cc (port info --maintainers p5.28-ipc-sharelite), if any.

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

Owner: set to kurthindenburg
Status: newassigned

comment:4 Changed 3 years ago by kurthindenburg (Kurt Hindenburg)

Resolution: fixed
Status: assignedclosed

In 15ea5b4748b8ecc80fcdb4ef19c306e841ebe230/macports-ports (master):

p5-ipc-sharelite: remove noarch as port creates arch specific bundles

Building from source works but the archives are wrong arch.

closes: #62084

Note: See TracTickets for help on using tickets.