Background
I am following this guide to build the projects in the corresponding repo. I successfully compiled, ran and verified project 03.
Problem
However, following the instructions to build project 05 produces "error[E0463]: can't find crate for core":
$ cargo build --features v2 --target thumbv7em-none-eabihf
info: syncing channel updates for 'nightly-2021-08-18-aarch64-apple-darwin'
info: latest update on 2021-08-18, rust version 1.56.0-nightly (30a0a9b69 2021-08-17)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-src'
info: downloading component 'rust-std'
info: downloading component 'rust-std' for 'riscv32imac-unknown-none-elf'
info: downloading component 'rust-std' for 'riscv32imc-unknown-none-elf'
info: downloading component 'rust-std' for 'thumbv6m-none-eabi'
info: downloading component 'rust-std' for 'thumbv7em-none-eabi'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-src'
info: installing component 'rust-std'
info: installing component 'rust-std' for 'riscv32imac-unknown-none-elf'
info: installing component 'rust-std' for 'riscv32imc-unknown-none-elf'
info: installing component 'rust-std' for 'thumbv6m-none-eabi'
info: installing component 'rust-std' for 'thumbv7em-none-eabi'
info: installing component 'rustc'
info: installing component 'rustfmt'
info: syncing channel updates for 'stable-aarch64-apple-darwin'
info: latest update on 2022-01-20, rust version 1.58.1 (db9d1b20b 2022-01-20)
info: downloading component 'rust-src'
info: installing component 'rust-src'
Compiling critical-section v0.2.5
error[E0463]: can't find crate for `core`
|
= note: the `thumbv7em-none-eabihf` target may not be installed
= help: consider downloading the target with `rustup target add thumbv7em-none-eabihf`
= help: consider building the standard library from source with `cargo build -Zbuild-std`
For more information about this error, try `rustc --explain E0463`.
error: could not compile `critical-section` due to previous error
This seems like an unexpected error, since it suggests that I'm missing the thumbv7em-none-eabihf target toolchain, and yet project 03 would not have compiled correctly without this toolchain installed.
Question
Can I fix something about my system to correctly build project 05? Or is there a bug in the project?
Related system data:
If anyone would like more information, please lmk in the comments and I can update this section with more outputs from my machine.
$ rustup component list --installed
cargo-aarch64-apple-darwin
clippy-aarch64-apple-darwin
rust-src
rust-std-aarch64-apple-darwin
rust-std-thumbv7em-none-eabihf
rustc-aarch64-apple-darwin
rustfmt-aarch64-apple-darwin
$ rustup show
Default host: aarch64-apple-darwin
rustup home: /Users/___/.rustup
installed toolchains
--------------------
stable-aarch64-apple-darwin (default)
nightly-2021-08-18-aarch64-apple-darwin
installed targets for active toolchain
--------------------------------------
aarch64-apple-darwin
thumbv7em-none-eabihf
active toolchain
----------------
stable-aarch64-apple-darwin (default)
rustc 1.58.1 (db9d1b20b 2022-01-20)
Turns out my rust toolchain was broken; I originally installed everything with nix, but replacing some of the nix installs with rustup installs (i.e., cargo) fixed the issues.
Related
I am trying to set up VirtualBox on Ubuntu 18.04 but when I try to run it says:
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (4.15.0-29-generic) or it failed to
load. Please recompile the kernel module and install it by
sudo /sbin/vboxconfig
You will not be able to start VMs until this problem is fixed.
So I ran sudo /sbin/vboxconfig, for which I got the following error:
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
linux-headers-generic linux-headers-4.15.0-29-generic
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
linux-headers-generic linux-headers-4.15.0-29-generic
There were problems setting up VirtualBox. To re-start the set-up process, run
/sbin/vboxconfig
as root. If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
them. Please see your Linux system's documentation for more information.
I tried to run sudo apt install linux-headers-generic linux-headers-4.15.0-29-generic but got the following error:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package linux-headers-4.15.0-29-generic is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'linux-headers-4.15.0-29-generic' has no installation candidate
Update:
This is the output of running sudo apt install virtualbox-dkms dkms
Reading package lists... Done
Building dependency tree
Reading state information... Done
dkms is already the newest version (2.3-3ubuntu9).
dkms set to manually installed.
The following packages were automatically installed and are no longer required:
kbuild libsdl-ttf2.0-0 module-assistant
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
virtualbox virtualbox-qt
Suggested packages:
vde2 virtualbox-guest-additions-iso
The following packages will be REMOVED:
virtualbox-5.1
The following NEW packages will be installed:
virtualbox virtualbox-dkms virtualbox-qt
0 upgraded, 3 newly installed, 1 to remove and 3 not upgraded.
Need to get 0 B/26.3 MB of archives.
After this operation, 51.0 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 429944 files and directories currently installed.)
Removing virtualbox-5.1 (5.1.38-122592~Ubuntu~bionic) ...
Selecting previously unselected package virtualbox-dkms.
(Reading database ... 429153 files and directories currently installed.)
Preparing to unpack .../virtualbox-dkms_5.2.10-dfsg-6_all.deb ...
Unpacking virtualbox-dkms (5.2.10-dfsg-6) ...
Selecting previously unselected package virtualbox.
Preparing to unpack .../virtualbox_5.2.10-dfsg-6_amd64.deb ...
Unpacking virtualbox (5.2.10-dfsg-6) ...
Selecting previously unselected package virtualbox-qt.
Preparing to unpack .../virtualbox-qt_5.2.10-dfsg-6_amd64.deb ...
Unpacking virtualbox-qt (5.2.10-dfsg-6) ...
Processing triggers for mime-support (3.60ubuntu1) ...
Processing triggers for ureadahead (0.100.0-20) ...
Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.1) ...
Setting up virtualbox-dkms (5.2.10-dfsg-6) ...
Loading new virtualbox-5.2.10 DKMS files...
Building for 4.15.0-29-generic
Module build for kernel 4.15.0-29-generic was skipped since the
kernel headers for this kernel does not seem to be installed.
Setting up virtualbox (5.2.10-dfsg-6) ...
vboxweb.service is a disabled or a static unit, not starting it.
Job for virtualbox.service failed because the control process exited with error code.
See "systemctl status virtualbox.service" and "journalctl -xe" for details.
invoke-rc.d: initscript virtualbox, action "restart" failed.
● virtualbox.service - LSB: VirtualBox Linux kernel module
Loaded: loaded (/etc/init.d/virtualbox; generated)
Active: failed (Result: exit-code) since Sun 2021-01-24 13:24:20 IST; 10ms ago
Docs: man:systemd-sysv-generator(8)
Process: 17173 ExecStart=/etc/init.d/virtualbox start (code=exited, status=1/FAILURE)
Jan 24 13:24:19 Tux systemd[1]: Starting LSB: VirtualBox Linux kernel module...
Jan 24 13:24:19 Tux virtualbox[17173]: * Loading VirtualBox kernel modules...
Jan 24 13:24:20 Tux virtualbox[17173]: * No suitable module for running kernel found
Jan 24 13:24:20 Tux virtualbox[17173]: ...fail!
Jan 24 13:24:20 Tux systemd[1]: virtualbox.service: Control process exited, code=exited status=1
Jan 24 13:24:20 Tux systemd[1]: virtualbox.service: Failed with result 'exit-code'.
Jan 24 13:24:20 Tux systemd[1]: Failed to start LSB: VirtualBox Linux kernel module.
Processing triggers for bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for systemd (237-3ubuntu10) ...
Processing triggers for man-db (2.8.3-2) ...
Processing triggers for shared-mime-info (1.9-2) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Setting up virtualbox-qt (5.2.10-dfsg-6) ...
Processing triggers for ureadahead (0.100.0-20) ...
I have turned secure boot off and turned on virtualisation in bios. I have also tried to install .deb package from virutalbox wesite but still getting this erro. A clean install of 20.04 is the only thing I have not done yet.
The issue was resolved after I installed Ubuntu 20.04.
While I was installing Euterpea today, I found HCodecs-0.5.1 (a dependency for Euterpea) was tend to always to beult-fail
So I go to Hackage.Haskell.org, checked that HCodecs offers a latest version: HCodecs-0.5.2, and I installed it successfully by cabal v1-install (strictly followed the instruction from Euterpea.com & Haskell.org)
However, after I installed the HCodecs-0.5.2, the install of Euterpea still failed in installing the HCodecs-0.5.1; Which id quite weird for the dependency check did not skip the older version package for a later one available locally;
Here is the log of 2 installation, hoping anyone could give me a help on either bypass the version check, or solve the HCodecs-0.5.1's build fail:
=================Install of HCodecs-0.5.2==========================
PS C:\WINDOWS\system32> cabal v1-install HCodecs-0.5.2
Resolving dependencies...
Downloading fail-4.9.0.0
Downloaded fail-4.9.0.0
Starting fail-4.9.0.0
Building fail-4.9.0.0
Completed fail-4.9.0.0
Downloading HCodecs-0.5.2
Downloaded HCodecs-0.5.2
Starting HCodecs-0.5.2
Building HCodecs-0.5.2
Completed HCodecs-0.5.2
===continue install Euterpea, HCodecs-0.5.1 did not skip and fail again ====
PS C:\WINDOWS\system32> cabal v1-install Euterpea
Resolving dependencies...
Starting HCodecs-0.5.1
Building HCodecs-0.5.1
Failed to install HCodecs-0.5.1
Build log ( C:\Users\12798\AppData\Roaming\cabal\logs\ghc-8.10.2\HCodecs-0.5.1-KovArVTnpFnLaEvHYYD8GP.log ):
Preprocessing library for HCodecs-0.5.1..
Building library for HCodecs-0.5.1..
[1 of 7] Compiling Codec.ByteString.Builder ( src\Codec\ByteString\Builder.hs,
dist\build\Codec\ByteString\Builder.o )
src\Codec\ByteString\Builder.hs:79:1: warning: [-Wunused-imports]
The import of `Data.Semigroup' is redundant
except perhaps to import instances from `Data.Semigroup'
To import instances alone, use: import Data.Semigroup()
|
79 | import Data.Semigroup
| ^^^^^^^^^^^^^^^^^^^^^
[2 of 7] Compiling Codec.ByteString.Parser ( src\Codec\ByteString\Parser.hs, dist\build\Codec\ByteString\Parser.o )
src\Codec\ByteString\Parser.hs:143:5: error:
`fail' is not a (visible) method of class `Monad'
|
143 | fail err = Parser $ \(S _ _ bytes) ->
| ^^^^
cabal: Leaving directory 'C:\Users\12798\AppData\Local\Temp\cabal-tmp-13328\HCodecs-0.5.1'
cabal.exe: Error: some packages failed to install:
Euterpea-2.0.7-16Dwojok2ejBacdiDIytTu depends on Euterpea-2.0.7 which failed
to install.
HCodecs-0.5.1-KovArVTnpFnLaEvHYYD8GP failed during the building phase. The
exception was:
ExitFailure 1
That's the whole log I have for issue on dependency's version
The problem is that Euterpea has a dependency on exactly version 0.5.1 of HCodecs, and support for the MonadFail Proposal (fully implemented as of GHC 8.8.1) was only added to HCodecs in version 0.5.2. Until Euterpea updates its dependency list, you have two choices to work around this: either pass the --allow-newer command line flag to cabal, which will cause it to ignore upper version bounds, or downgrade your GHC to 8.6.5, the final version that didn't fully implement the MonadFail Proposal. In this case, I recommend the former.
I am trying to install Rust which is failing with following error:
info: syncing channel updates for 'stable-x86_64-pc-windows-msvc'
info: latest update on 2019-02-28, rust version 1.33.0 (2aa4c46cf 2019-02-28)
info: downloading component 'rustc'
info: downloading component 'rust-std'
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: installing component 'rustc'
57.7 MiB / 57.7 MiB (100 %) 2.6 MiB/s ETA: 0 s
info: installing component 'rust-std'
51.4 MiB / 51.4 MiB (100 %) 4.9 MiB/s ETA: 0 s
info: installing component 'cargo'
2.8 MiB / 2.8 MiB (100 %) 152.0 KiB/s ETA: 0 s
info: installing component 'rust-docs'
8.5 MiB / 8.5 MiB (100 %) 281.6 KiB/s ETA: 0 s
info: rolling back changes
error: could not rename component file from 'C:\Users\rraut\.rustup\tmp\8va7fsfks8zkeb5b_dir\bk' to 'C:\Users\rraut\.rustup\toolchains\stable-x86_64-pc-windows-msvc\share/man'
error: could not rename component file from 'C:\Users\rraut\.rustup\tmp\mybj8dkhr27yqlzf_dir\bk' to 'C:\Users\rraut\.rustup\toolchains\stable-x86_64-pc-windows-msvc\share/man/man1'
error: could not rename component file from 'C:\Users\rraut\.rustup\tmp\5l3hc8i6tp_6rqsa_dir\bk' to 'C:\Users\rraut\.rustup\toolchains\stable-x86_64-pc-windows-msvc\bin'
error: could not rename component file from 'C:\Users\rraut\.rustup\tmp\ejk4eeibyz0dkgjt_dir\bk' to 'C:\Users\rraut\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/etc'
error: could not rename component file from 'C:\Users\rraut\.rustup\tmp\1758r_0hyzkhtohi_dir\bk' to 'C:\Users\rraut\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/x86_64-pc-windows-msvc/bin'
error: could not rename component file from 'C:\Users\rraut\.rustup\tmp\5_0tdsg3gat5u6yy_dir\bk' to 'C:\Users\rraut\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib/rustlib/x86_64-pc-windows-msvc/codegen-backends'
error: failed to install component: 'rust-docs-x86_64-pc-windows-msvc', detected conflict: '"share/doc/rust/html"'
Any one has faced same issue before on Windows 10?
I was running into the same issue. The way I solved it was by manually reinstalling the stable-x86_64-pc-windows-msvc toolchain which apparently got corrupted while installing.
I did:
rustup toolchain remove stable-x86_64-pc-windows-msvc
Then:
rustup install stable-x86_64-pc-windows-msvc
Some notes:
You can get the toolchain name (they're divided by their release channel: stable, nightly, beta) by navigating to your user folder and finding the .rustup folder (E.g: C:Users\MyWindowsUser\.rustup\toolchains)
This should also fix the RLS extension for VSCode.
Please, trying to rebuild IJulia given I am not able to launch it via Anaconda navigator (I receive the red kernel error). With the command Pkg.build("IJulia"), below is the output:
INFO: Building Conda
INFO: Building MbedTLS
===============================[ ERROR: MbedTLS]============================
LoadError: unlink: operation not permitted (EPERM)
while loading C:\Users\s1364322\.julia\v0.6\MbedTLS\deps\build.jl, in expression starting on line 40
==============================================================================
INFO: Building ZMQ
INFO: Building IJulia
INFO: Installing Jupyter via the Conda package.
INFO: Found Jupyter version 4.3.0:
C:\Users\s1364322\.julia\v0.6\Conda\deps\usr\Scripts\jupyter
INFO: Installing Julia kernelspec julia-0.6
Error executing Jupyter command 'kernelspec': [Errno 'jupyter-kernelspec' not found] 2
[InstallKernelSpec] Removing existing kernelspec in
C:\Users\s1364322\AppData\Roaming\jupyter\kernels\julia-0.6
[InstallKernelSpec] Installed kernelspec julia-0.6 in
C:\Users\s1364322\AppData\Roaming\jupyter\kernels\julia-0.6
================================[ BUILD ERRORS]=============================
WARNING: MbedTLS had build errors.
- packages with build errors remain installed in C:\Users\s1364322\.julia\v0.6
- build the package(s) and all dependencies with Pkg.build("MbedTLS")
- build a single package by running its deps/build.jl script
===============================================================================
When I try Pkg.build("MbedTLS"), the output is:
LoadError: unlink: operation not permitted (EPERM)
while loading C:\Users\s1364322\.julia\v0.6\MbedTLS\deps\build.jl, in expression starting on line 40
Please, how can I get the way around?
This is my version info:
Julia Version 0.6.0
Commit 903644385b* (2017-06-19 13:05 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i5-6300U CPU # 2.40GHz
WORD_SIZE: 64
BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
LAPACK: libopenblas64_
LIBM: libopenlibm
LLVM: libLLVM-3.9.1 (ORCJIT, skylake)
Thanks for your help!
I recently tried installing IJulia on OS X 10.6.8, with Julia v0.2.1. After installing IPython, I ran Pkg.build("IJulia") and got the following console errors:
julia> Pkg.build("IJulia")
INFO: Building Homebrew
INFO: Cloning brew from https://github.com/staticfloat/homebrew.git
Cloning into '/Users/peterrichter/.julia/v0.2/Homebrew/deps/usr'...
dyld: Library not loaded: /usr/lib/libcurl.4.dylib
Referenced from: /Applications/Julia-0.2.1.app/Contents/Resources/julia/libexec/git-core/git-remote-https
Reason: Incompatible library version: git-remote-https requires version 7.0.0 or later, but libcurl.4.dylib provides version 6.0.0
==============================[ ERROR: Homebrew ]===============================
brew_prefix! not defined
at /Users/peterrichter/.julia/v0.2/Homebrew/src/Homebrew.jl:200
at /Users/peterrichter/.julia/v0.2/Homebrew/deps/build.jl:1
================================================================================
It seems to be complaining about an old version of libcurl (?), but when I run curl -V in Terminal, it says I am using curl 7.19.7. Likewise, executing ipython --version shows that I'm using 2.0.0, the latest version of IPython. Am I misreading the error message? If so, what steps should I take to fix it?
Additional Errors
In addition to the error text I pasted above, it also printed the following:
INFO: Building Nettle
INFO: Attempting to Create directory /Users/peterrichter/.julia/v0.2/Nettle/deps/downloads
INFO: Directory /Users/peterrichter/.julia/v0.2/Nettle/deps/downloads already created
INFO: Downloading file http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz
INFO: Done downloading file http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz
INFO: Attempting to Create directory /Users/peterrichter/.julia/v0.2/Nettle/deps/src
INFO: Directory /Users/peterrichter/.julia/v0.2/Nettle/deps/src already created
INFO: Attempting to Create directory /Users/peterrichter/.julia/v0.2/Nettle/deps
INFO: Directory /Users/peterrichter/.julia/v0.2/Nettle/deps already created
INFO: Attempting to Create directory /Users/peterrichter/.julia/v0.2/Nettle/deps/src/nettle-2.7.1
INFO: Directory /Users/peterrichter/.julia/v0.2/Nettle/deps/src/nettle-2.7.1 already created
INFO: Attempting to Create directory /Users/peterrichter/.julia/v0.2/Nettle/deps/builds/nettle
INFO: Directory /Users/peterrichter/.julia/v0.2/Nettle/deps/builds/nettle already created
INFO: Changing Directory to /Users/peterrichter/.julia/v0.2/Nettle/deps/builds/nettle
checking build system type... x86_64-apple-darwin10.8.0
checking host system type... x86_64-apple-darwin10.8.0
checking for -R flag... none
Searching for libraries
checking /Users/peterrichter/.julia/v0.2/Nettle/deps/usr/lib... not found
checking /usr/local/lib... added
checking /sw/local/lib... not found
checking /sw/lib... not found
checking /usr/gnu/lib... not found
checking /opt/gnu/lib... not found
checking /sw/gnu/lib... not found
checking /usr/freeware/lib... not found
checking /usr/pkg/lib... not found
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/Users/peterrichter/.julia/v0.2/Nettle/deps/builds/nettle':
configure: error: C compiler cannot create executables
See `config.log' for more details
===============================[ ERROR: Nettle ]================================
failed process: Process(`/Users/peterrichter/.julia/v0.2/Nettle/deps/src/nettle-2.7.1/configure --disable-openssl --libdir=/Users/peterrichter/.julia/v0.2/Nettle/deps/usr/lib --prefix=/Users/peterrichter/.julia/v0.2/Nettle/deps/usr`, ProcessExited(77)) [77]
at /Users/peterrichter/.julia/v0.2/Nettle/deps/build.jl:35
================================================================================
INFO: Building ZMQ
INFO: Building IJulia
Found IPython version 2.0.0 ... ok.
Creating julia profile in IPython...
(Existing KernelManager.kernel_cmd setting in ipython_config.py is untouched.)
(Existing IPythonWidget.execute_on_complete_input setting in ipython_qtconsole_config.py is untouched.)
(Existing FrontendWidget.lexer_class setting in ipython_qtconsole_config.py is untouched.)
(Existing NotebookApp.port setting in ipython_notebook_config.py is untouched.)
(Existing ipynblogo.png file untouched.)
(Existing ipynblogo.svg file untouched.)
(Existing favicon.ico file untouched.)
(Existing custom.js file untouched.)
(Existing julia.js file untouched.)
================================[ BUILD ERRORS ]================================
WARNING: Homebrew and Nettle had build errors.
- packages with build errors remain installed in /Users/peterrichter/.julia/v0.2
- build a package and all its dependencies with `Pkg.build(pkg)`
- build a single package by running its `deps/build.jl` script
================================================================================
It looks like you don't have a C compiler installed so the Pkg.add is failing on some of IJulia's nettle dependency.
Your first errors dependency though looks like it's a linking conflict between the bundled git implementation for your julia distribution and the system provided library.
You can see exactly what shared library the git app is using with otool.
otool -L /Applications/Julia-0.2.1.app/Contents/Resources/julia/libexec/git-core/git-remote-https
This should list the full path of the libcurl dylib that the git-remote-https binary is linking to.
You can compare that against the output for otool -L $(which curl) and see if they are linking to the same library.
You can also run otool -L on the referenced libraries themselves to see what versions they are. This should at least tell you what the conflict is. It's possible that you will need to upgrade the git version that your julia distribution uses. But I'm not sure what would be involved there. I just install julia from source which bypasses this particular problem.
You might find it easier to do the same.
What worked for me might be of help to you:
Using latest Anaconda free python, download windows32 exe file from github and extract, start julia.bat, then in the Julia command window type Pkg.add("IJulia"), In another command window type
ipython notebook --profile=julia and enjoy the webpage that opens in your default browser(Chrome)!!
I had trouble because of the syntax of the --profile=julia command part.
I too use macports and not Homebrew.
I seem to have fixed this by changing lines 21,22 in ~/.julia/v0.3/Nettle/deps/build.jl to:
libdirs = String["$(julia_usrdir)/lib"; "/opt/local/lib"]
includedirs = String["$(julia_usrdir)/include"; "/opt/local/include"]
i.e. I added the macports lib and include dirs explicitly.
Can someone please notify the appropriate authorities, cheers.