nextcloud / nextcloud/recognize

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

Open
#1,214 9 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug priority: normal upstream
Dominant language
PHP
Stars
699
Forks
68
Avg merge
1d 4h
Merged PRs (30d)
5

Description

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"

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with /var/snap/nextcloud/current/nextcloud/extra-apps/recognize/bin/node --version on Ubuntu 24.04 and compare it with /snap/bin/node. Investigate how the shipped Node.js binary is packaged and selected for the Nextcloud snap; done means the Recognize Node.js binary runs on the reported setup without host-library workarounds or manual symlinks.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, ubuntu
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.