Compile errors on Demo

#26 · open · 9 comments

View on GitHub ↗

ahoy-jon

On a clean working copy : In ObjectiveHaskell ``` clang: error: no such file or directory: '/Users/jon/Dropbox/Projects/ObjectiveHaskell/libextobjc/extobjc/EXTRuntimeExtensions.m' clang: error: no input files Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 ``` In PhotoUploader ``` ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame Undefined symbols for architecture x86_64: "_textzm0zi11zi2zi2_DataziTextziEncodingziError_strictDecode_closure", referenced from: _sFus_info in libHSaeson-0.6.0.2.a(Internal.o) _sFuq_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH9_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH4_info in libHSaeson-0.6.0.2.a(Internal.o) _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_jstring1_srt in libHSaeson-0.6.0.2.a(Internal.o) _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_value1_srt in libHSaeson-0.6.0.2.a(Internal.o) "_textzm0zi11zi2zi2_DataziTextziEncoding_zdwdecodeUtf8With_closure", referenced from: _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_jstring1_srt in libHSaeson-0.6.0.2.a(Internal.o) _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_value1_srt in libHSaeson-0.6.0.2.a(Internal.o) "_textzm0zi11zi2zi2_DataziTextziLazzyziInternal_Empty_closure", referenced from: _s9fF_info in User.o _s9g4_info in User.o _s9gt_info in User.o _s9gS_info in User.o "_textzm0zi11zi2zi2_DataziText_zdfShowTextzuzdcshow_closure", referenced from: _r9df_srt in User.o _r9dl_srt in User.o _r9dr_srt in User.o _r9dw_srt in User.o _r9dB_srt in User.o _r9dG_srt in User.o "_textzm0zi11zi2zi2_DataziTextziInternal_Text_con_info", referenced from: _s4Nr_info in libHSaeson-0.6.0.2.a(Internal.o) _s4NB_info in libHSaeson-0.6.0.2.a(Internal.o) _s4Rs_info in libHSaeson-0.6.0.2.a(Internal.o) _s4RK_info in libHSaeson-0.6.0.2.a(Internal.o) _s4Sc_info in libHSaeson-0.6.0.2.a(Internal.o) _s4Sq_info in libHSaeson-0.6.0.2.a(Internal.o) _s4ix_info in libHSaeson-0.6.0.2.a(Internal.o) ... "_textzm0zi11zi2zi2_DataziText_zdfShowTextzuzdcshow_info", referenced from: _r9df_info in User.o _r9dl_info in User.o _r9dr_info in User.o _r9dw_info in User.o _r9dB_info in User.o _r9dG_info in User.o "_textzm0zi11zi2zi2_DataziTextziEncoding_zdwdecodeUtf8With_info", referenced from: _sFus_info in libHSaeson-0.6.0.2.a(Internal.o) _sFuq_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH9_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH4_info in libHSaeson-0.6.0.2.a(Internal.o) "_textzm0zi11zi2zi2_DataziTextziLazzyziEncoding_encodeUtf8_info", referenced from: _s3om_info in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziText_unpackCStringzh_closure", referenced from: _r9d9_srt in User.o _r9da_srt in User.o _r9db_srt in User.o _r9dc_srt in User.o _r9dd_srt in User.o _r9de_srt in User.o "_textzm0zi11zi2zi2_DataziTextziLazzyziEncoding_encodeUtf8_closure", referenced from: _ObjectiveHaskellziNSString_toNSString_srt in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziText_unpackCStringzh_info", referenced from: _r9d9_info in User.o _r9da_info in User.o _r9db_info in User.o _r9dc_info in User.o _r9dd_info in User.o _r9de_info in User.o "_textzm0zi11zi2zi2_DataziTextziLazzyziInternal_Chunk_con_info", referenced from: _s9fF_info in User.o _s9g4_info in User.o _s9gt_info in User.o _s9gS_info in User.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ```

Comments

jspahrsummers

Did you run `git submodule update --init --recursive` after cloning?

ahoy-jon

Arf ... no ! :) It works better now, but I still have the linking issue.

jspahrsummers

That's really weird, because ObjectiveHaskell explicitly links the Data.Text library. Does running `cabal install text` say it's already installed and/or fix the linking errors?

ahoy-jon

On Sat, Aug 4, 2012 at 12:07 AM, Justin Spahr-Summers < [email protected] > wrote: > > That's really weird, because ObjectiveHaskell explicitly links the > Data.Text library. > > Does running `cabal install text` say it's already installed and/or fix > the linking errors? Data.Text is already installed.

jspahrsummers

Looks like the library was linking against a (slightly) out-of-date version of Data.Text. Would you mind giving the latest master a shot? EDIT: Ugh, nevermind, getting other errors now. Damnit…

jspahrsummers

Alright, do you mind trying `cabal install text-0.11.2.0` as well? Sorry for going around and around.

ahoy-jon

That's ok ! :) I had already this version of data.text. With the master, the problem looks a bit different, is there something with the version of aeson ? ``` ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame ld: warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame Undefined symbols for architecture x86_64: "_textzm0zi11zi2zi2_DataziTextziEncodingziError_strictDecode_closure", referenced from: _sFus_info in libHSaeson-0.6.0.2.a(Internal.o) _sFuq_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH9_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH4_info in libHSaeson-0.6.0.2.a(Internal.o) _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_jstring1_srt in libHSaeson-0.6.0.2.a(Internal.o) _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_value1_srt in libHSaeson-0.6.0.2.a(Internal.o) "_textzm0zi11zi2zi2_DataziTextziEncoding_zdwdecodeUtf8With_closure", referenced from: _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_jstring1_srt in libHSaeson-0.6.0.2.a(Internal.o) _aesonzm0zi6zi0zi2_DataziAesonziParserziInternal_value1_srt in libHSaeson-0.6.0.2.a(Internal.o) "_textzm0zi11zi2zi2_DataziTextziLazzyziInternal_Empty_closure", referenced from: _s6G4_info in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziTextziArray_Array_con_info", referenced from: _s6Gg_info in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziText_zdfShowTextzuzdcshow_closure", referenced from: _r9aa_srt in User.o _r9ag_srt in User.o _r9am_srt in User.o _r9ar_srt in User.o _r9aw_srt in User.o _r9aB_srt in User.o "_textzm0zi11zi2zi2_DataziTextziInternal_Text_con_info", referenced from: _s4Nr_info in libHSaeson-0.6.0.2.a(Internal.o) _s4NB_info in libHSaeson-0.6.0.2.a(Internal.o) _s4Rs_info in libHSaeson-0.6.0.2.a(Internal.o) _s4RK_info in libHSaeson-0.6.0.2.a(Internal.o) _s4Sc_info in libHSaeson-0.6.0.2.a(Internal.o) _s4Sq_info in libHSaeson-0.6.0.2.a(Internal.o) _s4ix_info in libHSaeson-0.6.0.2.a(Internal.o) ... "_textzm0zi11zi2zi2_DataziText_zdfShowTextzuzdcshow_info", referenced from: _r9aa_info in User.o _r9ag_info in User.o _r9am_info in User.o _r9ar_info in User.o _r9aw_info in User.o _r9aB_info in User.o "_textzm0zi11zi2zi2_DataziTextziArray_MArray_con_info", referenced from: _s6GO_info in libObjectiveHaskell Mac.a(NSString.o) _s6GQ_info in libObjectiveHaskell Mac.a(NSString.o) _s6Ge_info in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziTextziEncoding_zdwdecodeUtf8With_info", referenced from: _sFus_info in libHSaeson-0.6.0.2.a(Internal.o) _sFuq_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH9_info in libHSaeson-0.6.0.2.a(Internal.o) _sFH4_info in libHSaeson-0.6.0.2.a(Internal.o) "_textzm0zi11zi2zi2_DataziTextziLazzyziEncoding_encodeUtf8_info", referenced from: _s6rK_info in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziTextziInternal_safe_closure", referenced from: _s9vw_info in User.o _s9vk_info in User.o _s9v8_info in User.o "_textzm0zi11zi2zi2_DataziText_unpackCStringzh_closure", referenced from: _r9a4_srt in User.o _r9a5_srt in User.o _r9a6_srt in User.o _r9a7_srt in User.o _r9a8_srt in User.o _r9a9_srt in User.o "_textzm0zi11zi2zi2_DataziTextziLazzyziEncoding_encodeUtf8_closure", referenced from: _ObjectiveHaskellziNSString_toNSString_srt in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziTextziLazzyziInternal_defaultChunkSizze_closure", referenced from: _r6rx_info in libObjectiveHaskell Mac.a(NSString.o) "_textzm0zi11zi2zi2_DataziText_unpackCStringzh_info", referenced from: _r9a4_info in User.o _r9a5_info in User.o _r9a6_info in User.o _r9a7_info in User.o _r9a8_info in User.o _r9a9_info in User.o "_textzm0zi11zi2zi2_DataziTextziLazzyziInternal_Chunk_con_info", referenced from: _s6Gn_info in libObjectiveHaskell Mac.a(NSString.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ```

jspahrsummers

I think Aeson is fine – we're using the same version. I have one last idea. Can you try adding `-all_load` to the linker flags of the ObjectiveHaskell static library target? I'm wondering if some of the Data.Text code isn't being copied into the library.

lukexi

Hi guys, I had this same issue just now — I fixed it by updating ObjectiveHaskell's Other Linker Flags to point to the latest versions of text and bytestring I had installed (which you can check with ghc-pkg list), which ended up being bytestring-0.10.0.0 and text-0.11.2.3, which I guess is what my version of Aeson was built against (and likewise for PhotoUploader, had to update to vector-0.10.0.1 and hashable-1.1.2.5). I imagine the issue is that Data.Aeson specifies a broad dependency on those libraries in its cabal file, which ends up pulling down a different (later) version depending on when you cabal install it. Tricky! :panda_face: