-
Notifications
You must be signed in to change notification settings - Fork 895
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
macOS Catalina and C header files #3226
Comments
I have updated the above description as it's still present on master with MacOS Catalina. Possibly ping @niftynei as I see your name at the top of |
According to ElementsProject#3226, it looks like clang's LD error format has changed. This patch adds the new format so we can parse the mocks successfully. Apple clang version 11.0.3 (clang-1103.0.32.29) ``` checking for ANSI C header files... Undefined symbols for architecture x86_64: "_fromwire_amount_msat", referenced from: _fromwire_tlv_test_n1_tlv3 in ccj4zKdV.o "_fromwire_bool", referenced from: _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_test_enum", referenced from: _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_tlvs", referenced from: _fromwire_test_tlv1 in ccj4zKdV.o _fromwire_test_tlv2 in ccj4zKdV.o _fromwire_test_tlv3 in ccj4zKdV.o "_fromwire_tu32", referenced from: _fromwire_tlv_test_n2_tlv2 in ccj4zKdV.o "_fromwire_tu64", referenced from: _fromwire_tlv_test_n1_tlv1 in ccj4zKdV.o _fromwire_tlv_test_n2_tlv1 in ccj4zKdV.o "_fromwire_u16", referenced from: _fromwire_test_features in ccj4zKdV.o _fromwire_subtype_var_assign in ccj4zKdV.o _fromwire_subtype_arrays in ccj4zKdV.o _fromwire_tlv_test_n1_tlv4 in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_tlv1 in ccj4zKdV.o ... "_fromwire_u32", referenced from: _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_u64", referenced from: _fromwire_test_short_id in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o "_fromwire_u8", referenced from: _fromwire_subtype_var_assign in ccj4zKdV.o _fromwire_subtype_var_len in ccj4zKdV.o _fromwire_subtype_varlen_varsize in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o "_fromwire_u8_array", referenced from: _fromwire_test_features in ccj4zKdV.o _fromwire_subtype_arrays in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o ... ```
So the errors in the message are from a generated test source files (that are useful for checking that I put a small patch up for this in #3756, can you check if this fixes the problem? |
According to ElementsProject#3226, it looks like clang's LD error format has changed. This patch adds the new format so we can parse the mocks successfully. Apple clang version 11.0.3 (clang-1103.0.32.29) ``` checking for ANSI C header files... Undefined symbols for architecture x86_64: "_fromwire_amount_msat", referenced from: _fromwire_tlv_test_n1_tlv3 in ccj4zKdV.o "_fromwire_bool", referenced from: _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_test_enum", referenced from: _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_tlvs", referenced from: _fromwire_test_tlv1 in ccj4zKdV.o _fromwire_test_tlv2 in ccj4zKdV.o _fromwire_test_tlv3 in ccj4zKdV.o "_fromwire_tu32", referenced from: _fromwire_tlv_test_n2_tlv2 in ccj4zKdV.o "_fromwire_tu64", referenced from: _fromwire_tlv_test_n1_tlv1 in ccj4zKdV.o _fromwire_tlv_test_n2_tlv1 in ccj4zKdV.o "_fromwire_u16", referenced from: _fromwire_test_features in ccj4zKdV.o _fromwire_subtype_var_assign in ccj4zKdV.o _fromwire_subtype_arrays in ccj4zKdV.o _fromwire_tlv_test_n1_tlv4 in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_tlv1 in ccj4zKdV.o ... "_fromwire_u32", referenced from: _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_u64", referenced from: _fromwire_test_short_id in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o "_fromwire_u8", referenced from: _fromwire_subtype_var_assign in ccj4zKdV.o _fromwire_subtype_var_len in ccj4zKdV.o _fromwire_subtype_varlen_varsize in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o "_fromwire_u8_array", referenced from: _fromwire_test_features in ccj4zKdV.o _fromwire_subtype_arrays in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o ... ``` Changelog-Fixed: Build for macOS Catalina / Apple clang v11.0.3 fixed
According to #3226, it looks like clang's LD error format has changed. This patch adds the new format so we can parse the mocks successfully. Apple clang version 11.0.3 (clang-1103.0.32.29) ``` checking for ANSI C header files... Undefined symbols for architecture x86_64: "_fromwire_amount_msat", referenced from: _fromwire_tlv_test_n1_tlv3 in ccj4zKdV.o "_fromwire_bool", referenced from: _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_test_enum", referenced from: _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_tlvs", referenced from: _fromwire_test_tlv1 in ccj4zKdV.o _fromwire_test_tlv2 in ccj4zKdV.o _fromwire_test_tlv3 in ccj4zKdV.o "_fromwire_tu32", referenced from: _fromwire_tlv_test_n2_tlv2 in ccj4zKdV.o "_fromwire_tu64", referenced from: _fromwire_tlv_test_n1_tlv1 in ccj4zKdV.o _fromwire_tlv_test_n2_tlv1 in ccj4zKdV.o "_fromwire_u16", referenced from: _fromwire_test_features in ccj4zKdV.o _fromwire_subtype_var_assign in ccj4zKdV.o _fromwire_subtype_arrays in ccj4zKdV.o _fromwire_tlv_test_n1_tlv4 in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_tlv1 in ccj4zKdV.o ... "_fromwire_u32", referenced from: _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o "_fromwire_u64", referenced from: _fromwire_test_short_id in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o "_fromwire_u8", referenced from: _fromwire_subtype_var_assign in ccj4zKdV.o _fromwire_subtype_var_len in ccj4zKdV.o _fromwire_subtype_varlen_varsize in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o "_fromwire_u8_array", referenced from: _fromwire_test_features in ccj4zKdV.o _fromwire_subtype_arrays in ccj4zKdV.o _fromwire_tlv_test_n3_tlv3 in ccj4zKdV.o _fromwire_test_msg in ccj4zKdV.o _fromwire_test_msg_option_short_id in ccj4zKdV.o _fromwire_test_msg_option_one in ccj4zKdV.o _fromwire_test_msg_option_two in ccj4zKdV.o ... ``` Changelog-Fixed: Build for macOS Catalina / Apple clang v11.0.3 fixed
Get similar error still with macOS Mojave, but only if I first configure with --enable-developer System config:
Error:
|
@Moller40 which branch are you building? Since #3756 got merged, I have not experienced this again, but perhaps you don't have that patch in whichever branch you're using? Edit: I've just done a |
Building master with #3756 included. |
Closing as stale. Let me know if you want it re-opened. |
Message edited 2020-04-28
Issue and Steps to Reproduce
Compiling seems to work after this -- usable binaries are created -- but there are still many lines in the output of
make
that I don't like the look of, even if they only seem to be for auto-generated tests...System config:
Output error:
It seems that these headers are supposed to be generated by
tools/generate-wire.py
during compilation... Is it trying to put them in/usr/include
by any chance? This location does not now exist on Catalina and I don't know if it's writable...Full compile log:
configure.txt
make.txt
The text was updated successfully, but these errors were encountered: