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