docker-gphotos-sync icon indicating copy to clipboard operation
docker-gphotos-sync copied to clipboard

Error relocating /usr/lib/libnspr4.so: gettid: symbol not found

Open kylechase opened this issue 3 years ago • 13 comments

Chrome is failing to start on my system.

Ubuntu Server 20.04

Authenticated via Chromium on PopOS and scp'd the files over.

Error Log

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser.sh: executing... 

Initializing container

User uid: 1000
User gid: 1000

[cont-init.d] 10-adduser.sh: exited 0.
[cont-init.d] 20-cron.sh: executing... 

Not running in cron mode

[cont-init.d] 20-cron.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
crond[202]: crond (busybox 1.31.1) started, log level 6
[services.d] done.
INFO: Starting sync.sh PID 212 Mon Oct  4 21:31:53 UTC 2021
2021/10/04 21:31:53 Session Dir: /tmp/gphotos-cdp
2021/10/04 21:31:53 chrome failed to start:
Error relocating /usr/lib/libnspr4.so: gettid: symbol not found
[cmd] /app/sync.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

kylechase avatar Oct 04 '21 21:10 kylechase

I have the same issue using tag latest. I logged in using Chrome from the recommended docker image dorowu/ubuntu-desktop-lxde-vnc.

Could it be an issue with the Chrome version installed in the gphotos-sync docker? It uses the latest version from Alpine's edge repository instead of a specific version.

laurentlbm avatar Nov 06 '21 16:11 laurentlbm

I'm having the same issue; Running on a Linux (Ubuntu 20.04), tried tags: latest, trunk and 0.3.1

Was having issues authenticating with chromium, so I used google-chrome instead, hope that that didn't mess stuff up. Can anyone help?

[REDACTED]~$ sudo docker run -it --rm -v /home/REDACTED/HDD1/docker/gphoto-config/:/tmp/gphotos-cdp -v /home/REDACTED/HDD1/googlephotos_new jakewharton/gphotos-sync /app/sync.sh
[sudo] password for [REDACTED]: 
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser.sh: executing... 

Initializing container

User uid: 1001
User gid: 1001

[cont-init.d] 10-adduser.sh: exited 0.
[cont-init.d] 20-cron.sh: executing... 

Not running in cron mode

[cont-init.d] 20-cron.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
crond[209]: crond (busybox 1.31.1) started, log level 6
INFO: Starting sync.sh PID 207 Fri Dec  3 08:21:44 UTC 2021
2021/12/03 08:21:44 Session Dir: /tmp/gphotos-cdp
2021/12/03 08:21:45 chrome failed to start:
Error relocating /usr/lib/libnspr4.so: gettid: symbol not found
[cmd] /app/sync.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

Petterderhaag avatar Dec 03 '21 08:12 Petterderhaag

I was able to fix the exact issue by updating dependencies.

$ docker-compose exec <container-name> sh
# apk update && apk upgrade

The buckup script seem to work incorrectly though. It backed up only small amount of photo from some albums I have and then exited with an error saying:

2022/01/09 13:43:40 downloading in "/download" took too long to start

Not sure if this is caused by updated deps.

OEvgeny avatar Jan 09 '22 10:01 OEvgeny

This made it work in my end! Had to re-authenticate but it's now happily buzzing away downloading.

Petterderhaag avatar Jan 10 '22 15:01 Petterderhaag

Running apk update and upgrade doesn't seem to fix the issue anymore, there were several errors with the upgrade.

coolspot18 avatar Oct 05 '22 16:10 coolspot18

Same here.

Got his:

/ # apk update && apk upgrade
fetch http://nl.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/edge/community: UNTRUSTED signature
WARNING: Ignoring APKINDEX.49e1404d.tar.gz: No such file or directory
fetch http://nl.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/edge/main: UNTRUSTED signature
WARNING: Ignoring APKINDEX.1ebd6aac.tar.gz: No such file or directory
2 errors; 151 distinct packages available

Do you recommend an older image version?

alborworld avatar Oct 27 '22 06:10 alborworld

Same here.

Got his:

/ # apk update && apk upgrade
fetch http://nl.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/edge/community: UNTRUSTED signature
WARNING: Ignoring APKINDEX.49e1404d.tar.gz: No such file or directory
fetch http://nl.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/edge/main: UNTRUSTED signature
WARNING: Ignoring APKINDEX.1ebd6aac.tar.gz: No such file or directory
2 errors; 151 distinct packages available

Do you recommend an older image version?

As per the recommendation here, you can force the update and upgrade by adding the --allow-untrusted parameter to each command: apk update --allow-untrusted && apk upgrade --allow-untrusted

Astroamadeus avatar Nov 23 '22 13:11 Astroamadeus

Same here. Got his:

/ # apk update && apk upgrade
fetch http://nl.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/edge/community: UNTRUSTED signature
WARNING: Ignoring APKINDEX.49e1404d.tar.gz: No such file or directory
fetch http://nl.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
ERROR: http://nl.alpinelinux.org/alpine/edge/main: UNTRUSTED signature
WARNING: Ignoring APKINDEX.1ebd6aac.tar.gz: No such file or directory
2 errors; 151 distinct packages available

Do you recommend an older image version?

As per the recommendation here, you can force the update and upgrade by adding the --allow-untrusted parameter to each command: apk update --allow-untrusted && apk upgrade --allow-untrusted

I updated the image using the above command, now the error changed:

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 10-adduser.sh: executing... 
usermod: no changes

Initializing container

User uid: 1001
User gid: 1001

[cont-init.d] 10-adduser.sh: exited 0.
[cont-init.d] 20-cron.sh: executing... 

Not running in cron mode

[cont-init.d] 20-cron.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
INFO: Starting sync.sh PID 205 Sat Mar 18 18:18:44 UTC 2023
2023/03/18 18:18:44 Session Dir: /tmp/gphotos-cdp
2023/03/18 18:18:45 chrome failed to start:
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_color_has_paint: symbol not found
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_color_glyph_has_paint: symbol not found
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_layout_get_horizontal_baseline_tag_for_script: symbol not found
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_layout_get_baseline_with_fallback: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_input_set_flags: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_input_set: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_or_fail: symbol not found
[cmd] /app/sync.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

chromium-browser seems broken:

/ # chromium-browser --version
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_color_has_paint: symbol not found
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_color_glyph_has_paint: symbol not found
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_layout_get_horizontal_baseline_tag_for_script: symbol not found
Error relocating /usr/lib/libpango-1.0.so.0: hb_ot_layout_get_baseline_with_fallback: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_input_set_flags: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_input_set: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_or_fail: symbol not found

Same on a Fedora machine:

$ chromium-browser --version
Chromium 111.0.5563.64 Fedora Project

Marek77 avatar Mar 18 '23 18:03 Marek77

Updating the base image to tag 3.17-edge fixed it for me, the photos are syncing.

Marek77 avatar Mar 18 '23 20:03 Marek77

tag 3.17-edge didn't seem to exist, so I updated to trunk and that did it for me

dakahler avatar Aug 21 '23 21:08 dakahler

I updated to trunk and I updated the dependencies inside the container. I keep getting the same issue. Any idea what could be tried to fix it please?

[cont-init.d] 20-cron.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
crond[200]: crond (busybox 1.31.1) started, log level 6
[services.d] done.
INFO: Starting sync.sh PID 209 Tue Feb  6 20:28:01 UTC 2024
2024/02/06 20:28:01 Session Dir: /tmp/gphotos-cdp
2024/02/06 20:28:02 chrome failed to start:
Error relocating /usr/lib/libnspr4.so: gettid: symbol not found
[cmd] /app/sync.sh exited 1
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

renhardy avatar Feb 06 '24 20:02 renhardy

@renhardy try starting over with no containers and no images. Instead of upgrading stuff, try following the regular steps but with this instead without any other changes.

docker run -it --rm
    -v /path/to/config:/tmp/gphotos-cdp \
    -v /path/to/downloads:/download \
    jakewharton/gphotos-sync:trunk \
    /app/sync.sh

If that works, maybe leave a comment in my PR #59 saying that worked

Kainkun avatar Apr 27 '24 07:04 Kainkun

although I got my Google Takeout files and the images seem identical even in metadata. Maybe I'm missing something but I thought this process would get more data than Google Takeout

Kainkun avatar Apr 27 '24 07:04 Kainkun