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

ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD" #15

Open
grahamperrin opened this issue Aug 21, 2024 · 13 comments

Comments

@grahamperrin
Copy link
Contributor

% pkg provides -r FreeBSD-ports libsndio.so.7
Name    : sndio-1.10.0
Comment : Small audio and MIDI framework from the OpenBSD project
Repo    : FreeBSD-ports
Filename: usr/local/lib/libsndio.so.7.3
% uname -aKU
FreeBSD mowa219-gjp4-zbook-freebsd 15.0-CURRENT FreeBSD 15.0-CURRENT main-n271720-6982be38cb7e GENERIC-NODEBUG amd64 1500023 1500023
% file /usr/local/lib/libsndio.so.7.3
/usr/local/lib/libsndio.so.7.3: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, for FreeBSD 15.0 (1500023), stripped
% 
% git pull --ff-only
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Unpacking objects: 100% (4/4), 3.07 KiB | 1.53 MiB/s, done.
From https://github.com/SrWither/DiscordBSD
   6022d86..d9dd791  main       -> origin/main
Updating 6022d86..d9dd791
Fast-forward
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
% ./build.sh 
Need to elevate permissions to pack DiscordBSD. Do you want to execute the command with doas or sudo? (1 for doas, 2 for sudo)
2
electron.mk checked

up to date, audited 2 packages in 31s

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
grahamperrin's password:
===>  License BSD3CLAUSE accepted by the user
===>  License BSD3CLAUSE accepted by the user
===>   discordbsd- depends on file: /usr/local/sbin/pkg - found
===>   discordbsd- depends on package: npm-node20>0 - found
===> Fetching all distfiles required by discordbsd- for building
Done!
% ./install
./install: Command not found.
% ls
bin               electron.mk       install.sh        package-lock.json README.md         share             tsconfig.json
build.sh          freebsd           LICENSE           package.json      RPC               src               zip.sh
% ./install.sh 
Installing DiscordBSD
Removing old installation...
Done!
% /home/grahamperrin/.local/bin/discord
ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD"
% ```
@SrWither
Copy link
Owner

I guess the error occurs in that there are no electron versions available even for FreeBSD 15

@grahamperrin
Copy link
Contributor Author

grahamperrin commented Aug 21, 2024

https://github.com/SrWither/DiscordBSD?tab=readme-ov-file#build-dependencies specifies electron29, which I already had.

Installing electron30 seems to make no difference:

root@mowa219-gjp4-zbook-freebsd:~ # pkg iinfo electron
electron29-29.4.5
root@mowa219-gjp4-zbook-freebsd:~ # pkg install electron30
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
Updating local-poudriere repository catalogue...
Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
Fetching data.pkg: 100%  101 KiB 103.6kB/s    00:01    
Processing entries: 100%
The provides database is up-to-date.
local-poudriere repository update completed. 366 packages processed.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        electron30: 30.3.1 [FreeBSD-ports]

Number of packages to be installed: 1

The process will require 375 MiB more space.
107 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching electron30-30.3.1.pkg: 100%  107 MiB   3.2MB/s    00:35    
Checking integrity... done (0 conflicting)
[1/1] Installing electron30-30.3.1...
[1/1] Extracting electron30-30.3.1: 100%
root@mowa219-gjp4-zbook-freebsd:~ # exit
logout
% cd dev/DiscordBSD
% git pull --ff-only
Already up to date.
% ./build.sh 
Need to elevate permissions to pack DiscordBSD. Do you want to execute the command with doas or sudo? (1 for doas, 2 for sudo)
2
electron.mk checked

up to date, audited 2 packages in 3s

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
grahamperrin's password:
===>  License BSD3CLAUSE accepted by the user
===>  License BSD3CLAUSE accepted by the user
===>   discordbsd- depends on file: /usr/local/sbin/pkg - found
===>   discordbsd- depends on package: npm-node20>0 - found
===> Fetching all distfiles required by discordbsd- for building
Done!
% /home/grahamperrin/.local/bin/discord
[arRPC] arRPC v3.1.0
(node:21047) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[arRPC > bridge] listening on 1337
[arRPC > ipc] listening at /var/run/user/1002/discord-ipc-0
[arRPC > websocket] listening on 6463
ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD"
% 
% ./install.sh 
Installing DiscordBSD
Removing old installation...
Done!
% /home/grahamperrin/.local/bin/discord
ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD"
% 

@SrWither
Copy link
Owner

Could you try running electron29 or electron30 in the terminal? To see if the error for that library appears there too

@grahamperrin
Copy link
Contributor Author

I do recall this working very recently, as a launcher in gkrellm (I would not have seen the output, but Element did work):

electron29 https://app.element.io/ &

Now:

% grep deinstall /var/log/messages
Aug 22 03:42:12 mowa219-gjp4-zbook-freebsd pkg[11071]: electron29-29.4.5 deinstalled
% bectl list -c creation | tail -n 3
1500023-024-base          -      -          2.90G 2024-08-21 01:44
1500023-025-base          -      -          2.80G 2024-08-21 16:30
1500023-026-base          NR     /          253G  2024-08-22 03:04
% electron30 --version
[80533:0822/094902.773856:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
v30.3.1
% 

Version 29 is present in boot environment 1500023-025-base, I can temporarily boot it, if required.


I see this, in a solved post: https://discord.com/channels/727023752348434432/1270409740869963807/1270409740869963807

ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "signal-desktop"

– however I can't see that the solution there (for Signal) will help here (for DiscordBSD). Am I missing something obvious?

@grahamperrin

This comment was marked as outdated.

@SrWither
Copy link
Owner

These errors are because npm tries to download a Freebsd electron binary which is not officially on npm

@grahamperrin
Copy link
Contributor Author

Does output from truss help?

% git -C ~/dev/DiscordBSD pull --ff-only
Already up to date.
% cd ~/dev/DiscordBSD
% git reset --hard HEAD
HEAD is now at 4f2a6d6 Merge pull request #17 from grahamperrin/patch-1
% ./build.sh
Need to elevate permissions to pack DiscordBSD. Do you want to execute the command with doas or sudo? (1 for doas, 2 for sudo)
2
electron.mk checked

up to date, audited 2 packages in 22s

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.
grahamperrin's password:
===>  License BSD3CLAUSE accepted by the user
===>  License BSD3CLAUSE accepted by the user
===>   discordbsd- depends on file: /usr/local/sbin/pkg - found
===>   discordbsd- depends on package: npm-node20>0 - found
===> Fetching all distfiles required by discordbsd- for building
Done!
% ./install.sh 
Installing DiscordBSD
Removing old installation...
Done!
% date ; ls -hln /home/grahamperrin/.local/bin/discord
Fri  6 Sep 2024 20:55:28 BST
-rwxr-xr-x  1 1002 1002   95B  6 Sep 20:52 /home/grahamperrin/.local/bin/discord
% /home/grahamperrin/.local/bin/discord
ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD"
% truss /home/grahamperrin/.local/bin/discord
mmap(0x0,135168,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 71626710319104 (0x4124e4a00000)
mprotect(0x4b73bea09000,4096,PROT_READ)          = 0 (0x0)
issetugid()                                      = 0 (0x0)
sigfastblock(0x1,0x4b73bea0b920)                 = 0 (0x0)
open("/etc/libmap.conf",O_RDONLY|O_CLOEXEC,034450030030) = 3 (0x3)
fstat(3,{ mode=-rw-r--r-- ,inode=1443297,size=35,blksize=4096 }) = 0 (0x0)
read(3,"includedir /usr/local/etc/libmap"...,35) = 35 (0x23)
close(3)                                         = 0 (0x0)
open("/usr/local/etc/libmap.d",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,0165) = 3 (0x3)
fcntl(3,F_ISUNIONSTACK,0x0)                      = 0 (0x0)
getdirentries(3,"\^T\0 \0\0\0\0\0\^A\0\0\0\0\0\0"...,4096,{ 0x0 }) = 144 (0x90)
open("/usr/local/etc/libmap.d/mesa.conf",O_RDONLY|O_CLOEXEC,0165) = 4 (0x4)
fstat(4,{ mode=-rw-r--r-- ,inode=1503340,size=38,blksize=4096 }) = 0 (0x0)
read(4,"libGLX_indirect.so.0 libGLX_mesa"...,38) = 38 (0x26)
close(4)                                         = 0 (0x0)
open("/usr/local/etc/libmap.d/nvidia.conf",O_RDONLY|O_CLOEXEC,0165) = 4 (0x4)
fstat(4,{ mode=-rw-r--r-- ,inode=33218,size=40,blksize=4096 }) = 0 (0x0)
read(4,"libGLX_indirect.so.0 libGLX_nvid"...,40) = 40 (0x28)
close(4)                                         = 0 (0x0)
getdirentries(3,0x4124e4a05008,4096,{ 0x172537c7 }) = 0 (0x0)
close(3)                                         = 0 (0x0)
open("/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,014523136355) = 3 (0x3)
read(3,"Ehnt\^A\0\0\0\M^@\0\0\0\M^]\^B\0"...,128) = 128 (0x80)
fstat(3,{ mode=-r--r--r-- ,inode=1376773,size=797,blksize=4096 }) = 0 (0x0)
pread(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,669,0x80) = 669 (0x29d)
close(3)                                         = 0 (0x0)
open("/lib/libedit.so.8",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1443301,size=218248,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 60922079080448 (0x376886e1f000)
mmap(0x0,245760,PROT_NONE,MAP_GUARD,-1,0x0)      = 60922085904384 (0x3768874a1000)
mmap(0x3768874a1000,90112,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 60922085904384 (0x3768874a1000)
mmap(0x3768874b7000,122880,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x15000) = 60922085994496 (0x3768874b7000)
mmap(0x3768874d5000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x32000) = 60922086117376 (0x3768874d5000)
mmap(0x3768874d7000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x33000) = 60922086125568 (0x3768874d7000)
mmap(0x3768874d9000,16384,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 60922086133760 (0x3768874d9000)
munmap(0x376886e1f000,4096)                      = 0 (0x0)
close(3)                                         = 0 (0x0)
open("/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1443299,size=2006224,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 60922097917952 (0x376888016000)
mmap(0x0,4268032,PROT_NONE,MAP_GUARD,-1,0x0)     = 60922109296640 (0x376888af0000)
mmap(0x376888af0000,577536,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 60922109296640 (0x376888af0000)
mmap(0x376888b7d000,1368064,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x8c000) = 60922109874176 (0x376888b7d000)
mmap(0x376888ccb000,40960,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x1d9000) = 60922111242240 (0x376888ccb000)
mmap(0x376888cd5000,28672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x1e2000) = 60922111283200 (0x376888cd5000)
mmap(0x376888cdc000,2252800,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 60922111311872 (0x376888cdc000)
munmap(0x376888016000,4096)                      = 0 (0x0)
close(3)                                         = 0 (0x0)
open("/lib/libtinfow.so.9",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1443309,size=262296,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 60922089750528 (0x37688784c000)
mmap(0x0,274432,PROT_NONE,MAP_GUARD,-1,0x0)      = 60922101432320 (0x376888370000)
mmap(0x376888370000,131072,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 60922101432320 (0x376888370000)
mmap(0x376888390000,118784,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x1f000) = 60922101563392 (0x376888390000)
mmap(0x3768883ad000,16384,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x3b000) = 60922101682176 (0x3768883ad000)
mmap(0x3768883b1000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x3e000) = 60922101698560 (0x3768883b1000)
munmap(0x37688784c000,4096)                      = 0 (0x0)
close(3)                                         = 0 (0x0)
open("/lib/libsys.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1443307,size=108680,blksize=109056 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 60922125598720 (0x376889a7c000)
mmap(0x0,118784,PROT_NONE,MAP_GUARD,-1,0x0)      = 60922137481216 (0x37688a5d1000)
mmap(0x37688a5d1000,86016,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 60922137481216 (0x37688a5d1000)
mmap(0x37688a5e6000,24576,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x14000) = 60922137567232 (0x37688a5e6000)
mmap(0x37688a5ec000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x19000) = 60922137591808 (0x37688a5ec000)
mmap(0x37688a5ed000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x19000) = 60922137595904 (0x37688a5ed000)
munmap(0x376889a7c000,4096)                      = 0 (0x0)
close(3)                                         = 0 (0x0)
mprotect(0x37688a5ec000,4096,PROT_READ)          = 0 (0x0)
mprotect(0x3768874d5000,8192,PROT_READ)          = 0 (0x0)
munmap(0x4124e4a14000,53248)                     = 0 (0x0)
mmap(0x0,196608,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 71626710401024 (0x4124e4a14000)
mprotect(0x376888ccb000,40960,PROT_READ)         = 0 (0x0)
mprotect(0x3768883ad000,16384,PROT_READ)         = 0 (0x0)
mprotect(0x37688a5ec000,4096,PROT_READ|PROT_WRITE) = 0 (0x0)
mprotect(0x37688a5ec000,4096,PROT_READ)          = 0 (0x0)
mprotect(0x376888ccb000,40960,PROT_READ|PROT_WRITE) = 0 (0x0)
mprotect(0x376888ccb000,40960,PROT_READ)         = 0 (0x0)
mprotect(0x3768874d5000,8192,PROT_READ|PROT_WRITE) = 0 (0x0)
mprotect(0x3768874d5000,8192,PROT_READ)          = 0 (0x0)
readlink("/etc/malloc.conf",0x376885b75a50,1024) ERR#2 'No such file or directory'
issetugid()                                      = 0 (0x0)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(21),-1,0x0) = 71626712416256 (0x4124e4c00000)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(12),-1,0x0) = 71626714513408 (0x4124e4e00000)
mmap(0x0,4194304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON|MAP_ALIGNED(21),-1,0x0) = 71626716610560 (0x4124e5000000)
mprotect(0x3760654f4000,4096,PROT_READ)          = 0 (0x0)
issetugid()                                      = 0 (0x0)
open("/usr/share/locale/en_GB.UTF-8/LC_COLLATE",O_RDONLY|O_CLOEXEC,013720646057) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1892610,size=81288,blksize=81408 }) = 0 (0x0)
mmap(0x0,81288,PROT_READ,MAP_PRIVATE,3,0x0)      = 60922127929344 (0x376889cb5000)
close(3)                                         = 0 (0x0)
open("/usr/share/locale/en_GB.UTF-8/LC_CTYPE",O_RDONLY|O_CLOEXEC,013720646057) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1445997,size=53048,blksize=53248 }) = 0 (0x0)
mmap(0x0,53048,PROT_READ,MAP_PRIVATE,3,0x0)      = 60922146754560 (0x37688aea9000)
close(3)                                         = 0 (0x0)
munmap(0x37688aea9000,53048)                     = 0 (0x0)
open("/usr/share/locale/en_GB.UTF-8/LC_MONETARY",O_RDONLY|O_CLOEXEC,020555664636) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1892516,size=33,blksize=4096 }) = 0 (0x0)
read(3,"GBP \n\M-B\M-#\n.\n,\n3\n\n-\n2"...,33)  = 33 (0x21)
close(3)                                         = 0 (0x0)
open("/usr/share/locale/en_GB.UTF-8/LC_NUMERIC",O_RDONLY|O_CLOEXEC,020555664656) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1892614,size=6,blksize=4096 }) = 0 (0x0)
read(3,".\n,\n3\n",6)                            = 6 (0x6)
close(3)                                         = 0 (0x0)
open("/usr/share/locale/en_GB.UTF-8/LC_TIME",O_RDONLY|O_CLOEXEC,020555664676) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1892518,size=381,blksize=4096 }) = 0 (0x0)
read(3,"Jan\nFeb\nMar\nApr\nMay\nJun\nJu"...,381) = 381 (0x17d)
close(3)                                         = 0 (0x0)
open("/usr/share/locale/en_GB.UTF-8/LC_MESSAGES",O_RDONLY|O_CLOEXEC,020555664676) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=1892612,size=74,blksize=4096 }) = 0 (0x0)
read(3,"^(([yY]([eE][sS])?)|([yY]))\n^(("...,74) = 74 (0x4a)
close(3)                                         = 0 (0x0)
getpid()                                         = 7031 (0x1b77)
geteuid()                                        = 1002 (0x3ea)
getppid()                                        = 7029 (0x1b75)
getuid()                                         = 1002 (0x3ea)
geteuid()                                        = 1002 (0x3ea)
getgid()                                         = 1002 (0x3ea)
getegid()                                        = 1002 (0x3ea)
openat(AT_FDCWD,"/home/grahamperrin/.local/bin/discord",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fcntl(3,F_DUPFD_CLOEXEC,0xa)                     = 10 (0xa)
close(3)                                         = 0 (0x0)
sigaction(SIGTERM,0x0,{ SIG_DFL 0x0 ss_t })      = 0 (0x0)
sigaction(SIGTERM,{ SIG_DFL 0x0 ss_t },0x0)      = 0 (0x0)
sigaction(SIGINT,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
sigaction(SIGINT,{ 0x3760654f0120 0x0 ss_t },0x0) = 0 (0x0)
sigaction(SIGQUIT,0x0,{ SIG_DFL SA_RESTART ss_t }) = 0 (0x0)
sigaction(SIGQUIT,{ 0x3760654f0120 0x0 ss_t },0x0) = 0 (0x0)
fstatat(AT_FDCWD,".",{ mode=drwxr-xr-x ,inode=1970964,size=19,blksize=4096 },0x0) = 0 (0x0)
fstatat(AT_FDCWD,"/home/grahamperrin/dev/DiscordBSD",{ mode=drwxr-xr-x ,inode=1970964,size=19,blksize=4096 },0x0) = 0 (0x0)
read(10,"#!/bin/sh\n\ncd ~/.local/share/d"...,1024) = 95 (0x5f)
fstatat(AT_FDCWD,"/home/grahamperrin/.local/share/discordbsd",{ mode=drwxr-xr-x ,inode=1148821,size=4,blksize=131072 },0x0) = 0 (0x0)
fstatat(AT_FDCWD,"/home",{ mode=lrwxr-xr-x ,inode=16673,size=8,blksize=4096 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
fstatat(AT_FDCWD,"/home/grahamperrin",{ mode=drwxr-xr-x ,inode=16,size=243,blksize=16384 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
fstatat(AT_FDCWD,"/home/grahamperrin/.local",{ mode=drwxr-xr-x ,inode=24,size=9,blksize=4096 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
fstatat(AT_FDCWD,"/home/grahamperrin/.local/share",{ mode=drwxr-xr-x ,inode=25,size=170,blksize=11264 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
fstatat(AT_FDCWD,"/home/grahamperrin/.local/share/discordbsd",{ mode=drwxr-xr-x ,inode=1148821,size=4,blksize=131072 },AT_SYMLINK_NOFOLLOW) = 0 (0x0)
chdir("/home/grahamperrin/.local/share/discordbsd") = 0 (0x0)
wait4(-1,0x376885b76c6c,WNOHANG,0x0)             ERR#10 'No child processes'
fork()                                           = 7032 (0x1b78)
vfork()                                          = 7033 (0x1b79)
ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD"
wait4(-1,{ EXITED,val=1 },0x0,0x0)               = 7033 (0x1b79)
fstatat(AT_FDCWD,"/sbin/pgrep",0x376885b76690,0x0) ERR#2 'No such file or directory'
fstatat(AT_FDCWD,"/bin/pgrep",{ mode=-r-xr-xr-x ,inode=1443133,size=18832,blksize=18944 },0x0) = 0 (0x0)
pipe2(0x376885b768d8,0)                          = 0 (0x0)
vfork()                                          = 7034 (0x1b7a)
close(4)                                         = 0 (0x0)
read(3,"7032\n",128)                             = 5 (0x5)
read(3,0x376885b76ab0,128)                       = 0 (0x0)
close(3)                                         = 0 (0x0)
wait4(-1,{ EXITED,val=0 },0x0,0x0)               = 7034 (0x1b7a)
kill(7032,SIGTERM)                               = 0 (0x0)
read(10,0x3760654f6550,1024)                     = 0 (0x0)
exit(0x0)
process exit, rval = 0
% pkg iinfo sndio
gstreamer1-plugins-sndio-1.8.0.1_1
sndio-1.10.0
% su -
Password:
root@mowa219-gjp4-zbook-freebsd:~ # pkg upgrade -f sndio
Updating FreeBSD-ports repository catalogue...
FreeBSD-ports repository is up to date.
Updating FreeBSD-base repository catalogue...
FreeBSD-base repository is up to date.
Updating local-poudriere repository catalogue...
Fetching meta.conf: 100%    178 B   0.2kB/s    00:01    
Fetching data.pkg: 100%   89 KiB  91.5kB/s    00:01    
Processing entries: 100%
Fetching provides database: 100%   18 MiB   6.5MB/s    00:03    
Extracting database....success
local-poudriere repository update completed. 314 packages processed.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be REINSTALLED:
        sndio-1.10.0 [FreeBSD-ports]

Number of packages to be reinstalled: 1

122 KiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching sndio-1.10.0.pkg: 100%  122 KiB 125.1kB/s    00:01    
Checking integrity... done (0 conflicting)
[1/1] Reinstalling sndio-1.10.0...
===> Creating groups
Using existing group '_sndio'
===> Creating users
Using existing user '_sndio'
[1/1] Extracting sndio-1.10.0: 100%
root@mowa219-gjp4-zbook-freebsd:~ # exit
logout
% /home/grahamperrin/.local/bin/discord
ld-elf.so.1: Shared object "libsndio.so.7.2" not found, required by "DiscordBSD"
% 

@grahamperrin
Copy link
Contributor Author

Worked around:

ln -s /usr/local/lib/libsndio.so.7.3 /usr/local/lib/libsndio.so.7.2
root@mowa219-gjp4-zbook-freebsd:~ # ln -s /usr/local/lib/libsndio.so.7.3 /usr/local/lib/libsndio.so.7.2
root@mowa219-gjp4-zbook-freebsd:~ # exit
logout
% /home/grahamperrin/.local/bin/discord
[arRPC] arRPC v3.1.0
(node:86879) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[arRPC > bridge] listening on 1337
[arRPC > ipc] listening at /var/run/user/1002/discord-ipc-0
[arRPC > websocket] listening on 6463
[86880:1012/091250.218762:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
Gtk-Message: 09:12:52.726: Failed to load module "appmenu-gtk-module": 'gtk_module_display_init': Undefined symbol "gtk_module_display_init"
[87122:1012/091300.747280:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
[arRPC > bridge] web connected
(node:86880) UnhandledPromiseRejectionWarning: Error: An object could not be cloned.
    at t.ipcRendererInternal.send (node:electron/js2c/renderer_init:2:10956)
    at EventEmitter.<anonymous> (node:electron/js2c/renderer_init:2:10428)
(Use `DiscordBSD --trace-warnings ...` to show where the warning was created)
(node:86880) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[arRPC > bridge] web disconnected
% 

Where should this be fixed (to not require a symbolic link)?

@SrWither
Copy link
Owner

Possibly the electron Mk files for the port Makefile, the electron maintainer would have to correct that

@SlySven
Copy link

SlySven commented Nov 24, 2024

I've just encountered this after upgrading from FreeBSD 13.3-RELEASE to 13.4-RELEASE - and remember that the former is only supported until 3 months after the latter was released (September 17, 2024) so not long now...

@SrWither
Copy link
Owner

I have recently updated and added a new binary, perhaps the error does not appear right away
https://github.com/SrWither/DiscordBSD/releases/tag/0.0.76

@grahamperrin
Copy link
Contributor Author

Success! Thanks.

I have not tried building from source with the tagged version, however:

  • the installed app does run in the absence of (symbolic link) /usr/local/lib/libsndio.so.7.2
% ls -hln /home/grahamperrin/.local/bin/discord
-rwxr-xr-x  1 1002 1002   95B 29 Nov 16:51 /home/grahamperrin/.local/bin/discord
% /home/grahamperrin/.local/bin/discord
[arRPC] arRPC v3.1.0
(node:58231) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
[arRPC > bridge] listening on 1337
[arRPC > ipc] listening at /var/run/user/1002/discord-ipc-0
[arRPC > websocket] listening on 6463
[58232:1129/165205.568195:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
Gtk-Message: 16:52:05.951: Failed to load module "appmenu-gtk-module": 'gtk_module_display_init': Undefined symbol "gtk_module_display_init"
[58242:1129/165208.734470:ERROR:nss_util.cc(357)] After loading Root Certs, loaded==false: NSS error code: -8018
[arRPC > bridge] web connected
(node:58232) UnhandledPromiseRejectionWarning: Error: An object could not be cloned.
    at IpcRendererInternal.send (node:electron/js2c/renderer_init:2:11234)
    at IpcRendererInternal.<anonymous> (node:electron/js2c/renderer_init:2:10729)
(Use `DiscordBSD --trace-warnings ...` to show where the warning was created)
(node:58232) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
[arRPC > bridge] web disconnected
% 

@grahamperrin
Copy link
Contributor Author

grahamperrin commented Dec 15, 2024

the installed app does run in the absence of (symbolic link) /usr/local/lib/libsndio.so.7.2

It seems that I tested incorrectly.

Today I found the link still present, and DiscordBSD was no longer usable after I removed the link.

@grahamperrin grahamperrin reopened this Dec 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants