Opened 18 months ago
Last modified 18 months ago
#67438 new defect
libxml2 10.4_1 (avter upgrade icu @72.1_0 -> to icu @73.1_0) cannot be builtd. (All the details in the detailed logs in the attachments.)
Reported by: | cave-canem | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | Cc: | ryandesign (Ryan Carsten Schmidt), cave-canem | |
Port: | ibxml2 |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
After upgrading icu @72.1_0 -> to icu @73.1_0 no compiler works and libxml2 10.4_1 cannot be built.
Continuation of the mystery started in the ticket #66206
But this time the trick didn't work.
Can I ask? Can any of you, Dear Sirs, write a port file that would work without the need to wear a palm leaf skirt, necklaces of lizard and venomous snake skulls, and the no need to use a shaman's tambourine?
- What am I doing wrong?
- What additional information should I provide you with?
I will be sincerely grateful for your possible help.
P.S.
port dependents libxml2 | nl 1 GraphicsMagick depends on libxml2 2 ImageMagick depends on libxml2 3 MPlayer depends on libxml2 4 aria2 depends on libxml2 5 asciidoc depends on libxml2 6 at-spi2-atk depends on libxml2 7 clang-10 depends on libxml2 8 clang-11 depends on libxml2 9 clang-12 depends on libxml2 10 clang-13 depends on libxml2 11 clang-14 depends on libxml2 12 clang-15 depends on libxml2 13 clang-16 depends on libxml2 14 clang-3.7 depends on libxml2 15 clang-9.0 depends on libxml2 16 gtk-doc depends on libxml2 17 libarchive depends on libxml2 18 libbluray depends on libxml2 19 libcroco depends on libxml2 20 libglade2 depends on libxml2 21 librsvg depends on libxml2 22 libsoup depends on libxml2 23 libsoup-2.4 depends on libxml2 24 libxkbcommon depends on libxml2 25 libxslt depends on libxml2 26 netpbm depends on libxml2 27 php82 depends on libxml2 28 py27-libxml2 depends on libxml2 29 py310-libxml2 depends on libxml2 30 py310-lxml depends on libxml2 31 py39-lxml depends on libxml2 32 qpdf depends on libxml2 33 qt58-qtwebkit depends on libxml2 34 raptor2 depends on libxml2 35 rasqal depends on libxml2 36 redland depends on libxml2 37 rrdtool depends on libxml2 38 sgml-common depends on libxml2 39 shared-mime-info depends on libxml2 40 strigi depends on libxml2 41 vcdimager depends on libxml2 42 xar depends on libxml2 43 xorg-xcb-proto depends on libxml2
Attachments (3)
Change History (17)
Changed 18 months ago by cave-canem
Attachment: | High_Sierra.libxml2.main.log.tar.xz added |
---|
Changed 18 months ago by cave-canem
Attachment: | High_Sierra.libxml2.main.log_v2.tar.xz added |
---|
High_Sierra.libxml2.main.log_v2.tar.xz
Changed 18 months ago by cave-canem
Attachment: | High_Sierra.libxml2.config.log.tar.xz added |
---|
High_Sierra.libxml2.config.log.tar.xz
comment:1 follow-up: 6 Changed 18 months ago by kencu (Ken)
Here is your error:
configure:4137: /usr/bin/clang -pipe -Os -arch x86_64 -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 conftest.c >&5 dyld: Library not loaded: /opt/local/lib/libxml2.2.dylib Referenced from: /opt/local/libexec/llvm-9.0/lib/libLLVM.dylib Reason: Incompatible library version: libLLVM.dylib requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0
it looks like the version of libxml2 that the llvm-9.0 port was built against is much newer than the version of libxml2 that you have currently installed. The llvm-9.0 port at present requires at least version 12.0.0 of the libxml2 dylibs.
my installed libxml2 port ( libxml2 @2.10.4_1 ) provides version 13.4.0:
% otool -L /opt/local/lib/libxml2.2.dylib /opt/local/lib/libxml2.2.dylib: /opt/local/lib/libxml2.2.dylib (compatibility version 13.0.0, current version 13.4.0) ...
why don't you also have that? Have you done something to force libxml2 to be an older version?
please check this:
port -v installed libxml2
comment:2 Changed 18 months ago by kencu (Ken)
Now that aside, as a general fix, all the llvms and all the clangs should be forced to not use MacPorts libxml2 at all, as it provides no additional features that we need, and it just causes trouble for no benefit.
comment:3 Changed 18 months ago by cave-canem
Ken:
Firstly:
port -v installed icu The following ports are currently installed: icu @72.1_0 (active) requested_variants='' platform='darwin 13' archs='x86_64' date='2022-11-06T18:49:26+0300' icu @73.1_0 requested_variants='' platform='darwin 13' archs='x86_64' date='2023-05-14T03:33:11+0300'
If you activate icu @73.1_0, then any compiler does not work (including clang-5.0, /usr/bin/clang and clang-11-bootstrap).
I built libxml2 @2.10.4_1 using icu @72.1_0, but this option won't update boost176, qt58-qtbase and qt58-qtwebkit.
Secondly:
otool -L /opt/local/lib/libxml2.2.dylib /opt/MacPorts/libexec/llvm-10/bin/llvm-objdump: error: '/opt/local/lib/libxml2.2.dylib': No such file or directory
port -v installed libxml2 The following ports are currently installed: libxml2 @2.10.4_0 requested_variants='' platform='darwin 13' archs='x86_64' date='2023-04-14T06:40:37+0300' libxml2 @2.10.4_1 (active) requested_variants='' platform='darwin 13' archs='x86_64' date='2023-05-14T03:57:08+0300'
But pay attention to what I wrote above.
comment:4 Changed 18 months ago by kencu (Ken)
Pay attention to what I wrote above. You can't just wing these ports around willy-nilly and expect things to work.
You have to install the current versions of everything, libxml2, icu, etc.
You have at this point pretty much messed up your system -- most likely beyond your ability to fix it, it looks like.
For you -- figure out what you actually wanted installed (perhaps using "port echo requested"), save that list, uninstall everything, and start over would be my advice.
There is nothing in MacPorts to fix (other than making the compilers not depend on libxml2, to prevent people from doing what you did).
comment:5 Changed 18 months ago by kencu (Ken)
Cc: | kencu removed |
---|
comment:6 follow-up: 8 Changed 18 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | kencu added |
---|
Replying to kencu:
Here is your error:
configure:4137: /usr/bin/clang -pipe -Os -arch x86_64 -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 conftest.c >&5 dyld: Library not loaded: /opt/local/lib/libxml2.2.dylib Referenced from: /opt/local/libexec/llvm-9.0/lib/libLLVM.dylib Reason: Incompatible library version: libLLVM.dylib requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0
Why would /usr/bin/clang use /opt/local/libexec/llvm-9.0/lib/libLLVM.dylib?
comment:7 Changed 18 months ago by ryandesign (Ryan Carsten Schmidt)
Cc: | kencu removed |
---|---|
Keywords: | High Sierra Mavericks removed |
Oops
comment:8 Changed 18 months ago by kencu (Ken)
Replying to ryandesign:
Replying to kencu:
Here is your error:
configure:4137: /usr/bin/clang -pipe -Os -arch x86_64 -I/opt/local/include -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 conftest.c >&5 dyld: Library not loaded: /opt/local/lib/libxml2.2.dylib Referenced from: /opt/local/libexec/llvm-9.0/lib/libLLVM.dylib Reason: Incompatible library version: libLLVM.dylib requires version 12.0.0 or later, but libxml2.2.dylib provides version 10.0.0Why would /usr/bin/clang use /opt/local/libexec/llvm-9.0/lib/libLLVM.dylib?
likely happening via the linker invocation, I thought.
comment:9 Changed 18 months ago by cave-canem
Ken:
sudo find -x / -name "libxml2*.dylib" -and ! -path "/Applications/*" /opt/MacPorts/lib/libxml2.2.dylib /opt/MacPorts/lib/libxml2.dylib /usr/lib/libxml2.2.dylib /usr/lib/libxml2.dylib
sudo ls -lT "/opt/MacPorts/lib/libxml2.2.dylib" "/opt/MacPorts/lib/libxml2.dylib" "/usr/lib/libxml2.2.dylib" "/usr/lib/libxml2.dylib" -rwxr-xr-x 1 root wheel 1158116 May 14 03:57:04 2023 /opt/MacPorts/lib/libxml2.2.dylib lrwxr-xr-x 1 root wheel 15 May 14 03:57:04 2023 /opt/MacPorts/lib/libxml2.dylib -> libxml2.2.dylib -rwxr-xr-x 1 root wheel 2325296 Jun 2 00:45:20 2016 /usr/lib/libxml2.2.dylib lrwxr-xr-x 1 root wheel 15 May 8 05:57:58 2022 /usr/lib/libxml2.dylib -> libxml2.2.dylib
comment:10 Changed 18 months ago by cave-canem
Ken:
If you need inode:
sudo find -x / -name "libxml2*.dylib" -and ! -path "/Applications/*" -ls Password: 82422591 2264 -rwxr-xr-x 1 root wheel 1158116 May 14 03:57 /opt/MacPorts/lib/libxml2.2.dylib 82422593 8 lrwxr-xr-x 1 root wheel 15 May 14 03:57 /opt/MacPorts/lib/libxml2.dylib -> libxml2.2.dylib 80848211 4544 -rwxr-xr-x 1 root wheel 2325296 Jun 2 2016 /usr/lib/libxml2.2.dylib 16595027 8 lrwxr-xr-x 1 root wheel 15 May 8 2022 /usr/lib/libxml2.dylib -> libxml2.2.dylib
comment:11 Changed 18 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
What's going on here—what's your MacPorts prefix? The logs you attached show it's /opt/local, but this comment now seems to say it's /opt/MacPorts. Which is it?
comment:12 Changed 18 months ago by cave-canem
Ryan Schmidt: My prefix for Mavericks is /opt/MacPorts
cat "/opt/MacPorts/etc/macports/macports.conf" | rg "prefix" prefix /opt/MacPorts # relative to prefix, and there is no default value. This is useful for
My prefix for High Sierra is /opt/local, but I'm in Mavericks now and I can't cat "/opt/local/etc/macports/macports.conf"" because fs Mavericks is jhfs+ and High Sierra is APFS. But the problems are both there and there are the same. Am I speaking clearly?
comment:13 Changed 18 months ago by cave-canem
Hello Ken!
Notes (or Disclaimer):
Since my English is very poor, I am not sure that I understand my counterpart well, and I am also not sure that I successfully (correctly) convey my thoughts to the interlocutor.
———
You wrote:
You have at this point pretty much messed up your system -- most likely beyond your ability to fix it, it looks like.
But my High Sierra (10.13.6, build 17G14042, Darwin 17.7.0) is practically a virgin OS, and if I allowed myself to frolic (play pranks) in Mavericks, then in High Sierra I did not.
I installed all ports (with the exception of unusual variants) exclusively through binary assemblies - this applies to ALL compilers.
Moreover, if I install "icu" and "libxml2" from binaries (not sources), there will be no problems.
This allows me to conclude that "it's not me who messed up", but that "Something is rotten in the state of Denmark".
comment:14 Changed 18 months ago by cave-canem
Well, it finally happened!
After removing the icu port from The MacPorts ports tree ( https://github.com/macports/macports-ports?ysclid=li6zn1mkjw316467693 ) and replacing it with icu73, everything now builds fine.
ls -lT $(port file icu73) -rw-r--r-- 1 root wheel 10242 May 28 07:13:39 2023 /opt/macports-ports/devel/icu/Portfile
The ticket may be closed.
High_Sierra.libxml2.main.log.tar.xz