updating macports-libcxx to llvm-19+
Gagan Sidhu
broly at mac.com
Sat Jul 5 15:22:21 UTC 2025
i have managed to get clang-19 to build for snow leopard.
i will be posting stuff soon, but it seems like it should work.
the only thing(s) i had to do that were "out of the ordinary" were:
1.modify libunwind/src/AddressSpace.hpp to accommodate snowleopard's getsectionheaderbyname instead (with 32 and 64 bit calls)
2. link /opt/local/libexec/llvm-11/lib/clang/11.1.0/lib/darwin/libclang_rt.osx.a in teh build.ninja for libunwind.1.dylib
3. (and this may be a biggie, i'm not sure), remove
> -Wl,-reexported_symbols_list,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/libcxxabi/src/../lib/itanium-base.exp -Wl,-reexported_symbols_list,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/libcxxabi/src/../lib/std-misc.exp -Wl,-reexported_symbols_list,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/libcxxabi/src/../lib/new-delete.exp -Wl,-reexported_symbols_list,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/libcxxabi/src/../lib/std-exceptions.exp -Wl,-reexported_symbols_list,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/libcxxabi/src/../lib/itanium-exceptions.exp -Wl,-reexported_symbols_list,/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/libcxxabi/src/../lib/personality-v0.exp
because apparently 10.6 doesn't support this?
(ld: targeted OS version does not support -reexported_symbols_list) was what i got
thoughts?
this is pretty cool lol. would appreciate experti nput here
p.s.: ignore the errors when destrooting. that was just because i had to remove macros that i didn't insert when installing, since i didn't want to clone macports-ports and make changes without having something that could build/destroot.
Thanks,
Gagan
> On Jul 1, 2025, at 3:39 PM, Gagan Sidhu <broly at mac.com> wrote:
>
> i am just responding on the list because i think the information is helpful to others as well, sorry mojca if you weren't expecting that.
> -i won't do it in the future if that's the case.
>
> two things: i did manage to get llvm-19 to build without issue on snow leopard.
>
> however it seems there's a problem for clang-19 and higher which is they don't allow building for 10.6 targets because of x86_64h?
>
> surely this is probably some kind of macro people removed in the past for clang-17 etc?
>
> /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-19/clang-19/work/llvm-project-19.1.7.src/compiler-rt/cmake/config-ix.cmake
>
> " # Note: In order to target x86_64h on OS X the minimum deployment target must
> # be 10.8 or higher.
> if(MIN_OSX_VERSION VERSION_LESS "10.7")
> message(FATAL_ERROR "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too old.")
> endif()
>
> "
>
> in short, as it stands: it seems clang-19 doesn't even support 10.6 so this shouldn't be a concern?
>
> Thanks,
> Gagan
>
>> On Jun 30, 2025, at 3:20 AM, Mojca Miklavec <mojca.miklavec.lists at gmail.com> wrote:
>>
>> Off-list, and please note that I'm not really active / not much time
>> myself, so please don't expect answers from me.
>>
>> Please open merge requests with your patches.
>> Does clang-19 also build on Snow Leopard (10.6 is still relatively
>> important platform)?
>>
>> Mojca
>>
>> On Mon, 30 Jun 2025 at 04:07, Gagan Sidhu via macports-dev
>> <macports-dev at lists.macports.org> wrote:
>>>
>>> first i want to thank the team for reworking the clang stuff.
>>>
>>> clang-19 has now built successfully on lion. it wasn't bad at all. like a couple of lines.
>>> -i suspect someone on the team deliberately didn't make these changes to see if i cared. i do, i'm just busy with a bunch of things right now
>>> -hopefully if i get these e55 fuel pumps going in my 4matic tomorrow i'll have more time to enjoy my summer
>>> -like, sitting in the sun getting wasted in front of my 2020 i9 16" 5600m
>>>
>>> what are the other prerequisites for tabling the update of macports-libcxx to clang-19?
>>>
>>> we need to do this asap so i can try to push out fixes for node
>>>
>>> hoping someone on the team is ready to receive and test a "patch" (as much of a joke as the patch is)
>>>
>>> Thanks,
>>> Gagan
>>>
>>>> On Mar 31, 2025, at 9:05 AM, Gagan Sidhu via macports-dev <macports-dev at lists.macports.org> wrote:
>>>>
>>>> interesting.
>>>>
>>>> i will try to look into that.
>>>>
>>>> thanks
>>>>
>>>>> On Mar 31, 2025, at 9:03 AM, Chris Jones via macports-dev <macports-dev at lists.macports.org> wrote:
>>>>>
>>>>>
>>>>> clang-19+ currently does not build on a number of older OSes, its limited to Darwin15 and newer. Before updating macports-libcxx someone with the time and inclination should look into that first I would say.
>>>>>
>>>>> cheers Chris
>>>>>
>>>>> On 31/03/2025 2:40 pm, Gagan Sidhu via macports-dev wrote:
>>>>>> any thoughts on this?
>>>>>> i think it’s time.
>>>>>> Thanks,
>>>>>> Gagan
>>>>>
>>>>
>>>
>
>
>
> Thanks,
> Gagan
>
More information about the macports-dev
mailing list