Yes but I still don't see -lobjc on your link line... K
> On Jun 10, 2024, at 9:15 AM, Gagan Sidhu via macports-dev > <[email protected]> wrote: > > 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 >>>>>> >>>>> >>>> >>> >> >
