bmichotte / ProMotion-XLForm

ProMotion-XLForm is a ProMotion plugin for XLForm
MIT License
20 stars 21 forks source link

Undefined symbols for architecture i386: #19

Closed Siggs2000 closed 9 years ago

Siggs2000 commented 9 years ago

I'm running into this error when trying to rake my project in RM 4.4 and sdk 9.1

I've done rake clean:all followed by rake pod:install and then rake

Here's the full error:

   Compile ./app/stylesheets/settings_screen_stylesheet.rb
    Create ./build/iPhoneSimulator-8.0-Development/Nurses.app
      Link ./build/iPhoneSimulator-8.0-Development/Nurses.app/Nurses
Undefined symbols for architecture i386:
  "_XLFormRowDescriptorTypeAccount", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeBooleanCheck", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeBooleanSwitch", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeButton", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeCountDownTimer", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeCountDownTimerInline", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeDate", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeDateInline", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeDatePicker", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeDateTime", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeDateTimeInline", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeDecimal", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeEmail", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeInfo", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeInteger", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeMultipleSelector", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeMultipleSelectorPopover", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeName", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeNumber", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypePassword", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypePhone", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypePicker", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorActionSheet", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorAlertView", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorLeftRight", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorPickerView", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorPickerViewInline", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorPopover", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorPush", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSelectorSegmentedControl", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeSlider", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeStepCounter", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeText", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeTextView", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeTime", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeTimeInline", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeTwitter", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
  "_XLFormRowDescriptorTypeURL", referenced from:
      _MREP_DF6E0BB38F5A418C9583EAA08972F8C1 in xl_form.rb.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
rake aborted!
bmichotte commented 9 years ago

Hey,

did you also bundle update ? (see #16)

Siggs2000 commented 9 years ago

I did try that. I noticed that I was previously running an older version of motion-cocoapods and I've now updated that, rake clean:all again and bundle and rake pod:install and rake

My gemfile.lock shows: ProMotion-XLForm (0.0.10) and my podfile shows: XLForm (3.0.2)

Still hitting this issue though

bmichotte commented 9 years ago

Are you using XCode 7+ ?

Siggs2000 commented 9 years ago

Xcode is version 7.1

bmichotte commented 9 years ago

This is strange. @soyoh, how do you fix your issue ?

Siggs2000 commented 9 years ago

During the build, I noticed these has merge notices twice. I'm not sure if that may help shine a light at all:

MergingHash:<Bridgesupportparser::ObjCRetvalInfo><anonymous>[_ctype]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor *
MergingHash:<Bridgesupportparser::ObjCRetvalInfo><anonymous>[declared_type]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor*
MergingHash:<Bridgesupportparser::ObjCArgInfo>rowDescriptor[_ctype]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor *
MergingHash:<Bridgesupportparser::ObjCArgInfo>rowDescriptor[declared_type]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor*

...

MergingHash:<Bridgesupportparser::ObjCRetvalInfo><anonymous>[_ctype]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor *
MergingHash:<Bridgesupportparser::ObjCRetvalInfo><anonymous>[declared_type]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor*
MergingHash:<Bridgesupportparser::ObjCArgInfo>rowDescriptor[_ctype]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor *
MergingHash:<Bridgesupportparser::ObjCArgInfo>rowDescriptor[declared_type]: XLFormRowDescriptor * _Nullable => XLFormRowDescriptor*
bmichotte commented 9 years ago

Could you try the following 1) rake clean 2) rm -rf vendor (or at least all pod stuff in vendor dir) 3) bundle update 4) xcode-select --install 5) rake pod:install 6) rake

Siggs2000 commented 9 years ago

Thanks for the quick help in troubleshooting this. I've done those steps and with step 4, I get the error saying that the command line tools are already installed. The rest of the steps result in the same error as before though.

soyoh commented 9 years ago

Hi! for me, i updated to xcode 7.1, on the project did:

after that it did work, and it did work

Siggs2000 commented 9 years ago

Thans @soyoh

I've just tried your steps and for some reason it's not working for my build. I can't figure out what might be wrong...

Siggs2000 commented 9 years ago

Is it possible to manually require the files it's missing?

bmichotte commented 9 years ago

I maybe have an idea, could you rake:clean then rake --trace and send me the output of the rake ? (gist or per email)

Siggs2000 commented 9 years ago

@bmichotte - interesting development!

When running rake --trace, the rake crashes at a different point. This time it crashed while compiling the Braintree payments pod. When I removed that pod, the app compiles with your gem, just fine. So there's some conflict there between this gem and the Braintree pod.

It sounds like I'll have to investigate that a little more. This issue seems to be solved though. Thanks for your help!

bmichotte commented 9 years ago

Glad to hear that. Could you ping me when you'll find something ?

Siggs2000 commented 9 years ago

Yes I'll update this thread when I find out how to make these two pods work together.

soyoh commented 9 years ago

i was thinking on that now!!! my app was failing at compiling AFNetworking, but before using XLForm, so i didnt suggest that... for me is failing with the newest version of that pod, i had to install an old version, and now everything works.

Siggs2000 commented 9 years ago

I think I've found a combination that seems to work as of now:

This gem + the Braintree pod v3.9.6 (latest version). But in the rakefile, for some reason I had to also add this line to get Braintree working properly: app.libs << 'vendor/Pods//Braintree/Braintree/PayPal/mSDK/libPayPalMobile-BT.a'

BUT, this gets the app compiling without errors!

bmichotte commented 9 years ago

@soyoh it seems there are some issues with AFNetworking 2.6, AFMotion has fix 2.5.x in their gem