Could not execute the Node.js binary. You may need to set the path to a working binary manually.
Which version of recognize are you using?
8.1.1
Enabled Modes
Face recognition, Object recognition
TensorFlow mode
GPU mode
Downstream App
Memories App
Which Nextcloud version do you have installed?
Nextcloud Hub 9 (30.0.2)
Which Operating system do you have installed?
Ubuntu 24.04.1 LTS
Which database are you running Nextcloud on?
mysql Ver 8.0.40 for Linux on x86_64 (Source distribution)
Which Docker container are you using to run Nextcloud? (if applicable)
it's a snap install
How much RAM does your server have?
Dynamic memory between 8 GB and 16 GB RAM
What processor Architecture does your CPU have?
x86_64
Describe the Bug
Nodejs stopped working after OS upgrade inside snap package Could not execute the Node.js binary. You may need to set the path to a working binary manually.
root@nextcloud:/home/nextcloud# node --version
v20.17.0
root@nextcloud:/home/nextcloud# /snap/bin/node --version
v20.18.0
root@nextcloud:/home/nextcloud# /var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node --version
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: arc4random: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __fprintf_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __openat_2: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __strftime_l: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __memcpy_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __cxa_thread_atexit_impl: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __mbsnrtowcs_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __read_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: strfromf128: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __wmemset_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __mbsrtowcs_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __memset_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: strtof128: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __wmemcpy_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __sprintf_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __memmove_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __isoc23_strtoul: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libstdc++.so.6: __libc_single_threaded: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libgcc_s.so.1: _dl_find_object: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libgcc_s.so.1: __memset_chk: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libgcc_s.so.1: __cpu_indicator_init: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/libgcc_s.so.1: __cpu_model: symbol not found
Error relocating /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2: unsupported relocation type 37
root@nextcloud:/home/nextcloud#
I tried to Set Library Path Manually LD_LIBRARY_PATH environment variable to include the directory where the libraries are located. For example:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH then I tried running the Node.js binary again, but still fails /var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node --version
I also tried to symlink the node from host in the recognize folder, but it does't work root@nextcloud:/home/nextcloud# /root/.nvm/versions/node/v20.17.0/bin/node --version v20.17.0 root@nextcloud:/home/nextcloud
Expected Behavior
Nodejs is working with ubuntu 24.04 and nextcloud snap version Nextcloud Hub 9 (30.0.2)
To Reproduce
Install Recognize in nextcloud snap version Nextcloud Hub 9 (30.0.2) with ubuntu 24.04
Debug log
Node.js Could not execute the Node.js binary. You may need to set the path to a working binary manually.
If the shipped Node.js binary doesn't work on your system for some reason you can set the path to a custom node.js binary. Currently supported is Node v20.9 and newer v20 releases.
/snap/bin/node
For Nextcloud Snap users, you need to adjust this path to point to the snap's "current" directory as the pre-configured path will change with each update. For example, set it to "/var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node" instead of "/var/snap/nextcloud/9337974/nextcloud/extra-apps/recognize/bin/node"
Hello :wave:
Thank you for taking the time to open this issue with recognize. I know it's frustrating when software causes problems. You have made the right choice to come here and open an issue to make sure your problem gets looked at and if possible solved. I try to answer all issues and if possible fix all bugs here, but it sometimes takes a while until I get to it. Until then, please be patient. Note also that GitHub is a place where people meet to make software better together. Nobody here is under any obligation to help you, solve your problems or deliver on any expectations or demands you may have, but if enough people come together we can collaborate to make this software better. For everyone. Thus, if you can, you could also look at other issues to see whether you can help other people with your knowledge and experience. If you have coding experience it would also be awesome if you could step up to dive into the code and try to fix the odd bug yourself. Everyone will be thankful for extra helping hands! One last word: If you feel, at any point, like you need to vent, this is not the place for it; you can go to the forum, to twitter or somewhere else. But this is a technical issue tracker, so please make sure to focus on the tech and keep your opinions to yourself. (Also see our Code of Conduct. Really.)
I look forward to working with you on this issue Cheers :blue_heart:
Hi, I have just noticed I'm experiencing same issue witm my snap Nextcloud installation. It seems recognize failed after NC update in September. I've checked following issues:
- Permisions - ok 755 / root:root
- Path - I've set up path: /var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node
- I've checked version via node --version -> v20.18.0
- I've installed independent node via snap and set up path to it /snap/node/current/node
I'm using Recognize ver. 7.1.0 with Nextcloud 29.0.9 installed via snap on Ubuntu 22.04.5 LTS
Unfortunetly problem still persist.
After changing paths log error:
'/snap/node/current/bin/node': Permision denied\n
edit:
in case choosing /var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node in Nextcloud log there is:
/var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node: not found"
but binary file is present in the directory...
Any ideas ?
Yes, for me also, it started to fail in september 10/09/2024
Could not execute the Node.js binary. You may need to set the path to a working binary manually. Face recognition An error occurred during face recognition, please check the Nextcloud logs. Face recognition: 1271 Queued files, Last classification: 10/09/2024, Scheduled background jobs: 0,
Same error here. Tried to install my own Node binary and it won't use it.
nextcloud.occ maintenance:repair
gives the error: - Install recognize dependencies - WARNING: Failed to install node binary - WARNING: Failed to automatically install dependencies for recognize. Check the recognize admin panel for potential problems.
same error for me :-(
- Install recognize dependencies
- WARNING: Failed to install node binary
- WARNING: Failed to automatically install dependencies for recognize. Check the recognize admin panel for potential problems.
PATH is set to working node: /snap/bin/node root@fed:~# /snap/bin/node --version v20.18.1
bust still: Die Node.js-Bibliothek konnte nicht ausgeführt werden. Möglicherweise musst du den Pfad zu einer funktionierenden Bibliothek manuell festlegen.
A workaround might be to push a built binary of node, in the worst situation - statically linked, otherwise built for same distro as the libc is. There are Docker based build examples.
https://github.com/nextcloud-snap/nextcloud-snap/wiki/FAQ's#known-incompatible-third-party-apps
"Latest Recognize versions, when in WASM mode, require Node.js 20, which in turn requires a version of glibc >= 2.28 (...) The nextcloud snap is still using glibc 2.27 (from core18), so Recognize's WASM mode won't work with the snap (...)"
so concluding the only way is to use Tensorflow with GPU commands, but instructions are given only for NVIDIA (while I have Radeon...), or to wait until snap version of NC will be updated to use newer glibc...
What I don't understand - in the same notice there is written that I should expect the same using Memories. In my case I use this app without problems. @szaimen is it maybe due to fact that Memories use Recognize for face recognition ?
Anyway - it is another snap issue killing some functionalities (for instance Face Recognition App - no pdlib library aviable)... Probably it is a time to resign from Snap and install NC in direct way...
Anyway - it is another snap issue killing some functionalities (for instance Face Recognition App - no pdlib library aviable)... Probably it is a time to resign from Snap and install NC in direct way...
Agreed.
Docker containers are possible als alternative if you still like containerization.