oh does the list parse out indented comments? if so my apologies!
the original error is this:
GagansMacPro:updater Gagan$ /opt/local/bin/ccache /opt/local/bin/clang++
-isysroot /Users/Gagan/.mozbuild/MacOSX14.4.sdk -objc -mmacosx-version-min=10.7
-stdlib=libc++ -o ../../../../dist/bin/org.mozilla.updater
-fstack-protector-strong -fno-sized-deallocation -fno-aligned-new
-fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections
-fno-exceptions -fno-math-errno -pthread -gdwarf-4 -fno-omit-frame-pointer
-funwind-tables
-Wl,@/Users/Gagan/Downloads/mozilla-unified/obj-x86_64-apple-darwin18.7.0/toolkit/mozapps/update/updater/org_mozilla_updater.list
-fuse-ld=lld -fstack-protector-strong
-Wl,-rpath,@executable_path/../Frameworks/UpdateSettings.framework -sectcreate
__TEXT __info_plist
/Users/Gagan/Downloads/mozilla-unified/obj-x86_64-apple-darwin18.7.0/dist/bin/Info.plist
-sectcreate __TEXT __launchd_plist
/Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/Launchd.plist
../../../../build/pure_virtual/libpure_virtual.a -Wl,-rpath,@executable_path
../../../../dist/bin/UpdateSettings -framework Security -framework Cocoa
-framework SystemConfiguration
ld64.lld: error: undefined symbol: OBJC_CLASS_$_NSObject
>>> referenced by
>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/launchchild_osx.mm
>>> launchchild_osx.o:(symbol
>>> OBJC_CLASS_$_ElevatedUpdateServer+0x8)
>>> referenced by
>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/progressui_osx.mm
>>> progressui_osx.o:(symbol OBJC_CLASS_$_UpdaterUI+0x8)
ld64.lld: error: undefined symbol: OBJC_METACLASS_$_NSObject
>>> referenced by
>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/launchchild_osx.mm
>>> launchchild_osx.o:(symbol
>>> OBJC_METACLASS_$_ElevatedUpdateServer+0x8)
>>> referenced by
>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/launchchild_osx.mm
>>> launchchild_osx.o:(symbol
>>> OBJC_METACLASS_$_ElevatedUpdateServer+0x0)
>>> referenced by
>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/progressui_osx.mm
>>> progressui_osx.o:(symbol OBJC_METACLASS_$_UpdaterUI+0x8)
>>> referenced 1 more times
with or without -lobjc
Thanks,
Gagan
> On Jun 10, 2024, at 10:14 AM, Ken Cunningham
> <[email protected]> wrote:
>
> I can't see lobjc on the link line.
>
> Could you show us a failed link with it there?
>
> Thx
>
>
>
>> On Jun 10, 2024, at 8:51 AM, Gagan Sidhu via macports-dev
>> <[email protected]> wrote:
>>
>>
>>> GagansMacPro:updater Gagan$ /opt/local/bin/ccache /opt/local/bin/clang++
>>> -isysroot /Users/Gagan/.mozbuild/MacOSX14.4.sdk -mmacosx-version-min=10.7
>>> -stdlib=libc++ -o ../../../../dist/bin/org.mozilla.updater
>>> -fstack-protector-strong -fno-sized-deallocation -fno-aligned-new
>>> -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections
>>> -fno-exceptions -fno-math-errno -pthread -gdwarf-4 -fno-omit-frame-pointer
>>> -funwind-tables
>>> -Wl,@/Users/Gagan/Downloads/mozilla-unified/obj-x86_64-apple-darwin18.7.0/toolkit/mozapps/update/updater/org_mozilla_updater.list
>>> -fuse-ld=lld -fstack-protector-strong
>>> -Wl,-rpath,@executable_path/../Frameworks/UpdateSettings.framework
>>> -sectcreate __TEXT __info_plist
>>> /Users/Gagan/Downloads/mozilla-unified/obj-x86_64-apple-darwin18.7.0/dist/bin/Info.plist
>>> -sectcreate __TEXT __launchd_plist
>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/Launchd.plist
>>> ../../../../build/pure_virtual/libpure_virtual.a
>>> -Wl,-rpath,@executable_path ../../../../dist/bin/UpdateSettings -framework
>>> Security -framework Cocoa -framework SystemConfiguration
>>
>> with or without -lobjc still produces the same undefined symbol error.
>>
>> sorry for the duplicate message ken. forgot to send it ot the mailer.
>>
>>>
>>>> On Jun 10, 2024, at 9:45 AM, Ken Cunningham
>>>> <[email protected]> wrote:
>>>>
>>>> It's easier to help if we can see the link line you're using, but in short
>>>> you need to make sure that lobjc is in the link libs, sometimes by
>>>> explicitly adding it:
>>>>
>>>> LDFLAGS="$LDFLAGS -framework Cocoa -lobjc"
>>>>
>>>> K
>>>>
>>>>> On Jun 10, 2024, at 8:08 AM, Gagan Sidhu via macports-dev
>>>>> <[email protected]> wrote:
>>>>>
>>>>> hi team,
>>>>>
>>>>> first of all, i just built the clang-18 properly and wow am i amazed.
>>>>> here i was asking about wasm and stuff, i should have been a little more
>>>>> thorough, my bad.
>>>>> -really this thing is a work of art. great yob
>>>>>
>>>>> now to my question, which i also posted to
>>>>> stackexchange(https://stackoverflow.com/questions/78602533/using-nsobject-with-modern-os-x-sdk-14-4-and-10-7-macosx-deployment-target)
>>>>>
>>>>> briefly: the NSObject class moved from the runtime to Foundation from
>>>>> Lion to Mountain Lion.
>>>>>
>>>>> so there is a little bit of a “hole” in trying to compile for a 10.7
>>>>> target using an SDK that is >=10.8:
>>>>>
>>>>>> ld64.lld: error: undefined symbol: OBJC_CLASS_$_NSObject
>>>>>>>>> referenced by
>>>>>>>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/launchchild_osx.mm
>>>>>>>>> launchchild_osx.o:(symbol
>>>>>>>>> OBJC_CLASS_$_ElevatedUpdateServer+0x8)
>>>>>>>>> referenced by
>>>>>>>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/progressui_osx.mm
>>>>>>>>> progressui_osx.o:(symbol OBJC_CLASS_$_UpdaterUI+0x8)
>>>>>>
>>>>>> ld64.lld: error: undefined symbol: OBJC_METACLASS_$_NSObject
>>>>>>>>> referenced by
>>>>>>>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/launchchild_osx.mm
>>>>>>>>> launchchild_osx.o:(symbol
>>>>>>>>> OBJC_METACLASS_$_ElevatedUpdateServer+0x8)
>>>>>>>>> referenced by
>>>>>>>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/launchchild_osx.mm
>>>>>>>>> launchchild_osx.o:(symbol
>>>>>>>>> OBJC_METACLASS_$_ElevatedUpdateServer+0x0)
>>>>>>>>> referenced by
>>>>>>>>> /Users/Gagan/Downloads/mozilla-unified/toolkit/mozapps/update/updater/progressui_osx.mm
>>>>>>>>> progressui_osx.o:(symbol OBJC_METACLASS_$_UpdaterUI+0x8)
>>>>>>>>> referenced 1 more times
>>>>>> clang++: error: linker command failed with exit code 1 (use -v to see
>>>>>> invocation)
>>>>>
>>>>>
>>>>> usually it will say something like this because, as is obvious to this
>>>>> educated and sharp crowd, the >=10.8 objc runtime will not have NSObject
>>>>> like 10.7, and thus there is no framework we can link for a 10.7 target
>>>>> to get NSObject.
>>>>>
>>>>> have any of you vets dealt this issew? is there a simple way? i haven’t
>>>>> thought too hard about trying to use an OSObject but i’m open to
>>>>> alternatives.
>>>>>
>>>>> maybe duplicating the class and renaming any usage with a macro? i was
>>>>> hoping for sokmething cleaner tho.
>>>>>
>>>>> Thanks,
>>>>> Gagan
>>>>>
>>>>
>>>
>>
>