Go find the log lines which actually compile the files in the lib project to object files and the lines which then link it into a static library.
compare those with the lines which compile your final project sources into object files and link them into your app. Are there min deployment target arguments on all of them? I’d expect if there was no such argument you’d get ‘latest’ by default. Search for 8.0 instead of 8.3 if you like and find the places that 8.0 isn’t specified instead of looking for places where 8.3 is specified.
Are you sure it’s the right library you’re linking in and not an old one in a differently-named directory to where it’s currently being built which is sitting there from days/weeks ago?
This is just a job of methodically tracking back through each of the build lines for any one of the, it seems, dozens and dozens of source files which are being built in a way which tags their minimum deployment as 8.3, or put into a library in such a way that they’re tagged 8.3, and finding where that happens.
On 25 Jun 2016, at 09:51, Alex Zavatone < email@hidden> wrote:
Thanks. I have a dependency for it and I build it from source. Building the app has a dependency for the target framework. The target framework has a dependency for pjsip, and there it ends.
After I clean, the build will go from 54 warnings to over 300, all with that all the 8.3 issues.
Searching for 8.3 returns nothing in the build settings for the pjsip-ios target
Am i searching in the right place?
iOS Deployment Target 8.0
???
On Jun 24, 2016, at 8:39 PM, Roland King wrote: On 25 Jun 2016, at 09:26, Alex Zavatone < email@hidden> wrote:
On Jun 24, 2016, at 7:30 PM, Roland King wrote: On 25 Jun 2016, at 03:48, Alex Zavatone <email@hidden> wrote:
Any idea why it might be doing this?
The deployment targets are set to iOS 8.0 for the .a file, the framework
and the app.
Can you double-check the compilation log for log.o in the libpjsip
target?
--Kyle Sluder
The only file i can find that's called log.o isn't in a readable format and Xcode crashed several times since this morning, so I don't have clear access. What should I be looking for?
How does one get to a a file that is specified as:Debug-iphoneos/libpjsip-ios.a(log.o))?
I've been switching back and forth between legacy build settings due to the build requirements of a 3rd party project and this has helped Xcode 7.3 to crash pretty frequently when building. Is the log.0 file inside the .a file? I'm not familiar with how the file's location is being accessed, nor how to access it.
Thanks, Kyle. All the iPHONE_DEPLOYMENT_TARGET settings that I can find are 8.0.
He didn’t ask you to find log.o, which of course is in an unreadable format because it’s an object file. He asked you to find the build log for the file log.o in the libpjsp target. Kyle reasonably wants to see the command line used to compile log.c (or log.somethingorother) into log.o. So go to the build logs tab after you’ve performed a build, possibly after doing some cleaning to make sure that libpjsp has been rebuilt, look down the list of steps until you find the one where log.o was created from source, expand that and post the command line(s) used to build it. If it references 8.3 as the minimum architecture, then you know where that’s coming from and you fix the build settings for libpjsp.
Thanks, Roland. You helped me find it.
It just happened again after a clean.
When pressing command 7 to view the Build Navigator, selecting the latest buios and filtering on log.o these are the only two command lines that appear,
Ld build/DirectFramework.build/Debug-iphoneos/DirectFramework.build/Objects-normal/arm64/DirectFramework normal arm64 cd /Users/zav/Developer/SWNDirectFramework/DirectFramework export IPHONEOS_DEPLOYMENT_TARGET=8.0 export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -L/Users/zav/Developer/SWNDirectFramework/DirectFramework/build/Debug-iphoneos -F/Users/zav/Developer/SWNDirectFramework/DirectFramework/build/Debug-iphoneos -filelist /Users/zav/Developer/SWNDirectFramework/DirectFramework/build/DirectFramework.build/Debug-iphoneos/DirectFramework.build/Objects-normal/arm64/DirectFramework.LinkFileList -install_name @rpath/DirectFramework.framework/DirectFramework -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=8.0 -dead_strip -Xlinker -no_deduplicate -fobjc-arc -fobjc-link-runtime -framework Foundation -framework AudioToolbox -framework AVFoundation -framework CFNetwork -framework CoreGraphics -framework UIKit -framework WebKit /Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a -single_module -compatibility_version 1 -current_version 11 -Xlinker -dependency_info -Xlinker /Users/zav/Developer/SWNDirectFramework/DirectFramework/build/DirectFramework.build/Debug-iphoneos/DirectFramework.build/Objects-normal/arm64/DirectFramework_dependency_info.dat -o /Users/zav/Developer/SWNDirectFramework/DirectFramework/build/DirectFramework.build/Debug-iphoneos/DirectFramework.build/Objects-normal/arm64/DirectFramework
/Users/zav/Developer/SWNDirectFramework/DXI-PjSIP/build/Debug-iphoneos/libpjsip-ios.a
is where the 8.3 version file is coming from, which the error message tells you. So where’s that being built? That’s the build you need to find, if it’s a dependency in Xcode then there will be a build log for building it, if it’s been built as some other project somewhere and added in as a prebuilt library, that’s why it doesn’t rebuild and that’s why you get the same warning. That library was built for 8.3.
|