Closed Aupajo closed 5 years ago
Unfortunately I think this is just a problem with node-gyp
. Since the paths are all so long, it is stripping the slashes and making unique files to act as locks of some sort. I'm not sure of a way to turn that functionality off. Have you used node-rdkafka
in this project prior to the 2.3
update? Did it work then? I made some big changes to the way the library builds librdkafka
so that may have caused some of the issues if that is the case. Otherwise, I'm not sure that there is a way to configure gyp to behave differently.
Is there any way you can avoid using the uuid in the build directories? Or make it shorter in heroku?
I don't think there's a way we can avoid using the UUID in the build directories, as that's something built into the way Heroku manages it's internal build, but certainly something to bring up with their dev team.
We were able to get around this issue by renaming our repositories to shorter names, so it's not blocking at the moment.
We're using node-rdkafka @2.1.2
, so it's nothing to do with the 2.3
update.
Thanks for the direction, we were thinking it's something in the node-gyp
build process that may be causing this.
Glad to hear you can get around the issue. Unfortunately part of the Makefile node-gyp generates creates files like that during the build process, and since we use submodules the paths can get long.
You may also be able to work around the problem by installing librdkafka
from your distributions repositories and then linking against the system librdkafka.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
I suspect this is not an issue with
node-rdkafka
, but withlibrdkafka
(or, possibly,node-gyp
), but I'll file it here in the hopes that you might be able to help, or at the very least leave this as a starting point for someone in the future.Essentially, this fails because during the
make
build, the filename of the current directory is incorporated into an artefact. In this case, we're runningmake
inside the very long-winded/tmp/build_fdd9e9cba78f819cac297390a51ef95a/SalesforceCloudServices-rbc-rebate-management-ace3bb7b6184ddfbad9427b727eb332cd26f01f3/node_modules/datapipeline-lib/node_modules/node-rdkafka
directory. At some point,make
will produce a file named_tmp_build_fdd9e9cba78f819cac297390a51ef95a_SalesforceCloudServices_rbc_rebate_management_ace3bb7b6184ddfbad9427b727eb332cd26f01f3_node_modules_datapipeline_lib_node_modules_node_rdkafka_deps_librdkafka_gyp_librdkafka_target_build_dependencies.intermediate
, which exceeds the maximum length of the filename on our OS (255 characters).Would you have any ideas on where this problem could be fixed?