-
Notifications
You must be signed in to change notification settings - Fork 170
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
Conflicting coreMQTT and coreHTTP network_transport modules (CA-348) #232
Comments
Hi @rodmaz But agree that it kind of introduces a subtle bug as well where one gets picked over the other and another one is ignored silently. About differences between the two files, there are couple of reasons:
Hope this helps. |
Seeing the same here with 202406.01 release, ESP-IDF v5.2.2. Tried fixing it by adding REQUIRES entries to my projects idf_component_register(), thinking that this would cause coreMQTT to get picked up before coreHTTP. This change fixed the compile issue with missing symbols for vTlsSetConnectTimeout() but the problem has moved to linking and there are now conflicting symbols: components/esp-aws-iot/libraries/coreMQTT/port/network_transport/network_transport.c:123: multiple definition of `espTlsTransportSend'; The same error happens on these symbols: xTlsConnect As they are apparently defined in coreHTTP's network_transport.c |
In my case its blocking me entirely due to this issue. I'll likely work around it by moving one of the files out of the way in the component but that's only a temporary solution. |
@rodmaz did you figure out a work around to this that doesn't involve modifying the esp-aws-iot component itself? |
I created symlinks from |
@rodmaz are you using both modules? In my case I'm only using coreMQTT. I'm also doing this in my top level CMakeLists.txt file:
which I think means the esp-idf build system will auto-discover all of the nested components. If I remove that EXTRA_COMPONENT append then I think I'd have to manually include all of the components I wanted in the esp-aws-iot/libraries/ subdirectory... not ideal but not terrible either. |
I don't have that. I use both modules but I use symlinks to bring each component from ESP AWS IoT I need into my project.
|
ahh k. I just tested and this is a diff of what works as well as an alternate to the symlink:
|
Checklist
Issue or Suggestion Description
Both coreMQTT and coreHTTP components uses different
port/network_transport
modules but sharing same symbols.When integrating both components, linker complains about duplicated symbols.
Besides,
network_transport.c
in coreMQTT seems more sophisticated that the one used in coreHTTP. Why?The text was updated successfully, but these errors were encountered: