Runtime Dependencies on ld-linux-riscv64-lp64d.so.1 for RISC-V (rv64ima) - zip

I am trying to build an image using Yocto for rv64ima isa with abi as lp64 . But many packages such as zip, unzip have runtime dependencies on ld-linux-riscv64-lp64d.so.1 .I am attaching the error snippet below.
Is is possible to compile these packages for an architecture (RISC-V) not have double or floating point units?
Thank You.
EDIT 1: How do I solve this below mentioned error in Yocto? This is happening with several packages not only zip.
ERROR: zip-3.0-r2 do_package_qa: QA Issue: /usr/bin/zipsplit contained in package zip requires ld-linux-riscv64-lp64d.so.1(GLIBC_2.27)(64bit), but no providers found in RDEPENDS_zip? [file-rdeps]
ERROR: zip-3.0-r2 do_package_qa: QA Issue: /usr/bin/zipsplit contained in package zip requires ld-linux-riscv64-lp64d.so.1()(64bit), but no providers found in RDEPENDS_zip? [file-rdeps]
ERROR: zip-3.0-r2 do_package_qa: QA run found fatal errors. Please consider fixing them.

Yes. Although the rv64ima does not have float instructions, it is able to run programs that need a floats thanks to the soft-float module. However the difference will be seen at the performance level because it takes longer to do the float operations in soft.

Related

`Undefined symbol: ossl_sha3_512_functions` when trying to build the Kadena chainweb-node Haskell project

I've been trying to compile the Kadena chainweb-node project from source (via the docs found here) in a docker container running the arm64v8/ubuntu base image on an Apple M1 host machine and I keep getting errors. Thanks to the super helpful folks in the #haskell IRC channel, I've made it over a number of small hurdles, but the build still fails with:
Undefined symbol: ossl_sha3_512_functions
I can not find any resources on how to fix this but one of the #haskell community members informed me that these symbols are not provided by the openssl 3.0 API. That person created an issue here: https://github.com/larskuhtz/hs-hashes/issues/14
I've found that I can use the docker base image haskell:8 which comes preinstalled with ghc, cabal, and openssl 1.1.1 to cabal build chainweb-node successfully using a slightly different set of apt-get dependencies. However, when trying to cabal install the binaries so that I can run chainweb-node, I get:
Failed to build chainweb-2.14.1. The failure occurred during the configure
step.
Build log (
/root/.cabal/logs/ghc-8.10.7/chainweb-2.14.1-36aedf5adc1967eb17358e6434b6fd51bc7e64082f6c12e0df40ddafece6ff69.log
):
[1 of 1] Compiling Main ( /tmp/cabal-install.-838/dist-newstyle/tmp/src-838/chainweb-2.14.1/dist/setup/setup.hs, /tmp/cabal-install.-838/dist-newstyle/tmp/src-838/chainweb-2.14.1/dist/setup/Main.o )
Linking /tmp/cabal-install.-838/dist-newstyle/tmp/src-838/chainweb-2.14.1/dist/setup/setup ...
Configuring chainweb-2.14.1...
setup: Encountered missing or private dependencies:
criterion -any,
data-ordlist >=0.4.7,
resource-pool >=0.2,
retry >=0.7,
statistics >=0.15,
tasty-json >=0.1
cabal: Failed to build chainweb-2.14.1. See the build log above for details.
I've tried cabal install criterion and the other missing deps, one by one, but the cabal install gives me the same errors.
Can someone tell me what I'm doing wrong and help me get a working chainweb-node binary built from source and installed using docker?

Yocto error: Building libreoffice package fails in do_package task

I would like to integrate libreoffice on my tx6s-8035 KARO Board using yocto. I use Ka-ro NXP/Freescale Yocto Project Community BSP recipe layers for yocto distro krogoth. I add too the meta-office layer from open-embedded. I have been facing many issues about packages and libraries dependency to build the libreoffice package. The do_compile task work well but the do_package task fails with the following error:
ERROR: libreoffice-5.0.6.3-r0 do_package: QA Issue: File
'/usr/lib/libreoffice/share/extensions/mysql-connector-
ooo/libmysqlclient_r.so' from libreoffice was already stripped, this will
prevent future debugging! [already-stripped]
WARNING: libreoffice-5.0.6.3-r0 do_package: libreoffice language file
pattern not found: /usr/lib/libreoffice/share/template/%{1}
ERROR: libreoffice-5.0.6.3-r0 do_package: Fatal QA errors found, failing
task.
ERROR: libreoffice-5.0.6.3-r0 do_package: Function failed: do_package
ERROR: Logfile of failure stored in: /home/sconte/fsl-community-
bsp/build_8135_cim/tmp/work/cortexa9hf-neon-poky-linux-
gnueabi/libreoffice/5.0.6.3-r0/temp/log.do_package.8211
ERROR: Task 11 (/home/sconte/fsl-community-bsp/sources/meta-office/recipes-
libreoffice/libreoffice/libreoffice.bb, do_package) failed with exit code
'1'
Here is the log.do_package file output: log.do_package
I view in this file that there is runstrip function which is executed on the same library it cound not find. What does runstrip means? How can i work around this issue?
You can add INSANE_SKIP_${PN}_append = "already-stripped" to libreoffice_%.bbappend recipe to fix this QA error. You can also send a patch upstream by following README.

Package "must match -any, but the stack configuration has no specified version" on github dependency

Getting this error on my repository where I tried to use a dependency from GitHub:
$ stack build
Error: While constructing the build plan, the following exceptions were encountered:
In the dependencies for quickcheck-fail-0.1.0.0:
ifctx must match -any, but the stack configuration has no specified version
needed since quickcheck-fail is a build target.
Some potential ways to resolve this:
* Set 'allow-newer: true' to ignore all version constraints and build anyway.
* You may also want to try using the 'stack solver' command.
Plan construction failed.
I'm out of ideas what exactly is wrong here. Please see the repo to reproduce: https://github.com/k-bx/quickcheck-fail
The correct answer was provided by #duplode in the comment.
It appears to be a typo: you have ifctx rather than ifcxt in package.yaml/the .cabal file. (It's an easy typo to make: I did the same thing the first few times I tried hoogling it, and even so it took me a while to notice it in the files :)) – duplode 3 hours ago

Haskell on Travis CI fails, passes locally

https://travis-ci.org/Fresheyeball/fbatch
Preprocessing library monad-parallel-0.5...
Control/Monad/Parallel.hs:67:8:
Could not find module `Control.Monad.Identity'
It is a member of the hidden package `mtl-2.2.1'.
Perhaps you need to add `mtl' to the build-depends in your .cabal file.
Use -v to see a list of the files searched for.
cabal: Error: some packages failed to install:
monad-parallel-0.5 failed during the building phase. The exception was:
ExitFailure 1
I am new to haskell, and just can't seem to get past this. I've tinkered with my .cabal file all I can, and the sub dependency fails on Travis every time.
Please help.
If a build fails while resolving a dependency, it's worth having a look a what version of that package gets installed. Normally, cabal should default to the most recent possible, which if well-maintained should install fine. Older versions do of course often mean trouble, if some dependency of theirs has now a newer, incompatible version installed.
In your case, cabal tried to install the somewhat ancient monad-parallel-0.5, which imports a module that doesn't exist in transformers (namely Control.Monad.Identity). The more recent version 0.7.1.2 does not try this and thus builds successfully. You can force such a recent install by giving a lower bound to the dependency in your .cabal file, in this case monad-parallel >= 0.7.

Trying to install Image.Codec.DevIL under windows. Needs pthread and IL. Can't get IL to work

This is the output from cabal install codec-image-devil:
Resolving dependencies...
Configuring Codec-Image-DevIL-0.2.3...
cabal: Missing dependency on a foreign library:
* Missing C library: IL
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
cabal: Error: some packages failed to install:
Codec-Image-DevIL-0.2.3 failed during the configure step. The exception was:
ExitFailure 1
I tried --extra-include-dirs and --extra-lib-dirs. but they didn't work. so I edited the .cabal in Codec-Image-DevIL-0.2.3.tar.gz. I don't know if I'm even supposed to change that. but it worked for pthread.
I added these two lines:
include-dirs: C:\Users\Rumbold\Documents\libs\IL\include, C:\Users\Rumbold\Documents\libs\pthread\include, .
extra-lib-dirs: C:\Users\Rumbold\Documents\libs\IL\lib, C:\Users\Rumbold\Documents\libs\pthread\lib, .
They are indented so they are in the Library section. I don't know if I got the format for lists right, just something i stumbled upon while googling. The libs and `header files are all in the correct place, I think.
any clue how i can get it to work?
Edit_1:
I got it to work with --extra-include-dirs and --extra-lib-dirs, so I don't need to edit the cabal anymore. but IL still doesn't work. is there a way to find out which files it's looking for?
Wdit_2:
Alright it works. I had to rename DevIL.lib and DevIL.dll to libIL.lib and libIL.dll. (not sure if I had to do both, but that's what I did. also kept them under their old names)
Edit_3:
Getting lots of errors like:
"cabal\Codec-Image-DevIL-0.2.3\ghc-6.12.3/libHSCodec-Image-DevIL-0.2.3.a(DevIL.o):fake:(.text+0x2379):
undefined reference to `ilGetInteger#4'"

Resources