-
Notifications
You must be signed in to change notification settings - Fork 15.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
'protobuf/Any.pbobjc.h' file not found #6803
Comments
Which version of protobuf are you using? |
Version: v3.9.0 & v3.10.0 |
3.9.0 shouldn't have the change to the pod spec, so if you are saying you see it there, something else must be up. |
https://github.com/Interfere/MalformedPod/blob/master/Podfile.lock#L16
You appear to be using a pretty old version of cocoapods (May 2018); if you update your install do things work better? Your example seems to work fine for me with Cocoapods 1.8.4. |
I have updated the cocoapods. Still the same issue. |
Did you do a clean and pod install again so it could make changes to the projects? Here's what I tried:
|
I have tried to build it with Xcode 11.0. Going to check it against newer version. |
Xcode 11 worked fine also for me:
|
UPD: Just a wild guess: could it be related to the new Apple case-sensitive filesystem flag?
|
The issue mentioned was for problems that used to happen from symlinks and how clang was dealing with things so it ended up seeing a different case. But it sorta sounds like you are seeing something different now, so the question is going to be what's different vs. what was seen before. |
I have just tried to build it on two different environments:
|
So the spec has @paulb777 do you have any other ideas what could be done here? |
Seems cocoapods always puts public headers at 'Pods/Headers/Public/{Pod Name}/**' see ref |
Well, I solved my problem by placing the project at separate volume formated as case-insensetive APFS. |
I don't think that is a long term solution @Interfere :) My colleague added the Firebase's Crashlytics, Analytics, Perf and App to our React native app and for him, it works fine, but for me, it breaks the build. Mac Catalina 10.15.1 |
@mnemanja Do you have the same problem that @Interfere reported? Are you using a case-sensitive file system with Protobuf 3.10.0 in the |
@paulb777 that is correct. Same problem and case-sensitive system with Protobuf 3.10.0. |
A workaround is to add It's not clear that it would be correct for CocoaPods to use the module_name for specifying the directory when the Podfile is choosing not to use modules. |
I have tried using |
@mnemanja I get a successful build with Please check that one and/or share an example that fails when |
@paulb777 > pod install
Adding a custom script phase for Pod RNFBApp: [RNFB] Core Configuration
Adding a custom script phase for Pod RNFBCrashlytics: [RNFB] Crashlytics Configuration
Detected React Native module pods for RNCAsyncStorage, RNDeviceInfo, RNFBAnalytics, RNFBApp, RNFBCrashlytics, RNFBPerf, RNGestureHandler, RNLocalize, RNReanimated, RNSVG, and react-native-webview
Analyzing dependencies
Downloading dependencies
[!] The 'Pods-heatcontrol' target has transitive dependencies that include statically linked binaries: (/app/ios/Pods/Crashlytics/iOS/Crashlytics.framework and /app/ios/Pods/Fabric/iOS/Fabric.framework) I've tried running the error: failed writing record 'utsname.h-7GU1UIJGG5QM': failed to rename '/Users/***/Library/Developer/Xcode/DerivedData/MalformedPod-bpticqbueuzuhagxzxjibprqpamd/Index/DataStore/v5/records/QM/utsname.h-7GU1UIJGG5QM-temp-d4ec308a' to '/Users/***/Library/Developer/Xcode/DerivedData/MalformedPod-bpticqbueuzuhagxzxjibprqpamd/Index/DataStore/v5/records/QM/utsname.h-7GU1UIJGG5QM': No such file or directory Then I re-ran it and the first error was gone (I guess it created the necessary files) but the original error was there. |
@mnemanja The transitive dependency issue might be solved by restructuring the Podfile to move the Crashlytics target out of a dynamic framework target. I'm not sure what's causing the difference for I plan to do investigation on the static library, case-sensitive file system use case, but it might not be for a few weeks - if no one else gets to it. |
@paulb777 I would appreciate if you could point me in the right direction for this restructuring. |
A workaround is |
I'm not sure that there's a good CocoaPods solution, since CocoaPods documents adding the headers to a directory with the name of the pod - not the module. Here's a post_install workaround for the Podfile:
|
What's the point of Seems like this goes back the original issue where we add the module_name maybe being the root problem, but was that issue in clang; like it resolved a symlink cocoapods made, and complained because that path ended up with the lower case even though the original link was upper case? |
|
I think https://github.com/thomasvl/protobuf/tree/avoid_path_cases will actually fix this. It removed the use of a sub directory for the WKTs (prefixes the headers with GPB to avoid conflicts since the names can be sorta generic otherwise). The old names are shimmed just to avoid breaking folks, but if we go that route, we'll eventually remove the shims after giving folks a few releases to migrate. If folks can give that a try and let me know how it goes, I can look at finishing landing it here for the next release. |
Howdy folks, just cross-linking from the react-native-firebase repo issue so github's fancy cross-linking will show status at a glance there for future RNFB folks invertase/react-native-firebase#2780 |
There are have been a few issues around people using case sensitive file systems what Xcode/clang does when looking at the paths. In attempts to solve one set of warnings, new warnings/errors happened in different setup. So, to hopefully put these problem away for got, move the WKTs to be at the same level as the other headers. - Revert "Override CocoaPods module to lowercase (protocolbuffers#6464)" This reverts commit 479ba82. - Move WKTs to the objectivec directory and make the old headers shim back to the new locations. - Update objectivec/generate_well_known_types.sh to check them one at a time and to deal with the new locations for them. Fixes protocolbuffers#6803
I use CocoaPods to add Protobuf to my project. However when I build with Xcode 11.0 it reports 'file not found' and do not compile.
I believe the issue is somehow related to this commit and therefore is related to the issue #3218.
Here is an example project: https://github.com/Interfere/MalformedPod
The text was updated successfully, but these errors were encountered: