Skip to content
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

Can not build on ARM64 Darwin #2514

Closed
TuringZhu opened this issue Apr 21, 2022 · 3 comments
Closed

Can not build on ARM64 Darwin #2514

TuringZhu opened this issue Apr 21, 2022 · 3 comments

Comments

@TuringZhu
Copy link

OS: Darwin xxx 21.1.0 Darwin Kernel Version 21.1.0: Wed Oct 13 17:33:24 PDT 2021; root:xnu-8019.41.5~1/RELEASE_ARM64_T8101 arm64
mosquitto: master@4be56239e99ab4ef47c5ad6089f4a4e7f8ef97f8

build steps:

git clone https://github.com/eclipse/mosquitto
cd mosquitto
mkdir build
cd build
cmake ../
make # then it error as follow

[ 24%] Built target libmosquitto
[ 25%] Built target mosquittopp
[ 28%] Built target mosquitto_pub
[ 30%] Built target mosquitto_sub
[ 33%] Built target mosquitto_rr
[ 74%] Built target mosquitto
[ 80%] Built target mosquitto_ctrl
[ 84%] Built target mosquitto_passwd
[ 85%] Linking C shared module mosquitto_dynamic_security.so
Undefined symbols for architecture arm64:
  "_mosquitto_broker_publish", referenced from:
      _send_response in plugin.c.o
  "_mosquitto_callback_register", referenced from:
      _mosquitto_plugin_init in plugin.c.o
  "_mosquitto_callback_unregister", referenced from:
      _mosquitto_plugin_cleanup in plugin.c.o
  "_mosquitto_calloc", referenced from:
      _dynsec_auth__base64_decode in auth.c.o
      _dynsec_clients__config_load in clients.c.o
      _dynsec_clients__process_create in clients.c.o
      _dynsec_groups__config_load in groups.c.o
      _dynsec_groups__process_create in groups.c.o
      _dynsec__config_load in plugin.c.o
      _dynsec_roles__config_load in roles.c.o
      ...
  "_mosquitto_client_id", referenced from:
      _dynsec_auth__basic_auth_callback in auth.c.o
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clients__process_delete in clients.c.o
      _dynsec_clients__process_disable in clients.c.o
      _dynsec_clients__process_enable in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_set_password in clients.c.o
      ...
  "_mosquitto_client_username", referenced from:
      _acl_check in acl.c.o
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clients__process_delete in clients.c.o
      _dynsec_clients__process_disable in clients.c.o
      _dynsec_clients__process_enable in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_set_password in clients.c.o
      ...
  "_mosquitto_free", referenced from:
      _dynsec_auth__base64_decode in auth.c.o
      _client__free_item in clients.c.o
      _dynsec_clients__config_load in clients.c.o
      _dynsec__config_add_clients in clients.c.o
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_modify in clients.c.o
      ...
  "_mosquitto_kick_client_by_username", referenced from:
      _dynsec_clients__process_delete in clients.c.o
      _dynsec_clients__process_disable in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_set_password in clients.c.o
      _dynsec_clients__process_modify in clients.c.o
      _dynsec_clients__process_add_role in clients.c.o
      _dynsec_clients__process_remove_role in clients.c.o
      ...
  "_mosquitto_log_printf", referenced from:
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clients__process_delete in clients.c.o
      _dynsec_clients__process_disable in clients.c.o
      _dynsec_clients__process_enable in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_set_password in clients.c.o
      _dynsec_clients__process_modify in clients.c.o
      ...
  "_mosquitto_malloc", referenced from:
      _dynsec_auth__base64_encode in auth.c.o
      _dynsec_clients__config_load in clients.c.o
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clientlist__add in clientlist.c.o
      _dynsec_groups__config_load in groups.c.o
      _dynsec_groups__process_create in groups.c.o
      _dynsec_grouplist__add in grouplist.c.o
      ...
  "_mosquitto_strdup", referenced from:
      _dynsec_clients__config_load in clients.c.o
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_modify in clients.c.o
      _dynsec_groups__process_modify in groups.c.o
      _mosquitto_plugin_init in plugin.c.o
      _dynsec_roles__config_load in roles.c.o
      ...
  "_mosquitto_sub_topic_check", referenced from:
      _dynsec_roles__process_add_acl in roles.c.o
      _dynsec_roles__process_remove_acl in roles.c.o
  "_mosquitto_topic_matches_sub", referenced from:
      _acl_check_publish_c_send in acl.c.o
      _acl_check_publish_c_recv in acl.c.o
  "_mosquitto_validate_utf8", referenced from:
      _dynsec_clients__process_create in clients.c.o
      _dynsec_clients__process_disable in clients.c.o
      _dynsec_clients__process_enable in clients.c.o
      _dynsec_clients__process_set_id in clients.c.o
      _dynsec_clients__process_set_password in clients.c.o
      _dynsec_clients__process_modify in clients.c.o
      _dynsec_clients__process_get in clients.c.o
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [plugins/dynamic-security/mosquitto_dynamic_security.so] Error 1
make[1]: *** [plugins/dynamic-security/CMakeFiles/mosquitto_dynamic_security.dir/all] Error 2
make: *** [all] Error 2
@ckrey
Copy link

ckrey commented Apr 25, 2022

This seems to be a general Darwin (Mac) problem. Occurs for Intel architecture too:

[ 91%] Linking C shared module mosquitto_dynamic_security.so
Undefined symbols for architecture x86_64:
  "_mosquitto_broker_publish", referenced from:
      _send_response in plugin.c.o
...

@ahoereth
Copy link

ahoereth commented May 8, 2022

Also running into this on apple silicon. Were you guys able to work around it somehow?

@NorbertHeusser
Copy link
Contributor

With the fixes from @buschulte merged into develop-branch yesterday it should work now on the development branch. And therefore should be fixed at least with the next major release.

@ralight ralight closed this as completed Aug 16, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 20, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants