“Unable to open object file” when building an app with the Cronet static framework |
|||
Issue descriptionWhen an app is linked with the Cronet static library which is subsequently used for generating the dsym file for the final binary, the “Unable to open object file” message is displayed by dsymutil. This happens because the library symbol table references debug info object files that don't exist. They are the remains of the Cronet build step that merges them into a one single "cronet_static_complete.o" object. Here is an extract from the symbol table that can be obtained by running nm --debug-syms cronet | grep "\.o" where "cronet" is the Cronet library object archive inside the static library. 0000000000000000 - 03 0001 OSO /b/build/slave/cronet-ios-simulator-debug/build/src/out/Debug-iphonesimulator/obj/components/cronet/ios/libcronet_deps_complete.a(url_request_job_factory.o) 0000000000000000 - 03 0001 OSO /b/build/slave/cronet-ios-simulator-debug/build/src/out/Debug-iphonesimulator/obj/components/cronet/ios/libcronet_deps_complete.a(url_request_job_factory_impl.o) 0000000000000000 - 03 0001 OSO /b/build/slave/cronet-ios-simulator-debug/build/src/out/Debug-iphonesimulator/obj/components/cronet/ios/libcronet_deps_complete.a(url_request_job_manager.o) 0000000000000000 - 03 0001 OSO /b/build/slave/cronet-ios-simulator-debug/build/src/out/Debug-iphonesimulator/obj/components/cronet/ios/libcronet_deps_complete.a(url_request_netlog_params.o) 0000000000000000 - 03 0001 OSO /b/build/slave/cronet-ios-simulator-debug/build/src/out/Debug-iphonesimulator/obj/components/cronet/ios/libcronet_deps_complete.a(url_request_redirect_job.o) 0000000000000000 - 03 0001 OSO /b/build/slave/cronet-ios-simulator-debug/build/src/out/Debug-iphonesimulator/obj/components/cronet/ios/libcronet_deps_complete.a(url_request_simple_job.o) A fix for this issue should remove these table entries but still keeping other debug symbols that are necessary for the symbolication. Note: even though the messages are displayed as errors, they are ignored by dsymutil, which completes successfully.
,
Sep 17
I've verified that running 'strip -S Static/Cronet.framework/Cronet' removes the reference to libcronet_deps_complete.a. I'm not sure whether it also removes other necessary symbol information.
,
Jan 2
Cosmetic issue, lowering priority.
,
Jan 3
|
|||
►
Sign in to add a comment |
|||
Comment 1 by kapishnikov@chromium.org
, Feb 23 2018