Repository navigation
Unable to (pip install xmlsec) since brew version 4.0.13 #254
Description
Activity
libxmlsec1 released v1.3.0 yesterday, guessing it's related 😵💫
Can confirm that manually reverting to a copy of the last known good pre-1.3.0
xmlsec1version (1.2.37) Formula fixed me up:Specific workaround steps:
brew edit libxmlsec1. An editor opens up, full of the contents of the latest downloadedxmlsecformula from GitHub or wherever they come from- i paste in the contents of the last pre-1.3.0 brew formula
and hit save - Install that local formula:
brew install /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/libxmlsec1.rb pip install xmlsec
References
Reacted by Travis, Hiroyasu OHYAMA, Sascha Künstler, tomerbraun, Daniel, João Azevedo, Gustavo Frizzo, Tayyab Elahi, Beatriz Soares, Oussama Jarrousse and 6 moreReacted by Michael Palumbo, yoav-sentinel, Okke Harsta, giuseppecunsolo-sky, Utpal Brahma, wind-shift, Yoonseok (Mike Oh), Ilja Leiko, Monisha Ramesh, Alexandr Bulanov and 31 moreReacted by Travis, João Azevedo, Beatriz Soares, RT Lin and Lucas Andrade OliveiraHere's the PR that removed soap from
xmlsecback in November: lsh123/xmlsec#427Thank you @dpritchett. Your workaround worked for me 👍
Reacted by Daniel Pritchett ⚡Hopefully #252 will be addressed soon so this can be fixed 🤞🏻
Reacted by Abed Alansari and GaborPer the workaround above, I had to run
brew unlink libxmlsec1in between steps 2 and 3 and it worked for me.Reacted by Prasanth Karri, ziga, valentin-demange, Graham Langford, Varun Cherukuri, Sujan Basnet, Praful Parashar, Mike O'Donnell, Lucas Andrade Oliveira and Petar GyurovA "better" (cleaner) workaround is to create a local tap and extract the previous version, like so:
brew tap-new $USER/local brew extract --version=1.2.37 libxmlsec1 $USER/local brew uninstall libxmlsec1 brew install $USER/local/libxmlsec1@1.2.37Once
python-xmlsecis updated to supportlibxmlsec11.3+, you can uninstall the extracted version and remove the tap by doing:brew uninstall $USER/local/libxmlsec1@1.2.37 brew untap $USER/local
Edit: This no longer works, because there were new patch versions of
libxmlsec1released and the formula can't find the archive for 1.2.37 at the old URL. A quick fix is to edit the formula to point to the correct URL before installing it:brew edit $USER/local/libxmlsec1@1.2.37And update line 4 with the correct URL:
- url "https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.37.tar.gz" + url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz"
Thanks to @karthicraghupathi for that!
Reacted by Prasanth Karri, giuseppecunsolo-sky, Dano!, Jeremy Pinhel, Molka Zaouali, Ian Homer, Paul Souders, Den Kasyanov, anna-uplight, NanaAbekah and 36 moreReacted by MohanrajanReacted by Prasanth Karri, tonycheang, Molka Zaouali, andrewjiangcrayon, SethHafferkamp, Robin Ray, NanaAbekah, Morgan Howell, Ana Rodriguez, Rob McCmoto and 5 moreReacted by Tana M Berry, Dmitry Viskov, Ehco, Jonas Geuens, Autumn Winter, Alessandro Di Felice, dantasgab, Martin Le, Mohanrajan and kpReacted by Gwen, Adam McKenzie and Mohanrajan@D3X, I am facing this error when using the workaround. (I am new to MacOS)
~ % brew tap-new $USER/local-2
Error: /opt/homebrew/Library/Taps/ssrivastava/homebrew-local-2/README.md already exists
~ % brew extract --version=1.2.37 libxmlsec1 $USER/local-2
==> Searching repository history
Error: Could not find libxmlsec1! The formula or version may not have existed.when you use brew 4.0.14 version, you should pay attention to brew home path is /opt/homebrew, not /usr/local/Homebrew;
i also workaround it with below method;
brew unlink libxmlsec1 brew install /opt/homebrew/opt/libxmlsec1/.brew/libxmlsec1.rb pip install xmlsecvery much thank to @dpritchett : )
Reacted by Mathieu Dupuy, Aral Yekta Yarımca, Nguyễn Hữu Nguyên Ý, radosław, vjr12, Chimed, Amirsalar Sojoudi, Nate Moore, Wesley and Nuvindu NirmanaReacted by vjr12 and ChimedReacted by vjr12, Daniel, Chimed and Nuvindu NirmanaReacted by vjr12I need one more step
cd /opt/homebrew/opt/ ln -s libxmlsec1\@1.2.37 libxmlsec1Reacted by Robin Ray, Aral Yekta Yarımca, Matthew Miller, Caio Iglesias and Ray TsaiReacted by Chris GuyAnxiously awaiting this update on an M1.
Reacted by Peter Výboch, Tu Nguyen Quang, Johnny Metz, Christian Hall, Alexander Egorov, nb and Kobi Talbrew extract --version=1.2.37 libxmlsec1 $USER/localDoesn't seem to work (anymore?) - it returns
==> Searching repository history Error: Could not find libxmlsec1! The formula or version may not have existed.Using Homebrew 4.0.24-4-g9e747d8
Reacted by Martino Pizzol, Alexander Egorov, Neal Chen and Suraj PisalI can confirm that downgrading to libxmlsec1 1.2.37 worked. 1.3.1 broke our SAML workflow completely
Reacted by Praful Parasharbrew editseems to have broken in a recent update, so here's an even hackier workaround that almost fails but still got me what I needed:Remove the official formula
> brew uninstall libxmlsec1 Uninstalling /opt/homebrew/Cellar/libxmlsec1/1.3.1_1... (220 files, 7.5MB)
Download the last known good formula and shove it into
/tmp> export DESIRED_SHA="7f35e6ede954326a10949891af2dba47bbe1fc17" # ⚠️ this wget call will fail if you haven't exported DESIRED_SHA as in the preceding line > wget -O /tmp/libxmlsec1.rb "https://github.com/raw/Homebrew/homebrew-core/${DESIRED_SHA}/Formula/libxmlsec1.rb" --2023-06-30 11:40:48-- https://github.com/raw/Homebrew/homebrew-core/7f35e6ede954326a10949891af2dba47bbe1fc17/Formula/libxmlsec1.rb Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2932 (2.9K) [text/plain] Saving to: ‘/tmp/libxmlsec1.rb’ /tmp/libxmlsec1.rb 100%[=========================================================================================>] 2.86K --.-KB/s in 0s 2023-06-30 11:40:48 (25.9 MB/s) - ‘/tmp/libxmlsec1.rb’ saved [2932/2932]
Install the local copy of the last known good formula from
/tmp> brew install --formula /tmp/libxmlsec1.rb ==> Fetching libxmlsec1 ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/manifests/1.2.37 Already downloaded: /Users/daniel/Library/Caches/Homebrew/downloads/0cff6c77c178a7b4826e3146309166ec9d19a0a6580d47e5a1ebaf367cd6c7d0--libxmlsec1-1.2.37.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/blobs/sha256:26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72 ####################################################################################################################################################################### 100.0% Warning: libxmlsec1 1.3.1_1 is available and more recent than version 1.2.37. ==> Pouring libxmlsec1--1.2.37.arm64_ventura.bottle.tar.gz 🍺 /opt/homebrew/Cellar/libxmlsec1/1.2.37: 221 files, 6MB ==> Running `brew cleanup libxmlsec1`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/daniel/Library/Caches/Homebrew/libxmlsec1--1.2.37... (1.2MB)
Reacted by Upekka Pathirana, Michał Bielawski, Andrei Laguta, ziga, Charles Brossollet, Alex Shadley, Marc-Antoine ARNAUD, prd-thanh-dangminh, Michael Matloka, Kyle Martin and 53 moreReacted by Tim Estes and Duc Nguyen VanReacted by Michael Palumbo, Luis Armando López, AssafM-GC, Kunal Tyagi, Paul D'Ambra, advance-al, Aldo Matus, boti, Jiangjie Bai, Hao Liu and 4 moreReacted by Tero Vuotila, ziga, Joe Kane, Alex Shadley, ashutosh singh, baptiste-marlet, prd-thanh-dangminh, Michael Matloka, Carlos Sousa, Kyle Martin and 37 moreReacted by Aldo Matus, Christine Wang, Jiangjie Bai, Hao Liu, Evan Tu, dsgnr, Rafay Aleem and Suraj Pisalbrew editseems to have broken in a recent update, so here's an even hackier workaround that almost fails but still got me what I needed:I got a 404 when using the wget link you provided, however the concept for this did work when I found an alternative source. Thanks a lot for pointing this out. Would have never solved this otherwise.
Reacted by Tim Estes25 remaining items
A "better" (cleaner) workaround is to create a local tap and extract the previous version, like so:
brew tap-new $USER/local brew extract --version=1.2.37 libxmlsec1 $USER/local brew uninstall libxmlsec1 brew install $USER/local/libxmlsec1@1.2.37Once
python-xmlsecis updated to supportlibxmlsec11.3+, you can uninstall the extracted version and remove the tap by doing:brew uninstall $USER/local/libxmlsec1@1.2.37 brew untap $USER/localI prefer this method. However I ran into this error when I ran these commands:
==> Downloading https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.37.tar.gz curl: (22) The requested URL returned error: 404 Error: libxmlsec1@1.2.37: Failed to download resource "libxmlsec1@1.2.37" Download failed: https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.37.tar.gzThe package's URL has now changed. It is present in
older-releases. To fix this, run the following command:brew edit $USER/local/libxmlsec1@1.2.37And make the following changes:
... #url "https://www.aleksey.com/xmlsec/download/xmlsec1-1.2.37.tar.gz" url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz" ...Once these changes are complete, you can re-run the following to complete installation:
brew install $USER/local/libxmlsec1@1.2.37Reacted by Michał Bielawski and jffiorilloIt’s been a year and the issue is still not fixed on macos, requiring the user to use the abovementionned work-around
Any hope to have the xmlsec build fixed at some point ?I have this same issue. Is there any luck this would be fixed in the package without us having to resort to a workaround for MacOS?
- Same issue here. Its used in several SAML solutions, hampering implementation of single sign on modules Op wo 17 apr 2024 om 13:27 schreef David Z Quartz ***@***.***>…I have this same issue. Is there any luck this would be fixed in the package without us having to resort to a workaround for MacOS? — Reply to this email directly, view it on GitHub <#254 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ADRXHZ6UXHSOZLLEUSRURK3Y5ZMBVAVCNFSM6AAAAAAW5S7VYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRRGA2DAMRRGI> . You are receiving this because you commented.Message ID: ***@***.***>
This is gonna be resolved in the new version, see #284
Reacted by Gabor and Tero VuotilaI'm still having this issue, is it meant to be fixed?
brew editseems to have broken in a recent update, so here's an even hackier workaround that almost fails but still got me what I needed:Remove the official formula
> brew uninstall libxmlsec1 Uninstalling /opt/homebrew/Cellar/libxmlsec1/1.3.1_1... (220 files, 7.5MB)Download the last known good formula and shove it into
/tmp> export DESIRED_SHA="7f35e6ede954326a10949891af2dba47bbe1fc17" # ⚠️ this wget call will fail if you haven't exported DESIRED_SHA as in the preceding line > wget -O /tmp/libxmlsec1.rb "https://github.com/raw/Homebrew/homebrew-core/${DESIRED_SHA}/Formula/libxmlsec1.rb" --2023-06-30 11:40:48-- https://github.com/raw/Homebrew/homebrew-core/7f35e6ede954326a10949891af2dba47bbe1fc17/Formula/libxmlsec1.rb Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2932 (2.9K) [text/plain] Saving to: ‘/tmp/libxmlsec1.rb’ /tmp/libxmlsec1.rb 100%[=========================================================================================>] 2.86K --.-KB/s in 0s 2023-06-30 11:40:48 (25.9 MB/s) - ‘/tmp/libxmlsec1.rb’ saved [2932/2932]Install the local copy of the last known good formula from
/tmp> brew install --formula /tmp/libxmlsec1.rb ==> Fetching libxmlsec1 ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/manifests/1.2.37 Already downloaded: /Users/daniel/Library/Caches/Homebrew/downloads/0cff6c77c178a7b4826e3146309166ec9d19a0a6580d47e5a1ebaf367cd6c7d0--libxmlsec1-1.2.37.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/blobs/sha256:26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72 ####################################################################################################################################################################### 100.0% Warning: libxmlsec1 1.3.1_1 is available and more recent than version 1.2.37. ==> Pouring libxmlsec1--1.2.37.arm64_ventura.bottle.tar.gz 🍺 /opt/homebrew/Cellar/libxmlsec1/1.2.37: 221 files, 6MB ==> Running `brew cleanup libxmlsec1`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/daniel/Library/Caches/Homebrew/libxmlsec1--1.2.37... (1.2MB)For M2 (Silicon chip) I had to run:
arch -arm64 brew install --formula /tmp/libxmlsec1.rbThanks! it worked for me... the only problem I had was that it gave me this error when installing the formula from /tpm folder:
"Error: openssl@1.1 has been disabled because it is not supported upstream! It was disabled on 2024-10-24.".I solved it by editing /tml/libxmlsec1.rb, changing
depends_on "openssl@1.1"
to
depends_on "openssl@3"Reacted by Gaurang Patel, Mike Haggerty, Uzair Faisal, Iker Diez, William Rumanta, Tayyab Elahi and Milos Mijuskovicbrew editseems to have broken in a recent update, so here's an even hackier workaround that almost fails but still got me what I needed:Remove the official formula
> brew uninstall libxmlsec1 Uninstalling /opt/homebrew/Cellar/libxmlsec1/1.3.1_1... (220 files, 7.5MB)Download the last known good formula and shove it into
/tmp> export DESIRED_SHA="7f35e6ede954326a10949891af2dba47bbe1fc17" # ⚠️ this wget call will fail if you haven't exported DESIRED_SHA as in the preceding line > wget -O /tmp/libxmlsec1.rb "https://github.com/raw/Homebrew/homebrew-core/${DESIRED_SHA}/Formula/libxmlsec1.rb" --2023-06-30 11:40:48-- https://github.com/raw/Homebrew/homebrew-core/7f35e6ede954326a10949891af2dba47bbe1fc17/Formula/libxmlsec1.rb Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2932 (2.9K) [text/plain] Saving to: ‘/tmp/libxmlsec1.rb’ /tmp/libxmlsec1.rb 100%[=========================================================================================>] 2.86K --.-KB/s in 0s 2023-06-30 11:40:48 (25.9 MB/s) - ‘/tmp/libxmlsec1.rb’ saved [2932/2932]Install the local copy of the last known good formula from
/tmp> brew install --formula /tmp/libxmlsec1.rb ==> Fetching libxmlsec1 ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/manifests/1.2.37 Already downloaded: /Users/daniel/Library/Caches/Homebrew/downloads/0cff6c77c178a7b4826e3146309166ec9d19a0a6580d47e5a1ebaf367cd6c7d0--libxmlsec1-1.2.37.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/blobs/sha256:26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72 ####################################################################################################################################################################### 100.0% Warning: libxmlsec1 1.3.1_1 is available and more recent than version 1.2.37. ==> Pouring libxmlsec1--1.2.37.arm64_ventura.bottle.tar.gz 🍺 /opt/homebrew/Cellar/libxmlsec1/1.2.37: 221 files, 6MB ==> Running `brew cleanup libxmlsec1`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/daniel/Library/Caches/Homebrew/libxmlsec1--1.2.37... (1.2MB)For M2 (Silicon chip) I had to run:
arch -arm64 brew install --formula /tmp/libxmlsec1.rbThanks! it worked for me... the only problem I had was that it gave me this error when installing the formula from /tpm folder:
"Error: openssl@1.1 has been disabled because it is not supported upstream! It was disabled on 2024-10-24.".I solved it by editing /tml/libxmlsec1.rb, changing
depends_on "openssl@1.1"todepends_on "openssl@3"openssl@1.1 is disabled, I face the same problem on this, the one more step needed in my situation is to add --build-from-source like this, that's worked for me
brew install --formula /tmp/libxmlsec1.rb --build-from-source.I'm encountering this on macOS right now and from everybody's collected solutions I landed on the following:
- Install Xcode
- Accept the Xcode license with
sudo xcodebuild -license accept - Install an older, customized version of libxmlsec1 built against OpenSSL 3 using Homebrew and pin it so it doesn't get upgraded:
$ brew uninstall libxmlsec1 $ mkdir tmp $ cd tmp $ vim libxmlsec1.rb # Or your preferred editor. See contents below $ brew install --formula libxmlsec1.rb $ brew pin libxmlsec1 $ export LDFLAGS="-L$(brew --prefix openssl@3)/lib" $ export CPPFLAGS="-I$(brew --prefix openssl@3)/include" $ export PKG_CONFIG_PATH="$(brew --prefix openssl@3)/lib/pkgconfig"
Contents for
libxmlsec1.rb:# Libxmlsec1 definition for 1.2.37. This includes the bottles for this version. class Libxmlsec1 < Formula desc "XML security library" homepage "https://www.aleksey.com/xmlsec/" url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz" sha256 "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c" license "MIT" livecheck do url "https://www.aleksey.com/xmlsec/download/older-releases/" regex(/href=.*?xmlsec1[._-]v?(\d+(?:\.\d+)+)\.t/i) end bottle do sha256 cellar: :any, arm64_ventura: "26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72" sha256 cellar: :any, arm64_monterey: "66646e0a3c47fe21b5d6257d2940c1cbaddd68fd71845ae21eb34275b2913db4" sha256 cellar: :any, arm64_big_sur: "6520bff7f714071fc7a5925dc2335c5482ce59383386500e1f51680bf3e69850" sha256 cellar: :any, ventura: "15faa359429f324b4d18e49c70b0832cf93eb052ad0ef74ccddf1a2db0a4aad5" sha256 cellar: :any, monterey: "dfc4528593b38556559a49053f7b5e3a46ae07d844ad3412a65c22214624a932" sha256 cellar: :any, big_sur: "d428a24cc5c8165e84718292cd4a7a21519b1ce1f46c82ffff0bc27216b8a573" sha256 cellar: :any, catalina: "b67b572409b3d79387f621c9f28338d0ec99342477f50643ff3a6032b58133c6" sha256 cellar: :any_skip_relocation, x86_64_linux: "a52005111565d460c6774d5c5be9c8a0db05e0a06dc8715b7c1f59ab4a66fcb0" end depends_on "pkg-config" => :build depends_on "gnutls" # Yes, it wants both ssl/tls variations depends_on "libgcrypt" depends_on "libxml2" depends_on "openssl@3" uses_from_macos "libxslt" on_macos do depends_on xcode: :build end # Add HOMEBREW_PREFIX/lib to dl load path patch :DATA # Fix -flat_namespace being used on Big Sur and later. patch do url "https://github.com/raw/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff" sha256 "35acd6aebc19843f1a2b3a63e880baceb0f5278ab1ace661e57a502d9d78c93c" end def install args = ["--disable-dependency-tracking", "--prefix=#{prefix}", "--disable-crypto-dl", "--disable-apps-crypto-dl", "--with-nss=no", "--with-nspr=no", "--enable-mscrypto=no", "--enable-mscng=no", "--with-openssl=#{Formula["openssl@3"].opt_prefix}"] system "./configure", *args system "make", "install" end test do system "#{bin}/xmlsec1", "--version" system "#{bin}/xmlsec1-config", "--version" end end __END__ diff --git a/src/dl.c b/src/dl.c index 6e8a56a..0e7f06b 100644 --- a/src/dl.c +++ b/src/dl.c @@ -141,6 +141,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) { } #ifdef XMLSEC_DL_LIBLTDL + lt_dlsetsearchpath("HOMEBREW_PREFIX/lib"); lib->handle = lt_dlopenext((char*)lib->filename); if(lib->handle == NULL) { xmlSecError(XMLSEC_ERRORS_HERE,
Reacted by Adam Leith, Nishant Vaja, Pama Lee, Karthikeyan J, Alan Andrade and Muhammed Al-Dulaimibrew editseems to have broken in a recent update, so here's an even hackier workaround that almost fails but still got me what I needed:Remove the official formula
> brew uninstall libxmlsec1 Uninstalling /opt/homebrew/Cellar/libxmlsec1/1.3.1_1... (220 files, 7.5MB)Download the last known good formula and shove it into
/tmp> export DESIRED_SHA="7f35e6ede954326a10949891af2dba47bbe1fc17" # ⚠️ this wget call will fail if you haven't exported DESIRED_SHA as in the preceding line > wget -O /tmp/libxmlsec1.rb "https://github.com/raw/Homebrew/homebrew-core/${DESIRED_SHA}/Formula/libxmlsec1.rb" --2023-06-30 11:40:48-- https://github.com/raw/Homebrew/homebrew-core/7f35e6ede954326a10949891af2dba47bbe1fc17/Formula/libxmlsec1.rb Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2932 (2.9K) [text/plain] Saving to: ‘/tmp/libxmlsec1.rb’ /tmp/libxmlsec1.rb 100%[=========================================================================================>] 2.86K --.-KB/s in 0s 2023-06-30 11:40:48 (25.9 MB/s) - ‘/tmp/libxmlsec1.rb’ saved [2932/2932]Install the local copy of the last known good formula from
/tmp> brew install --formula /tmp/libxmlsec1.rb ==> Fetching libxmlsec1 ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/manifests/1.2.37 Already downloaded: /Users/daniel/Library/Caches/Homebrew/downloads/0cff6c77c178a7b4826e3146309166ec9d19a0a6580d47e5a1ebaf367cd6c7d0--libxmlsec1-1.2.37.bottle_manifest.json ==> Downloading https://ghcr.io/v2/homebrew/core/libxmlsec1/blobs/sha256:26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72 ####################################################################################################################################################################### 100.0% Warning: libxmlsec1 1.3.1_1 is available and more recent than version 1.2.37. ==> Pouring libxmlsec1--1.2.37.arm64_ventura.bottle.tar.gz 🍺 /opt/homebrew/Cellar/libxmlsec1/1.2.37: 221 files, 6MB ==> Running `brew cleanup libxmlsec1`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/daniel/Library/Caches/Homebrew/libxmlsec1--1.2.37... (1.2MB)Now openssl@1.1 is deprecated so we need to edit the content of /tmp/libxmlsec1.rb and replace all the instances of openssl@1.1 to openssl@3 and then hit brew install --formula /tmp/libxmlsec1.rb
Reacted by Gustavo Loureiro dos Reis, tom-barthelmeh, Sonu Kumar, Nguyễn Hữu Nguyên Ý and Daniel LopezI'm encountering this on macOS right now and from everybody's collected solutions I landed on the following:
- Install Xcode
- Accept the Xcode license with
sudo xcodebuild -license accept - Install an older, customized version of libxmlsec1 built against OpenSSL 3 using Homebrew and pin it so it doesn't get upgraded:
$ brew uninstall libxmlsec1
$ mkdir tmp
$ cd tmp
$ vim libxmlsec1.rb # Or your preferred editor. See contents below
$ brew install --formula libxmlsec1.rb
$ brew pin libxmlsec1
$ export LDFLAGS="-L$(brew --prefix openssl@3)/lib"
$ export CPPFLAGS="-I$(brew --prefix openssl@3)/include"
$ export PKG_CONFIG_PATH="$(brew --prefix openssl@3)/lib/pkgconfig"
Contents forlibxmlsec1.rb:Libxmlsec1 definition for 1.2.37. This includes the bottles for this version.
class Libxmlsec1 < Formula
desc "XML security library"
homepage "https://www.aleksey.com/xmlsec/"
url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz"
sha256 "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c"
license "MIT"livecheck do
url "https://www.aleksey.com/xmlsec/download/older-releases/"
regex(/href=.*?xmlsec1[._-]v?(\d+(?:.\d+)+).t/i)
endbottle do
sha256 cellar: :any, arm64_ventura: "26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72"
sha256 cellar: :any, arm64_monterey: "66646e0a3c47fe21b5d6257d2940c1cbaddd68fd71845ae21eb34275b2913db4"
sha256 cellar: :any, arm64_big_sur: "6520bff7f714071fc7a5925dc2335c5482ce59383386500e1f51680bf3e69850"
sha256 cellar: :any, ventura: "15faa359429f324b4d18e49c70b0832cf93eb052ad0ef74ccddf1a2db0a4aad5"
sha256 cellar: :any, monterey: "dfc4528593b38556559a49053f7b5e3a46ae07d844ad3412a65c22214624a932"
sha256 cellar: :any, big_sur: "d428a24cc5c8165e84718292cd4a7a21519b1ce1f46c82ffff0bc27216b8a573"
sha256 cellar: :any, catalina: "b67b572409b3d79387f621c9f28338d0ec99342477f50643ff3a6032b58133c6"
sha256 cellar: :any_skip_relocation, x86_64_linux: "a52005111565d460c6774d5c5be9c8a0db05e0a06dc8715b7c1f59ab4a66fcb0"
enddepends_on "pkg-config" => :build
depends_on "gnutls" # Yes, it wants both ssl/tls variations
depends_on "libgcrypt"
depends_on "libxml2"
depends_on "openssl@3"
uses_from_macos "libxslt"on_macos do
depends_on xcode: :build
endAdd HOMEBREW_PREFIX/lib to dl load path
patch :DATA
Fix -flat_namespace being used on Big Sur and later.
patch do
url "https://github.com/raw/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff"
sha256 "35acd6aebc19843f1a2b3a63e880baceb0f5278ab1ace661e57a502d9d78c93c"
enddef install
args = ["--disable-dependency-tracking",
"--prefix=#{prefix}",
"--disable-crypto-dl",
"--disable-apps-crypto-dl",
"--with-nss=no",
"--with-nspr=no",
"--enable-mscrypto=no",
"--enable-mscng=no",
"--with-openssl=#{Formula["openssl@3"].opt_prefix}"]system "./configure", *args system "make", "install"end
test do
system "#{bin}/xmlsec1", "--version"
system "#{bin}/xmlsec1-config", "--version"
end
endEND
diff --git a/src/dl.c b/src/dl.c
index 6e8a56a..0e7f06b 100644
--- a/src/dl.c
+++ b/src/dl.c
@@ -141,6 +141,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
}#ifdef XMLSEC_DL_LIBLTDL
- lt_dlsetsearchpath("HOMEBREW_PREFIX/lib");
lib->handle = lt_dlopenext((char*)lib->filename);
if(lib->handle == NULL) {
xmlSecError(XMLSEC_ERRORS_HERE,
As of today, this is the definite hotfix for this problem.
I'm encountering this on macOS right now and from everybody's collected solutions I landed on the following:
- Install Xcode
- Accept the Xcode license with
sudo xcodebuild -license accept - Install an older, customized version of libxmlsec1 built against OpenSSL 3 using Homebrew and pin it so it doesn't get upgraded:
$ brew uninstall libxmlsec1
$ mkdir tmp
$ cd tmp
$ vim libxmlsec1.rb # Or your preferred editor. See contents below
$ brew install --formula libxmlsec1.rb
$ brew pin libxmlsec1
$ export LDFLAGS="-L$(brew --prefix openssl@3)/lib"
$ export CPPFLAGS="-I$(brew --prefix openssl@3)/include"
$ export PKG_CONFIG_PATH="$(brew --prefix openssl@3)/lib/pkgconfig"
Contents forlibxmlsec1.rb:Libxmlsec1 definition for 1.2.37. This includes the bottles for this version.
class Libxmlsec1 < Formula
desc "XML security library"
homepage "https://www.aleksey.com/xmlsec/"
url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz"
sha256 "5f8dfbcb6d1e56bddd0b5ec2e00a3d0ca5342a9f57c24dffde5c796b2be2871c"
license "MIT"livecheck do
url "https://www.aleksey.com/xmlsec/download/older-releases/"
regex(/href=.*?xmlsec1[._-]v?(\d+(?:.\d+)+).t/i)
endbottle do
sha256 cellar: :any, arm64_ventura: "26d6ebddf4e97431819583ad699228360886d81786b332084693d0ad34aa2c72"
sha256 cellar: :any, arm64_monterey: "66646e0a3c47fe21b5d6257d2940c1cbaddd68fd71845ae21eb34275b2913db4"
sha256 cellar: :any, arm64_big_sur: "6520bff7f714071fc7a5925dc2335c5482ce59383386500e1f51680bf3e69850"
sha256 cellar: :any, ventura: "15faa359429f324b4d18e49c70b0832cf93eb052ad0ef74ccddf1a2db0a4aad5"
sha256 cellar: :any, monterey: "dfc4528593b38556559a49053f7b5e3a46ae07d844ad3412a65c22214624a932"
sha256 cellar: :any, big_sur: "d428a24cc5c8165e84718292cd4a7a21519b1ce1f46c82ffff0bc27216b8a573"
sha256 cellar: :any, catalina: "b67b572409b3d79387f621c9f28338d0ec99342477f50643ff3a6032b58133c6"
sha256 cellar: :any_skip_relocation, x86_64_linux: "a52005111565d460c6774d5c5be9c8a0db05e0a06dc8715b7c1f59ab4a66fcb0"
enddepends_on "pkg-config" => :build
depends_on "gnutls" # Yes, it wants both ssl/tls variations
depends_on "libgcrypt"
depends_on "libxml2"
depends_on "openssl@3"
uses_from_macos "libxslt"on_macos do
depends_on xcode: :build
endAdd HOMEBREW_PREFIX/lib to dl load path
patch :DATA
Fix -flat_namespace being used on Big Sur and later.
patch do
url "https://github.com/raw/Homebrew/formula-patches/03cf8088210822aa2c1ab544ed58ea04c897d9c4/libtool/configure-big_sur.diff"
sha256 "35acd6aebc19843f1a2b3a63e880baceb0f5278ab1ace661e57a502d9d78c93c"
enddef install
args = ["--disable-dependency-tracking",
"--prefix=#{prefix}",
"--disable-crypto-dl",
"--disable-apps-crypto-dl",
"--with-nss=no",
"--with-nspr=no",
"--enable-mscrypto=no",
"--enable-mscng=no",
"--with-openssl=#{Formula["openssl@3"].opt_prefix}"]system "./configure", *args system "make", "install"end
test do
system "#{bin}/xmlsec1", "--version"
system "#{bin}/xmlsec1-config", "--version"
end
endEND
diff --git a/src/dl.c b/src/dl.c
index 6e8a56a..0e7f06b 100644
--- a/src/dl.c
+++ b/src/dl.c
@@ -141,6 +141,7 @@ xmlSecCryptoDLLibraryCreate(const xmlChar* name) {
}#ifdef XMLSEC_DL_LIBLTDL
- lt_dlsetsearchpath("HOMEBREW_PREFIX/lib");
lib->handle = lt_dlopenext((char*)lib->filename);
if(lib->handle == NULL) {
xmlSecError(XMLSEC_ERRORS_HERE,
Just adding to this, I personally found issues making it link against openssl3 instead of 1.1, and got it working with these tweaks
- Modify the "url" section to include a debian mirror
- url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz" + url "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz" + mirror "https://deb.debian.org/debian/pool/main/x/xmlsec1/xmlsec1_1.2.37.orig.tar.gz"- I was finding
brew install --formula libxmlsec1.rbwould just pull in the tap with openssl1.1 anyway, so instead I ranbrew install --build-from-source ./libxmlsec1.rb. The above change is such that building from source works. When doing this it respected the openssl3 preference
Hope this helps someone!
I made a tap to install libxmlsec1@1.2.37
FYI I will delete my tap in near future as the tap is not needed anymore.
- added a commit that references this issue
on Jul 18, 2026
Hi,
I am using MacOS 13.2.1 (22D68), I didn't have any issue Installing
xmlsecwhen I had brew version ~2.x.x. I've recently updated brew to version 4.0.13, and I haven't been able topip install xmlsecsince. Any idea what might this be?I have below dependencies installed
The error that I am getting