New issue
Advanced search Search tips

Issue 819445 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

chromite: deploy_chrome broken (at least for kevin-release) due to lib errors

Project Member Reported by bpastene@chromium.org, Mar 7 2018

Issue description

Running deploy_chrome to a local kevin device fails with the error:
/usr/local/bin/rsync: error while loading shared libraries: libpopt.so.0: cannot open shared object file: No such file or directory

I think that's because LD_LIBRARY_PATH isn't set for the ssh commands in deploy_chrome. See:

$ ssh root@$CROS_DEVICE env
SHELL=/bin/bash
SSH_CLIENT=127.0.0.1 43278 2222
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=127.0.0.1 43278 127.0.0.1 2222
_=/usr/bin/env

But when I ssh directly in and run rsync, it works cause it knows where to find the libs:
$ echo $LD_LIBRARY_PATH                                                                                                                                                  
/usr/local/lib

But maybe I'm holding it wrong?
 
Worked around by appending "LD_LIBRARY_PATH=/usr/local/lib" to /etc/environment
Is the failure happening on the kevin? Do you have a test image installed on the kevin?
I think so? This happened on one of the kevin devices we have in the lab. Not sure how they've been provisioned. Here's the contents of lsb-release:
CHROMEOS_ARC_ANDROID_SDK_VERSION=25
CHROMEOS_ARC_VERSION=4366792
CHROMEOS_AUSERVER=https://tools.google.com/service/update2
CHROMEOS_BOARD_APPID={92A7272A-834A-47A3-9112-E8FD55831660}
CHROMEOS_CANARY_APPID={90F229CE-83E2-4FAF-8479-E368A34938B1}
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_APPID={92A7272A-834A-47A3-9112-E8FD55831660}
CHROMEOS_RELEASE_BOARD=kevin-signed-mpkeys
CHROMEOS_RELEASE_BRANCH_NUMBER=32
CHROMEOS_RELEASE_BUILDER_PATH=kevin-release/R62-9901.32.0
CHROMEOS_RELEASE_BUILD_NUMBER=9901
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_CHROME_MILESTONE=62
CHROMEOS_RELEASE_DESCRIPTION=9901.32.0 (Official Build) dev-channel kevin 
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=dev-channel
CHROMEOS_RELEASE_VERSION=9901.32.0
DEVICETYPE=CHROMEBOOK
GOOGLE_RELEASE=9901.32.0

If that's expected, feel free to wontfix. The work-around in #1 works well enough.
The environment printed by

ssh root@$CROS_DEVICE env

is different from when you ssh in interactively and then run env?
That's correct. Here's the env for an interactive shell:

MANPATH=/usr/local/share/man:/usr/share/man
TERM=xterm-256color
SHELL=/bin/bash
SSH_CLIENT=127.0.0.1 39420 2222
SSH_TTY=/dev/pts/0
PORTAGE_CONFIGROOT=/usr/local
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.cfg=00;32:*.conf=00;32:*.diff=00;32:*.doc=00;32:*.ini=00;32:*.log=00;32:*.patch=00;32:*.pdf=00;32:*.ps=00;32:*.tex=00;32:*.txt=00;32:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
LD_LIBRARY_PATH=/usr/local/lib
PAGER=/usr/bin/less
CONFIG_PROTECT_MASK=/etc/gentoo-release /etc/fonts/fonts.conf /etc/terminfo
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin
PWD=/root
EDITOR=/bin/nano
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=127.0.0.1 39420 127.0.0.1 2222
INFOPATH=/usr/share/info
XAUTHORITY=/home/chronos/.Xauthority
_=/usr/bin/env


And here's the env from just running 'ssh root@$CROS_DEVICE env':

SHELL=/bin/bash
SSH_CLIENT=127.0.0.1 39422 2222
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/bin:/bin:/usr/sbin:/sbin
PWD=/root
SHLVL=1
HOME=/root
LOGNAME=root
SSH_CONNECTION=127.0.0.1 39422 127.0.0.1 2222
_=/usr/bin/env
Components: -Infra>Client>ChromeOS Infra>Client>ChromeOS>Build
Can confirm this behavior.  I don't know who owns this tool, but I think this falls under the build tools category.

I'm pretty sure the problem is that LD_LIBRARY_PATH is set by the shell profile for login sessions only, try running

  ssh root@chromeos6-row4-rack16-host20 bash -l -c env

since /etc/profile is loaded by the shell, you don't even get that.
Status: Available (was: Untriaged)

Sign in to add a comment