Opened 12 months ago

Closed 12 months ago

Last modified 12 months ago

#67334 closed defect (fixed)

lbzip2 uses legacy-support and so fails when upgrading it

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: tiger Cc: cjones051073 (Chris Jones), ryandesign (Ryan Carsten Schmidt), eborisch (Eric A. Borisch)
Port: lbzip2 legacy-support

Description

Upgrading went so far quite fine until the step of activation. De-activating legacy-support @1.0.7 succeeded so that I had two unactive ports. Cleaning legacy-support @1.0.9 probably succeeded, and re-activating legacy-support @1.0.7 failed.

A manual try to activate the just built version failed:

root 252 /\ port activate legacy-support @1.0.9_0
--->  Activating legacy-support @1.0.9_0
Error: Failed to activate legacy-support: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextractqTt8R9gl/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.
    while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port [$port name].""
    ("foreach" body line 8)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_legacy-support-1.0.9_0_bc0576529de56cf84d6bd86ef149c838aac0d83b4db131755761ef887f5cac5c-4941/legacy-support/main.log for details.
Warning: Failed to execute portfile from registry for legacy-support @1.0.9_0
--->  Activating legacy-support @1.0.9_0
Error: port activate failed: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextractgbJBQ5Zd/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.
    while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port [$port name].""
    ("foreach" body line 8)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."

Trying to activate old version @1.0.7_0 fails as well:

root 259 /\ port activate legacy-support @1.0.7_0
--->  Activating legacy-support @1.0.7_0
Error: Failed to activate legacy-support: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextract5X3rNt4W/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.
    while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port [$port name].""
    ("foreach" body line 8)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_legacy-support-1.0.7_0_b100ed2e9c035a57ee2a47662dea11f3c4cb583c60d2e2d1f0bd267114249d09-5883/legacy-support/main.log for details.
Warning: Failed to execute portfile from registry for legacy-support @1.0.7_0
--->  Activating legacy-support @1.0.7_0
Error: port activate failed: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextract5ntnlXQ3/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.
    while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port [$port name].""
    ("foreach" body line 8)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."

A selfupdate did not change anything: build succeeds, next step fails. The system is now useless, because lbzip2 cannot be used and so built software cannot be packed out and installed.

Attachments (1)

main.log (74.9 KB) - added by ballapete (Peter "Pete" Dyballa) 12 months ago.
Main.log from PPC Tiger, Mac OS X 10.4.11

Download all attachments as: .zip

Change History (20)

Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Tiger, Mac OS X 10.4.11

comment:1 Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

A final try:

root 268 /\ port -vdf install legacy-support
DEBUG: Changing to port directory: /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/devel/legacy-support
DEBUG: OS darwin/8.11.0 (macOS 10.4.11) arch powerpc
DEBUG: Sourcing PortGroup clang_dependency 1.0 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/clang_dependency-1.0.tcl
DEBUG: Sourcing PortGroup github 1.0 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/github-1.0.tcl
DEBUG: Sourcing PortGroup compiler_wrapper 1.0 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/compiler_wrapper-1.0.tcl
DEBUG: Re-registering default for compwrap.add_compiler_flags
DEBUG: Re-registering default for use_configure
DEBUG: Re-registering default for universal_variant
DEBUG: Sourcing PortGroup makefile 1.0 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/makefile-1.0.tcl
DEBUG: Re-registering default for configure.universal_args
DEBUG: Re-registering default for configure.cc_archflags
DEBUG: Re-registering default for configure.objc_archflags
DEBUG: Re-registering default for configure.cxx_archflags
DEBUG: Re-registering default for configure.objcxx_archflags
DEBUG: Re-registering default for configure.fc_archflags
DEBUG: Re-registering default for configure.f90_archflags
DEBUG: Re-registering default for configure.f77_archflags
DEBUG: Re-registering default for configure.ld_archflags
DEBUG: Re-registering default for configure.universal_cflags
DEBUG: Re-registering default for configure.universal_objcflags
DEBUG: Re-registering default for configure.universal_cxxflags
DEBUG: Re-registering default for configure.universal_objcxxflags
DEBUG: Re-registering default for configure.universal_cppflags
DEBUG: Re-registering default for configure.universal_ldflags
DEBUG: Sourcing PortGroup muniversal 1.1 from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/group/muniversal-1.1.tcl
DEBUG: Re-registering default for extract.rename
DEBUG: Re-registering default for livecheck.url
DEBUG: Re-registering default for livecheck.regex
DEBUG: muniversal: adding universal variant
DEBUG: Reading variant descriptions from /opt/local/var/macports/sources/nue.de.rsync.macports.org/macports/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
DEBUG: Running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Chosen compiler apple-gcc-4.2 is provided by a port, adding dependency
DEBUG: Adding depends_build port:apple-gcc42
DEBUG: Adding depends_skip_archcheck apple-gcc42
DEBUG: Finished running callback portconfigure::add_automatic_compiler_dependencies
DEBUG: Running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Finished running callback portbuild::add_automatic_buildsystem_dependencies
DEBUG: Running callback portstartupitem::add_notes
DEBUG: Finished running callback portstartupitem::add_notes
DEBUG: Running callback compwrap::configure_envs
DEBUG: Finished running callback compwrap::configure_envs
DEBUG: Running callback makefile_pg::makefile_setup
DEBUG: Finished running callback makefile_pg::makefile_setup
DEBUG: Running callback muniversal::add_compiler_flags
DEBUG: Finished running callback muniversal::add_compiler_flags
DEBUG: dropping privileges: euid changed to 502, egid changed to 502.
DEBUG: Starting logging for legacy-support @1.0.9_0
DEBUG: Mac OS X 10.4.11 (darwin/8.11.0) arch powerpc
DEBUG: MacPorts 2.8.1
DEBUG: Xcode 2.5, CLT none
DEBUG: SDK 10.4
DEBUG: MACOSX_DEPLOYMENT_TARGET: 10.4
DEBUG: Checking for conflicts against legacy-support
DEBUG: Searching for dependency: legacy-support-devel
DEBUG: Didn't find receipt, going to depspec regex for: legacy-support-devel
DEBUG: activate phase started at Sun Apr 30 09:02:39 CEST 2023
DEBUG: Executing org.macports.activate (legacy-support)
--->  Activating legacy-support @1.0.9_0
DEBUG: Using bsdtar with HFS+ compression (if valid)
DEBUG: Using /opt/local/bin/lbzip2
DEBUG: system: /opt/local/bin/lbzip2 -d -c /opt/local/var/macports/software/legacy-support/legacy-support-1.0.9_0.darwin_8.ppc.tbz2 | ( bsdtar -xvp --hfsCompression -f - )
dyld: Library not loaded: /opt/local/lib/libMacportsLegacySupport.dylib
  Referenced from: /opt/local/bin/lbzip2
  Reason: image not found
Error: Failed to activate legacy-support: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextract7J4R1aqd/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.
    while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port [$port name].""
    ("foreach" body line 8)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
DEBUG: Error code: registry::image-error
DEBUG: Backtrace: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextract7J4R1aqd/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.
    while executing
"throw registry::image-error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port [$port name].""
    ("foreach" body line 8)
    invoked from within
"foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to install links, we test if we can lst..."
    invoked from within
"registry::write {
            foreach file $imagefiles {
                set srcfile "${extracted_dir}${file}"

                # To be able to instal..."
    while executing
"throw [dict get $eOptions -errorcode] [dict get $eOptions -errorinfo]"
    (procedure "_activate_contents" line 200)
    invoked from within
"_activate_contents $requested $rename_list"
    (procedure "portimage::activate" line 70)
    invoked from within
"registry_activate $subport $_inregistry_version $_inregistry_revision $_inregistry_variants $optionlist"
    (procedure "portactivate::activate_main" line 20)
    invoked from within
"$procedure $targetname"
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_devel_legacy-support/legacy-support/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port legacy-support failed

comment:2 Changed 12 months ago by jmroot (Joshua Root)

Cc: cjones051073 ryandesign eborisch added; jonesc@… removed
Keywords: ppc removed
Port: lbzip2 added
Summary: legacy-support @1.0.9 does not install on PPC Tiger, Mac OS X 10.4.11, because Source file /opt/local/var/macports/software/legacy-support/mpextractqTt8R9gl/opt/local/bin/which does not appear to exist (cannot lstat it)lbzip2 uses legacy-support and fails when upgrading it

comment:3 Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

Keywords: ppc added
Port: lbzip2 removed
Summary: lbzip2 uses legacy-support and fails when upgrading itlegacy-support @1.0.9 does not install on PPC Tiger, Mac OS X 10.4.11, because Source file /opt/local/var/macports/software/legacy-support/mpextractqTt8R9gl/opt/local/bin/which does not appear to exist (cannot lstat it)

I finally performed:

root 276 /\ cd /
root 277 /\ gtar vxf /opt/local/var/macports/software/legacy-support/legacy-support-1.0.9_0.darwin_8.ppc.tbz2 ./opt/local/lib/libMacportsLegacySupport.dylib ./opt/local/lib/libMacportsLegacySystem.B.dylib
./opt/local/lib/libMacportsLegacySupport.dylib
./opt/local/lib/libMacportsLegacySystem.B.dylib
root 278 /\ port -vdf activate legacy-support @1.0.9_0
DEBUG: Using normalized porturl file:///opt/local/var/macports/registry/portfiles/legacy-support-1.0.9_0/bc0576529de56cf84d6bd86ef149c838aac0d83b4db131755761ef887f5cac5c-4941
DEBUG: Changing to port directory: /opt/local/var/macports/registry/portfiles/legacy-support-1.0.9_0/bc0576529de56cf84d6bd86ef149c838aac0d83b4db131755761ef887f5cac5c-4941
DEBUG: OS darwin/8.11.0 (macOS 10.4.11) arch powerpc
DEBUG: Sourcing PortGroup clang_dependency 1.0 from /opt/local/var/macports/registry/portgroups/4446cac3f94b1a22c11feb3d3d7a049930727695ab831ec0e80bd646c258e109-580/clang_dependency-1.0.tcl
DEBUG: Sourcing PortGroup github 1.0 from /opt/local/var/macports/registry/portgroups/110e17685b449516492a801cf1f13340dd4bb72be91329bcbc12bfba904fddc3-4697/github-1.0.tcl
DEBUG: Sourcing PortGroup compiler_wrapper 1.0 from /opt/local/var/macports/registry/portgroups/b7ed74c45721fa0cb02d7ac31c12e2585f1d3264cb56e28db5a95af228e6ce3a-7354/compiler_wrapper-1.0.tcl
DEBUG: Re-registering default for compwrap.add_compiler_flags
DEBUG: Re-registering default for use_configure
DEBUG: Re-registering default for universal_variant
DEBUG: Sourcing PortGroup makefile 1.0 from /opt/local/var/macports/registry/portgroups/5ea5abacffc6a82b2148e0ecda030705fbd26018f99ee5a9bee68b284cf1c10d-12993/makefile-1.0.tcl
DEBUG: Re-registering default for configure.universal_args
...

This made lbzip2 work again. Another cause of the failures were almost 100 core files like these:

total 26959960
-r--------   1 root      admin       138M 30 Apr 09:02 core.24197
-r--------   1 root      admin       138M 30 Apr 08:59 core.24184
-r--------   1 root      admin       138M 30 Apr 08:43 core.23706
-r--------   1 root      admin       141M 30 Apr 08:30 core.23674
…
-r--------   1 root      admin       138M 30 Apr 01:09 core.22962
-r--------   1 pete      admin       138M 30 Apr 00:59 core.19893
-r--------   1 macports  admin       155M 30 Apr 00:52 core.10138

This can explain why no whois version could exist – no disk space left for it? Tiger is now upgrading OpenSSL.

comment:4 Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

Some lines vanished from activation report, here are the final ones:

…
DEBUG: activating file: /opt/local/lib/libMacportsLegacySupport.a
DEBUG: activating file: /opt/local/lib/libMacportsLegacySupport.dylib
DEBUG: activating file: /opt/local/lib/libMacportsLegacySystem.B.dylib
DEBUG: Executing portactivate::activate_finish
DEBUG: Executing org.macports.main (legacy-support)
DEBUG: load phase started at Sun Apr 30 12:24:30 CEST 2023
DEBUG: Executing org.macports.load (legacy-support)
DEBUG: Executing org.macports.main (legacy-support)
DEBUG: clean phase started at Sun Apr 30 12:24:30 CEST 2023
--->  Cleaning legacy-support
DEBUG: Executing org.macports.clean (legacy-support)
--->  Removing work directory for legacy-support
DEBUG: Removing directory: /opt/local/var/macports/build/_opt_local_var_macports_registry_portfiles_legacy-support-1.0.9_0_bc0576529de56cf84d6bd86ef149c838aac0d83b4db131755761ef887f5cac5c-4941/legacy-support
DEBUG: Removing symlink: /opt/local/var/macports/registry/portfiles/legacy-support-1.0.9_0/bc0576529de56cf84d6bd86ef149c838aac0d83b4db131755761ef887f5cac5c-4941/work
DEBUG: Removing directory: /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_legacy-support-1.0.9_0_bc0576529de56cf84d6bd86ef149c838aac0d83b4db131755761ef887f5cac5c-4941/legacy-support

comment:5 Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

The core files might have been produced by mDNSResponder, lookupd, or mdimportserver

Apr 30 00:04:06 Tiger kernel[0]: UniNEnet::monitorLinkStatus - Link is up at 100 Mbps - Full Duplex
Apr 30 00:04:09 Tiger configd[107]: posting notification com.apple.system.config.network_change
Apr 30 00:04:09 Tiger launchd: Server 0 in bootstrap 1103 uid 0: "/usr/sbin/lookupd"[900]: exited abnormally: Hangup
Apr 30 00:04:09 Tiger lookupd[24744]: lookupd (version 369.8) starting - Sun Apr 30 00:04:09 2023
Apr 30 00:04:10 Tiger configd[107]: posting notification com.apple.system.config.network_change
Apr 30 00:04:15 Tiger lookupd[24746]: lookupd (version 369.8) starting - Sun Apr 30 00:04:15 2023
Apr 30 00:38:27 Tiger kernel[0]: UniNEnet::monitorLinkStatus - Link is down.
Apr 30 00:38:29 Tiger kernel[0]: UniNEnet::monitorLinkStatus - Link is up at 100 Mbps - Full Duplex
Apr 30 00:38:33 Tiger configd[107]: posting notification com.apple.system.config.network_change
Apr 30 00:38:34 Tiger configd[107]: posting notification com.apple.system.config.network_change
Apr 30 00:38:39 Tiger lookupd[7543]: lookupd (version 369.8) starting - Sun Apr 30 00:38:39 2023
Apr 30 00:40:36 Tiger launchd: Server 0 in bootstrap 5903 uid -2: "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdimportserver"[7549]: exited abnormally: Segmentation fault
Apr 30 01:06:32 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:33 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:34 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:34 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:35 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:35 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:37 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:06:39 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:15:35 Tiger kernel[0]: (default pager): [KERNEL]: no space in available paging segments
Apr 30 01:26:53 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:26:54 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4
Apr 30 01:26:54 Tiger mDNSResponder: ERROR: getOptRdata - unknown opt 4

caused by an obviously unstable network link. Or something that left no trace in log files

comment:6 in reply to:  1 ; Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ballapete:

--->  Activating legacy-support @1.0.9_0
DEBUG: Using bsdtar with HFS+ compression (if valid)
DEBUG: Using /opt/local/bin/lbzip2
DEBUG: system: /opt/local/bin/lbzip2 -d -c /opt/local/var/macports/software/legacy-support/legacy-support-1.0.9_0.darwin_8.ppc.tbz2 | ( bsdtar -xvp --hfsCompression -f - )
dyld: Library not loaded: /opt/local/lib/libMacportsLegacySupport.dylib
  Referenced from: /opt/local/bin/lbzip2
  Reason: image not found
Error: Failed to activate legacy-support: Image error: Source file /opt/local/var/macports/software/legacy-support/mpextract7J4R1aqd/opt/local/bin/which does not appear to exist (cannot lstat it).  Unable to activate port legacy-support.

So, you've configure MacPorts to extract using MacPorts lbzip2, and MacPorts lbzip2 requires legacy-support to work (ever since the fix for #65878), and you're upgrading legacy-support, which means that at the moment that MacPorts wants to extract the new legacy-support, it can't, because MacPorts lbzip2 has been broken by deactivating the previous version of legacy-support.

This is why it's a good idea, if you want to have MacPorts use lbzip2, to have it use a copy of it not installed by MacPorts (and that does not use any libraries installed by MacPorts).

comment:7 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Eric, if libzip2 can be improved so that it does not require legacy-support anymore, that will solve the problem when legacy-support is upgraded, but the only solution for when lbzip2 is upgraded is not to use a MacPorts-installed copy of lbzip2. Unless we change MacPorts base so that it extracts the to-be-activated archive before deactivating the old port.

comment:8 in reply to:  6 ; Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

Replying to ryandesign:

Replying to ballapete:

So, you've configure MacPorts to extract using MacPorts lbzip2, and MacPorts lbzip2 requires legacy-support to work

Isn't this this the default setting? (And none of the files in /opt/local/etc/macports contains the word lbzip2, just sets of file name extensions, commented.) It had worked before, I think. Longer time ago I did not have lbzip2 installed. Besides, since I could handle the problem why can't port?

(ever since the fix for #65878), and you're upgrading legacy-support, which means that at the moment that MacPorts wants to extract the new legacy-support, it can't, because MacPorts lbzip2 has been broken by deactivating the previous version of legacy-support.

A workaround with gtar exists. And I never knew that dependency.

This is why it's a good idea, if you want to have MacPorts use lbzip2, to have it use a copy of it not installed by MacPorts (and that does not use any libraries installed by MacPorts).

Or get rid of it since it has become to complex, breaking compatibility. This special utility is not necessary.

comment:9 in reply to:  8 Changed 12 months ago by jmroot (Joshua Root)

Keywords: ppc removed
Port: lbzip2 added
Summary: legacy-support @1.0.9 does not install on PPC Tiger, Mac OS X 10.4.11, because Source file /opt/local/var/macports/software/legacy-support/mpextractqTt8R9gl/opt/local/bin/which does not appear to exist (cannot lstat it)lbzip2 uses legacy-support and so fails when upgrading it

Replying to ballapete:

Isn't this this the default setting?

Yes, base will always use lbzip2 if available. That was safe when the lbzip2 port had no runtime dependencies.

comment:10 Changed 12 months ago by eborisch (Eric A. Borisch)

It might be time to let it go; it does not appear to be getting any updates at this point, and the web page is… odd.

comment:11 Changed 12 months ago by kencu (Ken)

Also, legacysupport provides a static linking option to help avoid circular dependencies.

we use it on the macports-clang-* compilers, for example, for this reason.

Last edited 12 months ago by kencu (Ken) (previous) (diff)

comment:12 in reply to:  11 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ballapete:

Or get rid of it since it has become to complex, breaking compatibility. This special utility is not necessary.

You're right the lbzip2 is not necessary but it is intended to be a performance improvement. It decompresses bzip2 files using all of your CPU cores in parallel whereas the standard bzip2 utility uses only one CPU core.

But we may want to consider no longer using lbzip2, not because of complexity, but because the software hasn't been updated in 9 years and appears to have been abandoned. It may have vulnerabilities.

Replying to jmroot:

Yes, base will always use lbzip2 if available. That was safe when the lbzip2 port had no runtime dependencies.

Ah, I forgot it did this automatically.

Replying to eborisch:

It might be time to let it go; it does not appear to be getting any updates at this point, and the web page is… odd.

The domain name was hijacked and is no longer under the project's control so we should no longer reference it. See https://github.com/macports/macports-ports/pull/18476.

Replying to kencu:

Also, legacysupport provides a static linking option to help avoid circular dependencies.

That's a great idea, thanks for the reminder.

comment:13 Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

The parallel, indexed xz compressor pixz might be an alternative to lbzip2. Already available as a port.

comment:14 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

pixz is indeed to xz what lbzip2 is to bz2. But our archives are bz2, not xz. No provision exists in MacPorts base thus far that would allow us to transparently switch the compession method of our archives so until that's changed we must stay with bz2.

comment:15 Changed 12 months ago by eborisch (Eric A. Borisch)

Sounds like adding legacysupport.use_static yes would get us to a reasonably stable state until we decide if lbzip2 should be left in the past?

comment:16 Changed 12 months ago by eborisch (Eric A. Borisch)

comment:17 in reply to:  7 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to ryandesign:

but the only solution for when lbzip2 is upgraded is not to use a MacPorts-installed copy of lbzip2.

Excuse me, I was wrong about that. Upgrading lbzip2 is not a problem. MacPorts deactivates the old lbzip2, and then, when extracting the new one, it sees that lbzip2 does not exist so it uses bzip2 instead.

comment:18 in reply to:  15 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed

Replying to eborisch:

Sounds like adding legacysupport.use_static yes would get us to a reasonably stable state until we decide if lbzip2 should be left in the past?

Yes, thanks!

[d28eca8a6a9c6d9b4c9b3659bb5b8f8b8ec82691/macports-ports]

comment:19 Changed 12 months ago by ballapete (Peter "Pete" Dyballa)

The static version seems to work on PPC Tiger, Mac OS X 10.4.11.

Note: See TracTickets for help on using tickets.