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 
> <ken.cunningham.web...@gmail.com> 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 
>> <macports-dev@lists.macports.org> 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 
>>>> <ken.cunningham.web...@gmail.com> 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 
>>>>> <macports-dev@lists.macports.org> 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
>>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to