react-native-intercom: Argument list too long: recursive header expansion failed at

I’m receiving the following message when try to build my project

Argument list too long: recursive header expansion failed at /Users/my-project/node_modules/react-native-intercom/iOS/../../../ios/Pods/React/node_modules/react-tools/src/renderers/dom/shared.

I’m trying to link the project manually

Any ideas?

Thank you in advanced

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 5
  • Comments: 17 (1 by maintainers)

Commits related to this issue

Most upvoted comments

It looks like this library recursively searches through $(SRCROOT)/../../../ios (recursive) by default, which can contain a ton of files. Changing the Framework Search Path to $(SRCROOT)/../../../ios/Pods (recursive) solves the problem for me.

Here’s the line of code.

And here’s what my Framework Search Paths look like, post-fix:

image

FYI, it was my DerivedData folder that was making my arguments list blow up. If I manually nuked that and then did a build it would work fine, but once that folder existed (and it’s got many, many files in it) builds would fail as well as cleans with an error message like @ferbass had originally.

  1. open ./node_modules/react-native-intercom/iOS/RNIntercom.xcodeproj/project.pbxproj
  2. follow this change https://github.com/tinycreative/react-native-intercom/pull/163/files

works for me

I had a similar problem with react-native-camera, and to fix it i just removed the library from 'Link Binary With Libraries` then added it again.

There’s been a lot of back & forth on the framework search paths and creating another PR will just continue that cycle. The problems stem from conflicting path requirements for manual linking vs pods. #163 made the search path more specific (ios/Pods/** instead of ios/**)

However that broke manual linking, so #219 reverted that. That’s puzzling because in my case I manually linked and the latest reversion doesn’t work.

One fix only works for some cases but breaks it for others. Vice versa for the other fix. I’m starting to suspect that different versions of Xcode or RN may handle this differently.

Installing Intercom SDK through pod Intercom(as listed here) instead of pod 'react-native-intercom', :path => '../node_modules/react-native-intercom' solves this problem. PS - This involves manually linking the library(as listed here) .

@zibs might be useful to add this to the installation instructions. I suppose pod react-native-intercom downloads the full RN wrapper into Pods making the recursive header expansion throw up.

I have follow all the instruction given in (as listed https://github.com/intercom/intercom-ios#cocoapods)

I am facing this issue in build

Argument list too long: recursive header expansion failed at …/node_modules/react-native-intercom/iOS/…/…/…/ios/Pods/React/node_modules/is-buffer.

Argument list too long: recursive header expansion failed at …/node_modules/react-native-intercom/iOS/…/…/…/ios/Pods/React/node_modules/seek-bzip/bin.

failed: No suchfile or directory No such file or directory Print: Entry, “:CFBundleIdentifier”, Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/$(MY_APP.app)/Info.plist Print: Entry, “:CFBundleIdentifier”, Does Not Exist

Anyone can suggest any solution that will be help

That PR was merged in March, but another one added back the ios/** path and broke it again: https://github.com/tinycreative/react-native-intercom/pull/219

@browniefed I can make a PR to remove the ios/** path, but someone else apparently wants it in. I installed Intercom iOS manually.

I get the same error in iOS (using Pod). Is there any fix on the library itself or we need to try these fixes one by one? Thanks!

@holmesal I added the Pods text at Framework Search Path but it did not work.