chromebrew / chromebrew

Package manager for Chrome OS
https://chromebrew.github.io
GNU General Public License v3.0
2.3k stars 377 forks source link

ALSA: Cannot open shared library libasound_module_ctl_cras.so #4214

Closed Mia-Rain closed 3 years ago

Mia-Rain commented 4 years ago

Description

I've installed alsa_plugins, alsa_utils, alsa_libs and pulseaudio And I'm trying to use alsamixer.

alsamixer

or

/usr/local/bin/alsamixer

Output:

ALSA lib dlmisc.c:340:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_ctl_cras.so (libasound_module_ctl_cras.so: libasound_module_ctl_cras.so: cannot open shared object file: No such file or directory)
cannot open mixer: No such device or address
ls /usr/local/lib/alsa-lib/libasound_module_ctl_cras.so
ls: cannot access '/usr/local/lib/alsa-lib/libasound_module_ctl_cras.so': No such file or directory

(The lib does infact not exist)

Expected: (Opens ncurses mixer)

Versions and system information

chromebrew: 1.4.2

ChromeOS: 77

Model: Acer Chromebook 13 Architecture: armv7l

Addtional information

alsamixer works fine like so, is a library missing?

export LD_LIBARY_PATH=""; alsamixer

uberhacker commented 4 years ago

@ThatGeekyWeeb: It appears your Chromebook has reached EoL support. Can you please post the output of cat /etc/lsb-release?

Mia-Rain commented 4 years ago

It indeed has, I just figured since it operates fine when using the system provided libs that this was a issue with the package.

CHROMEOS_AUSERVER=https://tools.google.com/service/update2
CHROMEOS_BOARD_APPID={2FC0F0CF-1A55-DF3F-73E6-517389444085}
CHROMEOS_CANARY_APPID={90F229CE-83E2-4FAF-8479-E368A34938B1}
CHROMEOS_DEVSERVER=
CHROMEOS_RELEASE_APPID={2FC0F0CF-1A55-DF3F-73E6-517389444085}
CHROMEOS_RELEASE_BOARD=nyan_big-signed-mp-v2keys
CHROMEOS_RELEASE_BRANCH_NUMBER=89
CHROMEOS_RELEASE_BUILDER_PATH=nyan_big-release/R77-12371.89.0
CHROMEOS_RELEASE_BUILD_NUMBER=12371
CHROMEOS_RELEASE_BUILD_TYPE=Official Build
CHROMEOS_RELEASE_CHROME_MILESTONE=77
CHROMEOS_RELEASE_DESCRIPTION=12371.89.0 (Official Build) stable-channel nyan_big 
CHROMEOS_RELEASE_KEYSET=mp-v2
CHROMEOS_RELEASE_NAME=Chrome OS
CHROMEOS_RELEASE_PATCH_NUMBER=0
CHROMEOS_RELEASE_TRACK=stable-channel
CHROMEOS_RELEASE_VERSION=12371.89.0
DEVICETYPE=CHROMEBOOK
GOOGLE_RELEASE=12371.89.0

~ My Chromebooke is from 2013, and If I still received updates I would probably use the "Linux (Beta)" service provided by Google, crew is the only means to provide my Chromebook with software updates which it needs as all the preinstalled packages are from 2013.

vincowl commented 4 years ago

No better luck here with an asus C302CA. Same error. Also tried to update alsa_*. Tried to install cras which leads to a segfault error while running alsamixer

Mia-Rain commented 4 years ago

Something somewhere provides this library, I'll start looking!

Mia-Rain commented 4 years ago

Installing the cras package fixed it for me. Seems ChromeOS provides the cras libs, and arm devices need to have them provided.

Mia-Rain commented 4 years ago

A even simpler fix is to use both the system and crew libs at the same time

export LD_LIBRARY_PATH=/usr/lib/:/usr/local/lib/ /usr/bin/alsamixer - Works after such

Mia-Rain commented 4 years ago

/usr/local/bin/alsamixer - as well

Mia-Rain commented 4 years ago

Setting LD_LIBARY_PATH like such seems to fix alot of library-based errors I was previously having

vincowl commented 4 years ago

@ThatGeekyWeeb Great that it solved your issue. Had to install cras on my x86_64 and set export LD_LIBRARY_PATH=/usr/local/lib64:/usr/lib/:/usr/lib64/:/usr/local/lib/ Could you please test if this works when PRs #4221 and #4222 will have been merged before closing this issue ?

Mia-Rain commented 4 years ago

There are issues fixed, and caused by setting LD_LIBRARY_PATH to use the additional dirs, I'll test the merged packages now!

Mia-Rain commented 4 years ago

if LD_LIBRARY_PATH=/usr/lib/:/usr/local/lib/ the compile fails. Still testing

Mia-Rain commented 4 years ago

Compile fails even after resetting

libtool: error: Failed to create 'server/.libs'

Compile of cras that is

vincowl commented 4 years ago

@uberhacker, @cstrouse Can you reproduce this on a chromeOS 84 on a armv7l architecture ? I can't test this on my machine and I am eager to know if this relates to chromeOS version or to architecture. Previous cras version was outdated and maybe still compliant with ChromeOS 77 used by @ThatGeekyWeeb

uberhacker commented 3 years ago

I installed cras recently and it works fine on armv7l. I imagine @ThatGeekyWeeb will need to continue to use the older version that is compatible for her outdated release.

Mia-Rain commented 3 years ago

No need for this to stay open if the issue is centralized to my EoL device.