I'm trying run guix package install for following manifest:
(specifications->manifest
'("noguix-hugo" ;; A CUSTOM MODULE implemented in /module/root-1/site-lisp/nonguix-hugo.scm
"go"))
The custom module in the manifest is declared as follows:
(define-module (nonguix-hugo)
;; implementation detail
;; ....
)
And the installation command looks like:
guix package --load-path="/module/root1/site-lisp" \
--load-path="/module/root-2/site-lisp" \
--manifest="/path/to/manifest.scm" \
--profile="/path/to/profile"
The command fails with error message:
guix package: error: noguix-hugo: unknown package
However, building the noguix-hugo using guix build command works just fine
guix build --load-path="/module/root1/site-lisp" \
--load-path="/module/root-2/site-lisp" \
nonguix-package
# The command builds and outputs the module location as expected
# /gnu/store/7js349wb17371225njzll9gma8kmwf-nonguix-hugo-1.0
My question:
Why does Guix succeed to locate the module when building it,
but can't seem to locate it when specified in a manifest file.
I even tried adding a (use-modules (nonguix-hugo)) to the manifest and setting GUIX_PACKAGE_PATH as specified in[1], yet the install still fails.
References
[1] https://guix.gnu.org/manual/en/html_node/Package-Modules.html
Okay, turns out this was a typo in the manifest:
(specifications->manifest
'("noguix-hugo"
"go"))
which should be corrected to:
(specifications->manifest
'("nonguix-hugo" ;; <= this line
"go"))
Sheesh!....
Related
Here's what I'm doing:
I have a blog that uses blogdown to render .Rmd files.
Some of the code snippets in the blog are in Python. I'm using reticulate for that.
I'm using a GitHub workflow to build and publish the blog as part of a larger website. This workflow sets up the environment and package dependencies in miniconda.
The last time this ran was six months ago. At that time, it worked. Now, it does not. I can't seem to replicate the behavior locally for more detailed debugging.
It seems to be trying to put a mamba command into normalizePath instead of a filesystem path (www-main is the name of the repository):
conda activate www-main
Rscript -e 'blogdown::build_site(local=FALSE, run_hugo=FALSE, build_rmd="content/blog/2020-08-28-api.Rmd")'
shell: /usr/bin/bash -l {0}
env:
CONDA_PKGS_DIR: /home/runner/conda_pkgs_dir
Rendering content/blog/2020-08-28-api.Rmd...
[...]
Quitting from lines 401-410 (2020-08-28-api.Rmd)
Error in normalizePath(conda, winslash = "/", mustWork = TRUE) :
path[1]="# cmd: /usr/share/miniconda/condabin/mamba update --name www-main --file /home/runner/work/www-main/www-main/conda": No such file or directory
Calls: local ... python_munge_path -> get_python_conda_info -> normalizePath
Execution halted
Error: Failed to render content/blog/2020-08-28-api.Rmd
Execution halted
Lines 401-410 of 2020-08-28-api.Rmd are a Python code block:
400 ```{python python-data, dev='svg'}
401 import covidcast
402 from datetime import date
403 import matplotlib.pyplot as plt
404
405 data = covidcast.signal("fb-survey", "smoothed_hh_cmnty_cli",
406 date(2020, 9, 8), date(2020, 9, 8),
407 geo_type="state")
408 covidcast.plot_choropleth(data, figsize=(7, 5))
409 plt.title("% who know someone who is sick, Sept 8, 2020")
410 ```
The useful bits of the output of conda info, in case it helps:
active environment : www-main
active env location : /usr/share/miniconda/envs/www-main
shell level : 1
user config file : /home/runner/.condarc
populated config files : /home/runner/.condarc
conda version : 4.12.0
conda-build version : not installed
python version : 3.9.12.final.0
virtual packages : __linux=5.15.0=0
__glibc=2.31=0
__unix=0=0
__archspec=1=x86_64
base environment : /usr/share/miniconda (writable)
conda av data dir : /usr/share/miniconda/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/runner/conda_pkgs_dir
envs directories : /usr/share/miniconda/envs
/home/runner/.conda/envs
platform : linux-64
user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.15.0-1020-azure ubuntu/20.04.5 glibc/2.31
UID:GID : 1001:121
netrc file : None
offline mode : False
I found this, but their workaround doesn't make sense for me since I'm not using papermill: https://github.com/rstudio/reticulate/issues/1184
I found this, but my paths don't have spaces: https://github.com/rstudio/reticulate/issues/1149
I found this, but their problem includes an entirely reasonable value for path[1], unlike mine: How can I tell R where the conda environment is via a docker image?
The build environment for this is a bit of a bear but I can probably put together a minimum working (/nonworking) example if needed, lmk
I tracked this down to at least two bits of weird/buggy behavior in reticulate and found a workaround: switch from vanilla miniconda to Mambaforge.
The TL;DR seems to be that whatever wacky ubuntu-latest setup-miniconda#v2 environment started putting into meta/history doesn't include a create line, which is what reticulate needs in order to figure out which conda goes with which python, because (1) it ignores the reticulate.conda_binary setting for some reason, and (2) it uses a more restrictive regex to parse the lines of the history file than the regex it uses to select them. Mambaforge does include the create line, so reticulate is happy.
- uses: conda-incubator/setup-miniconda#v2
with:
python-version: 3.9
activate-environment: www-main
miniforge-variant: Mambaforge
miniforge-version: latest
use-mamba: true
use-only-tar-bz2: true # (for caching support)
- name: Update environment
run: mamba env update -n www-main -f environment.yml
I'm trying to create a Hello World in Lua using LuaJit for nginx. When I run a script:
luajit my_test.lua
I get this:
luajit: my_test.lua: attempt to index global 'ngx' (a nil value)
Do I have to install a library? I've already tried "luarocks install " with "ngx", "nginx", "ngx_lua" and some others -- they weren't found.
Error: No results matching query were found.
Why isn't it getting found? Should I install a module at all?
ngx is not a part of Lua, so it cannot be found. It also isn't possible to just install it as a library.
The only place where ngx can be used is inside openresty.
UPDATE : It started to bitbake!!
I now get the following error, and it stops to bitbake core-image-minimal in the middle:
Initialising tasks: 100% |##################################################################################################################| Time: 0:00:04
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: systemd-1_232-r0 do_patch: Command Error: 'quilt --quiltrc /home/rama/repositories/poky/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/systemd/1_232-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output:
Applying patch 0001-systemd-udevd.service.in-set-MountFlags-shared.patch
patching file units/systemd-udevd.service.in
Hunk #1 FAILED at 21.
1 out of 1 hunk FAILED -- rejects in file units/systemd-udevd.service.in
Patch 0001-systemd-udevd.service.in-set-MountFlags-shared.patch does not apply (enforce with -f)
ERROR: systemd-1_232-r0 do_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /home/rama/repositories/poky/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/systemd/1_232-r0/temp/log.do_patch.1928
ERROR: Task (/home/rama/repositories/poky/meta/recipes-core/systemd/systemd_232.bb:do_patch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1156 tasks of which 1105 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/rama/repositories/poky/meta/recipes-core/systemd/systemd_232.bb:do_patch
Summary: There were 2 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
This is the build configuration output of bitbake I finally get:
Build Configuration:
BB_VERSION = "1.34.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal-4.8"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "apalis-imx6"
DISTRO = "poky"
DISTRO_VERSION = "2.3.2"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU = "hard"
meta
meta-poky
meta-yocto-bsp
meta-toradex = "pyro:a75a2f4272226e924d8c9deb699a19ca9e606a5b"
meta-mender-core = "pyro:302111e4a79e4844cad536fcc9475764eb254611"
meta-freescale = "pyro:06178400afbd641a6709473fd21d893dcd3cfbfa"
meta-freescale-3rdparty = "pyro:9613dbc02ca970122a01c935bc9e5789ced73a9d"
EDIT : as suggested by #Anders I replaced meta-fsl-arm and meta-fsl-arm-extra which were on pyro branch (I checked) with meta-freescale-3rdparty. I now get the following error:
ERROR: Layer 'fsl-arm-extra' depends on layer 'freescale-layer', but this layer is not enabled in your configuration
ERROR: Layer 'fsl-arm-extra' depends on layer 'freescale-layer', but this layer is not enabled in your configuration
EDIT: It said the file is missing so I supplied it the following file from here http://cgit.openembedded.org/openembedded-core/tree/meta/classes/image_types_uboot.bbclass?h=daisy
created a file and now I get the following error:
ERROR: /home/rama/repositories/poky/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb: No IMAGE_CMD defined for IMAGE_FSTYPES entry 'sdimg' - possibly invalid type name or missing support class
ERROR: Failed to parse recipe: /home/rama/repositories/poky/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb
I tried bitbaking a file, when I did I get the following error:
ERROR: ParseError at /home/rama/repositories/poky/meta/classes/image.bbclass:185: Could not inherit file classes/image_types_uboot.bbclass
I have the following meta-layers, all on the pyro branch, I tried playing around with the branches I still get the same error somehow :
meta
meta-mender-core
meta-toradex
meta-fsl-arm
meta-fsl-arm-extra
meta-qt5
If I add the meta-angstrom to the above I get the following error:
ERROR: ExpansionError during parsing /home/rama/repositories/poky/meta-angstrom/recipes-angstrom/angstrom/angstrom-version.bb
Traceback (most recent call last):
bb.data_smart.ExpansionError: Failure expanding variable do_install, expression was install -d /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc
echo "Angstrom 2.3.2 (Core edition)" > /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/angstrom-version
echo "Built from branch: pyro" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/angstrom-version
echo "Revision: a75a2f4272226e924d8c9deb699a19ca9e606a5b" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/angstrom-version
echo "Target system: arm-poky-linux-gnueabi" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/angstrom-version
echo "${#get_layers(bb, d)}" > /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/angstrom-build-info
echo "VERSION=\"2.3.2\"" > /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
echo "VERSION_ID=\"2.3.2\"" > /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
echo "NAME=\"Angstrom\"" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
echo "ID=\"angstrom\"" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
echo "PRETTY_NAME=\"The Ångström Distribution 2.3.2\"" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
echo "ANSI_COLOR=\"1;35\"" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
echo "HOME_URL=\"http://www.angstrom-distribution.org\"" >> /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/etc/os-release
install -d /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/usr/bin
install -m 0755 /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/lsb_release /home/rama/repositories/poky/build/tmp/work/apalis_imx6-poky-linux-gnueabi/angstrom-version/2_2.3.2-r12/image/usr/bin/
which triggered exception AttributeError: 'module' object has no attribute 'getVar'
I need to bitbake file and install it on my apalis imx6, do I need this meta-angstrom layer?
If I change the machine to qemux64 and I remove the toradex,fsl,angstrom layers, it starts to bitabke just fine! So its definitely a problem with those layers.
Any help is appreciated!
I am executing this on Ubuntu 14.04
EDIT: Switching to master branch on meta-angstrom I was able to solve the second, error however I still get the first error. Hope this helps somebody else.
EDIT: It seems the problem has recurred, no idea why still investigating
EDIT: When I bit bake I get stuff this like :
Loading cache: 100% |############################################################################################################################################| Time: 0:00:00
Loaded 158 entries from dependency cache.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead. | ETA: 0:00:16
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qtdeclarative_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
No info on the layers.
My layers are all upto date, and I have switched them to master.
How else can I get layer info?
EDIT:
This is what I get from bitbake, no other information whatsoever
bitbake core-image-minimal
WARNING: Host distribution "ubuntu-14.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead. | ETA: 0:00:16
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qtwebkit-examples_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead. | ETA: 0:00:17
NOTE: /home/rama/repositories/poky/meta-qt5/recipes-qt/qt5/qttools_git.bb: base_contains is deprecated, please use bb.utils.contains instead.
EDIT : local.conf
MACHINE ?= "apalis-imx6"
MENDER_FEATURES_ENABLE_append = " mender-uboot"
DISTRO ?= "poky"
PACKAGE_CLASSES ?= "package_rpm"
#SDKMACHINE ?= "i686"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
MENDER_ARTIFACT_NAME = "demo-mender-artifact"
INHERIT += "mender-full"
INHERIT += "rm_work"
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
IMAGE_FSTYPES = "ext4"
bblayers.conf:
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/rama/repositories/poky/meta \
/home/rama/repositories/poky/meta-poky \
/home/rama/repositories/poky/meta-yocto-bsp \
/home/rama/repositories/meta-mender/meta-mender-core \
/home/rama/repositories/poky/meta-toradex \
/home/rama/repositories/poky/meta-fsl-arm \
/home/rama/repositories/poky/meta-fsl-arm-extra \
/home/rama/repositories/poky/meta-qt5 \
"
I remove meta-angstrom from the layers, it seems to give me some other errors as well.
Am I missing some layers?
I tried adding the meta-openembedded layers like meta-oe and so on, I got some errors like :
ERROR: ParseError at /home/rama/repositories/poky/meta-openembedded/meta-oe/recipes-support/maliit/maliit-plugins_git.bb:7: Could not inherit file classes/qt4x11.bbclass
so I removed it as well.
Your error:
ERROR: /home/rama/repositories/poky/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb: No IMAGE_CMD defined for IMAGE_FSTYPES entry 'sdimg' - possibly invalid type name or missing support class
ERROR: Failed to parse recipe: /home/rama/repositories/poky/meta-fsl-arm/recipes-fsl/images/fsl-image-mfgtool-initramfs.bb
suggests that one of your layers aren't updated to pyro. Looking further at your issue, meta-fsl-arm is severely outdated! (No pyro branch etc). This layer has been replaces by meta-freescale.
You probably will have to take a closer look at eg meta-fsl-arm-extra too, to see if it's currently maintained and updated or not.
This is the reason I asked you about the exact branches and versions of each layer. There is no pyro branch for meta-fsl-arm!
I created new question, because I felt the previous one had been answered and this belongs in a new place.
I run bitbake core-image-minimal and I get the following error:
ERROR: systemd-1_232-r0 do_patch: Command Error: 'quilt --quiltrc /home/rama/repositories/poky/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/systemd/1_232-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output:
Applying patch 0001-systemd-udevd.service.in-set-MountFlags-shared.patch
patching file units/systemd-udevd.service.in
Hunk #1 FAILED at 21.
1 out of 1 hunk FAILED -- rejects in file units/systemd-udevd.service.in
Patch 0001-systemd-udevd.service.in-set-MountFlags-shared.patch does not apply (enforce with -f)
ERROR: systemd-1_232-r0 do_patch: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /home/rama/repositories/poky/build/tmp/work/cortexa9hf-neon-poky-linux-gnueabi/systemd/1_232-r0/temp/log.do_patch.5314
ERROR: Task (/home/rama/repositories/poky/meta/recipes-core/systemd/systemd_232.bb:do_patch) failed with exit code '1'
I located the place where the patch is written in file meta-toradex/recipes-core/systemd/systemd_%.bbappend :
FILESEXTRAPATHS_prepend := "${THISDIR}/systemd:"
SRC_URI += " \
file://rndis.network \
file://0001-systemd-udevd.service.in-set-MountFlags-shared.patch \
"
PACKAGECONFIG_append = " networkd"
do_install_append() {
# The network files need to be in /usr/lib/systemd, not ${systemd_unitdir}...
install -d ${D}${prefix}/lib/systemd/network/
install -m 0644 ${WORKDIR}/rndis.network ${D}${prefix}/lib/systemd/network/
}
FILES_${PN} += " \
${nonarch_base_libdir}/systemd/network \
I was told that I can :
Remove the patch.
Apply it manually.
To remove the path, Should I just remove it from SRC_URI list?
How does one apply patch manually? I tried to google this, I did not quite get how this can be done.
Any help is appreciated, Thank you.
When looking at repo manifest, meta-toradex is not used, and in meta-toradex, it says oe-core BSP layer (obsolete). I think you're not using the right environment.
Nevertheless, if you want to check patch problem, you can use devshell with bitbake -c devshell systemd, then type quilt push in new console. You then need to analyze with patch fails to apply by looking at patch file and corresponding source code.
You should not modify existing layer, and create your own layer overriding recipes, but if you want to, you can indeed remove patch to SRC_URI, then use bitbake -c clean systemd; bitbake systemd and it should be OK.
In Toradex developer knowledge-base, if you are making a new environment, i think you need to look at V2.1 and Later Images section.
I think I have managed to mess my zsh shell. I am getting the following message when I use the up or down arrow keys:
"_history-substring-search-end:13: _zsh_highlight: function definition file not found"
Just to give you some background:
I installed antigen using
curl https://cdn.rawgit.com/zsh-users/antigen/v1.4.0/bin/antigen.zsh > antigen.zsh
source antigen.zs
This worked fine.
Someone mentioned to install it via brew, so I installed it via brew. This is when antigen stopped working and the highlighter.
I tried installing antigen again via
curl https://cdn.rawgit.com/zsh-users/antigen/v1.4.0/bin/antigen.zsh > antigen.zsh
source antigen.zs
Antigen works while I am in the shell, but the highlighter is not working.
But when I re-launch a new shell and type the antigen command, I receive the following message:
"zsh: command not found: anitgen"
And also the following message when I use the up and down arrow keys:
"_history-substring-search-end:13: _zsh_highlight: function definition file not found"
How can I fix this?