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

Could not execute the Node.js binary. You may need to set the path to a working binary manually. #1214

Open
marianionut opened this issue Nov 13, 2024 · 9 comments
Labels
bug Something isn't working

Comments

@marianionut
Copy link

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

Image
Image

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"

@marianionut marianionut added the bug Something isn't working label Nov 13, 2024
Copy link

Hello 👋

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 💙

@Phils80
Copy link

Phils80 commented Nov 18, 2024

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:

  1. Permisions - ok 755 / root:root
  2. Path - I've set up path: /var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node
  3. I've checked version via node --version -> v20.18.0
  4. 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 ?

@marianionut
Copy link
Author

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,

@SeeEmAge95
Copy link

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.

@UweW
Copy link

UweW commented Dec 7, 2024

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.

@bugsyb
Copy link

bugsyb commented Dec 10, 2024

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.

@Phils80
Copy link

Phils80 commented Dec 13, 2024

"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...

@szaimen
Copy link
Contributor

szaimen commented Dec 13, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants