View previous topic :: View next topic |
Author |
Message |
shoober420 Apprentice
Joined: 22 May 2017 Posts: 223
|
Posted: Wed Jun 09, 2021 8:57 pm Post subject: [solved]alsa-topology-conf-9999: Unable to open output file |
|
|
I'm finishing up the last of the 9999 packages, and am having alot of trouble with this one. This ebuild requires you to disable the sandbox, and usersandbox. I do that with these files (https://github.com/shoober420/rootscripts/blob/main/etc/portage/env/nosandbox.conf) (https://github.com/shoober420/rootscripts/blob/main/etc/portage/package.env). This gets the package to finish building, but I get these errors.
LOG:
Code: |
@gentoo:~$ doas emerge -av --autounmask "=media-libs/alsa-topology-conf-9999"
doas (lokiju420_-@gentoo) password:
* IMPORTANT: 9 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] media-libs/alsa-topology-conf-9999::localrepo 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No] yes
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) media-libs/alsa-topology-conf-9999::localrepo
>>> Unpacking source...
* Repository id: alsa-project_alsa-topology-conf.git
* To override fetched repository properties, use:
* EGIT_OVERRIDE_REPO_ALSA_PROJECT_ALSA_TOPOLOGY_CONF
* EGIT_OVERRIDE_BRANCH_ALSA_PROJECT_ALSA_TOPOLOGY_CONF
* EGIT_OVERRIDE_COMMIT_ALSA_PROJECT_ALSA_TOPOLOGY_CONF
* EGIT_OVERRIDE_COMMIT_DATE_ALSA_PROJECT_ALSA_TOPOLOGY_CONF
*
* Fetching https://github.com/alsa-project/alsa-topology-conf.git ...
git fetch https://github.com/alsa-project/alsa-topology-conf.git +HEAD:refs/git-r3/HEAD
git symbolic-ref refs/git-r3/media-libs/alsa-topology-conf/0/__main__ refs/git-r3/HEAD
* Checking out https://github.com/alsa-project/alsa-topology-conf.git to /var/tmp/portage/media-libs/alsa-topology-conf-9999/work/alsa-topology-conf-9999 ...
git checkout --quiet refs/git-r3/HEAD
GIT update -->
repository: https://github.com/alsa-project/alsa-topology-conf.git
at the commit: 159981067ea975bd50d1d829a2fba53eff371dde
>>> Source unpacked in /var/tmp/portage/media-libs/alsa-topology-conf-9999/work
>>> Preparing source in /var/tmp/portage/media-libs/alsa-topology-conf-9999/work/alsa-topology-conf-9999 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/media-libs/alsa-topology-conf-9999/work/alsa-topology-conf-9999 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/media-libs/alsa-topology-conf-9999/work/alsa-topology-conf-9999 ...
alsatplg -c topology/hda-dsp/skl_hda_dsp_generic-tplg.conf -o /lib/firmware/skl_hda_dsp_generic-tplg.bin
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:247:(tplg_build_routes) undefined source widget/stream 'hda-dsp-analog-playback'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:247:(tplg_build_routes) undefined source widget/stream 'hda-dsp-digital-playback'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:247:(tplg_build_routes) undefined source widget/stream 'hda-dsp-alt-analog-playback'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'hda-dsp-audio-analog-capture'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'hda-dsp-audio-digital-capture'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'hda-dsp-audio-alt-analog-capture'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:247:(tplg_build_routes) undefined source widget/stream 'HDMI1 Playback'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:247:(tplg_build_routes) undefined source widget/stream 'HDMI2 Playback'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:247:(tplg_build_routes) undefined source widget/stream 'HDMI3 Playback'
ALSA lib /var/tmp/portage/media-libs/alsa-lib-9999/work/alsa-lib-9999/src/topology/dapm.c:225:(tplg_build_routes) undefined sink widget/stream 'DMIC-Capture'
Unable to open output file '/lib/firmware/skl_hda_dsp_generic-tplg.bin.new': Unknown error -13
make: *** [Makefile:14: /lib/firmware/skl_hda_dsp_generic-tplg.bin] Error 1
>>> Source compiled.
>>> Test phase [not enabled]: media-libs/alsa-topology-conf-9999
>>> Install media-libs/alsa-topology-conf-9999 into /var/tmp/portage/media-libs/alsa-topology-conf-9999/image
>>> Completed installing media-libs/alsa-topology-conf-9999 into /var/tmp/portage/media-libs/alsa-topology-conf-9999/image
* Final size of build directory: 480 KiB
* Final size of installed tree: 344 KiB
>>> Installing (1 of 1) media-libs/alsa-topology-conf-9999::localrepo
* checking 4 files for package collisions
>>> Merging media-libs/alsa-topology-conf-9999 to /
--- /usr/
--- /usr/share/
--- /usr/share/alsa/
--- /usr/share/alsa/topology/
--- /usr/share/alsa/topology/sklrt286/
>>> /usr/share/alsa/topology/sklrt286/skl_i2s.conf
--- /usr/share/alsa/topology/hda-dsp/
>>> /usr/share/alsa/topology/hda-dsp/skl_hda_dsp_generic-tplg.conf
--- /usr/share/alsa/topology/bxtrt298/
>>> /usr/share/alsa/topology/bxtrt298/bxt_i2s.conf
--- /usr/share/alsa/topology/broadwell/
>>> /usr/share/alsa/topology/broadwell/broadwell.conf
>>> Safely unmerging already-installed instance...
No package files given... Grabbing a set.
--- replaced obj /usr/share/alsa/topology/sklrt286/skl_i2s.conf
--- replaced dir /usr/share/alsa/topology/sklrt286
--- replaced obj /usr/share/alsa/topology/hda-dsp/skl_hda_dsp_generic-tplg.conf
--- replaced dir /usr/share/alsa/topology/hda-dsp
--- replaced obj /usr/share/alsa/topology/bxtrt298/bxt_i2s.conf
--- replaced dir /usr/share/alsa/topology/bxtrt298
--- replaced obj /usr/share/alsa/topology/broadwell/broadwell.conf
--- replaced dir /usr/share/alsa/topology/broadwell
--- replaced dir /usr/share/alsa/topology
--- replaced dir /usr/share/alsa
--- replaced dir /usr/share
--- replaced dir /usr
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
>>> media-libs/alsa-topology-conf-9999 merged.
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
* IMPORTANT: 9 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.
@gentoo:~$
|
It appears portage cant access that file unless run as root. How can I get portage to allow access to "/lib/firmware/skl_hda_dsp_generic-tplg.bin.new"?
ebuild:
https://github.com/shoober420/shoober420-overlay/blob/main/media-libs/alsa-topology-conf/alsa-topology-conf-9999.ebuild
I also tried "fakeroot", which didnt work either.
Last edited by shoober420 on Fri Jun 11, 2021 9:32 pm; edited 1 time in total |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Wed Jun 09, 2021 9:25 pm Post subject: |
|
|
According to the log, that is opened as an output file, so it is correct that Portage cannot write to it from the src_compile phase. The file should be written somewhere under the build directory, and rely on the normal install process to make it live. |
|
Back to top |
|
|
shoober420 Apprentice
Joined: 22 May 2017 Posts: 223
|
Posted: Thu Jun 10, 2021 3:11 am Post subject: |
|
|
According to the github page, you have to run “make firmware” to get the topology files into lib/firmware (https://github.com/alsa-project/alsa-topology-conf). Adding this under src_install or src_configure will still fail when building. Where do I put this command so it can successfully compile? |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Thu Jun 10, 2021 5:53 pm Post subject: |
|
|
src_compile seems correct to me, but you need to make it write to the build staging area, not to the live filesystem. |
|
Back to top |
|
|
shoober420 Apprentice
Joined: 22 May 2017 Posts: 223
|
Posted: Fri Jun 11, 2021 3:15 am Post subject: |
|
|
i’ve hashed out src_compile and src_install sections, but something is calling the source to be compiled. I really don’t know what’s triggering it. How can this ebuild run make if src_compile and src_install are hashed out? |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21633
|
Posted: Fri Jun 11, 2021 4:39 pm Post subject: |
|
|
That sounds like standard ebuild behavior in the current EAPI. If you want a non-default src_compile, you need to define one. The default runs Make if that seems appropriate, because that default allows ebuilds to be very simple when upstream follows standard practice. |
|
Back to top |
|
|
shoober420 Apprentice
Joined: 22 May 2017 Posts: 223
|
Posted: Fri Jun 11, 2021 9:32 pm Post subject: |
|
|
Upon further inspecting the official latest ebuild, it doesn’t appear to install the firmware. It seems the firmware bit is optional, so i’ll just leave it as is. |
|
Back to top |
|
|
|