[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Writing recipe for Crypto++, and getting build errors
From: |
Adonay Felipe Nogueira |
Subject: |
Writing recipe for Crypto++, and getting build errors |
Date: |
Wed, 21 Sep 2016 12:24:00 -0300 |
Note: I'm not a programmer, the only thing I can understand is basic
Guile Scheme and basic Bash scripting. So, I'm not really fit to make
changes in the Crypto++'s source files by myself.
I'm writing a recipe for Crypto++ and other packages. I'm not a
programmer, but I decided to try to contribute to Guix by making the
first steps on porting Tahoe-LAFS and related dependencies.
In attachment is the set of recipes I'm writing. The examples given
assume $GUIX_PACKAGE_PATH referring to directories where the
user-supplied recipes can be found.
Doing:
$ guix build --fallback "cryptopp"
... outputs:
# Begin of output
starting phase `build'
make: *** No rule to make target 'dynamic'. Stop.
phase `build' failed after 0.2 seconds
builder for
`/gnu/store/k863vf0ab6hkdhbm7zgmbfs1c3wdqpqs-cryptopp-5.6.4.drv' failed
with exit code 1
@
build-failed /gnu/store/k863vf0ab6hkdhbm7zgmbfs1c3wdqpqs-cryptopp-5.6.4.drv - 1
builder for `/gnu/store/k863vf0ab6hkdhbm7zgmbfs1c3wdqpqs-cryptopp-5.6.4.drv'
failed with exit code 1
guix build: error: build failed: build of
`/gnu/store/k863vf0ab6hkdhbm7zgmbfs1c3wdqpqs-cryptopp-5.6.4.drv' failed
# End of output
However, I did some tests by doing:
$ guix build --fallback --keep-failed "cryptopp"
$ cd "[Failed build path]"
$ sudo --user="[User owner of failed build path]" guix environment
--pure "cryptopp"
$ make "dynamic"
And it **does** start building. If instead of `make "dynamic"`, one does
`make -dnpw "dynamic"` (both in the recipe itself and in the series of
commands given earlier), one can see that:
* The build phase in `guix build` doesn't find the GNUmakefile.
* Attempting the series of commands given earlier, `make` **does** find
the GNUmakefile file.
Besides, someone at #guix suggested me to look at what the NixOS project
did with their Crypto++ package, and it seems they are using it
normally, without removing the dependency on `ldconfig`.
## Additional subject: Absence of `ldconfig`
Seeing the GNUmakefile, it seems to expect some commands to be available
in the environment, so I tried finding those and seeing if the
environment sees them from the profile.
If I remake the environment given before **without** the `--pure`
option, specially if one is using Guix on other distribution, doing:
$ which ar ranlib cp mv egrep chmod mkdir ln ldconfig uname gcc g++ cut
which
... outputs:
# Begin of output
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/ar
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/ranlib
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/cp
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/mv
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/egrep
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/chmod
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/mkdir
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/ln
/sbin/ldconfig
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/uname
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/gcc
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/g++
/gnu/store/4bs2xiv9mr0p8vfy046b4jaqn0958wk4-profile/bin/cut
/usr/bin/which
# End of output
This indicates that `ldconfig` is absent. Someone in #guix told me that
it was supposed to be provided by
Additionally, `which` was included in the output (comes from the
"debianutils" package on .deb-based distributions) and is also absent,
and the GNUmakefile seems to expect `which` at some point (although I'm
not sure if the build process reached that), so the absence of `which`
might be good to discuss on other bug report.
Respectfully, Adonay.
--
# pt-BR: Brasileiro | en: Brazilian
* pt-BR: Palestra sobre liberdade de software (movimento filosófico
político-social, não tecnológico).
* en: Gives talks about software freedom (philosophical, political and social
movement, not technological).
* pt-BR: Voluntário avaliador de liberdade de software (para software pagos ou
gratuitos).
* en: Volunteer evaluator of software freedom (for paid software, or gratis
software).
* pt-BR: Presta suporte e consultoria básicos sobre software livre.
* en: Gives basic support and consulting about free/libre software.
## pt-BR: Sobre mim e contato | en: About me and contact
<https://libreplanet.org/wiki/User:Adfeno>
tahoe-lafs.scm
Description: Text Data
signature.asc
Description: This is a digitally signed message part
- Writing recipe for Crypto++, and getting build errors,
Adonay Felipe Nogueira <=
- Re: Writing recipe for Crypto++, and getting build errors, Ben Woodcroft, 2016/09/21
- Re: Writing recipe for Crypto++, and getting build errors, Ben Woodcroft, 2016/09/21
- Re: Writing recipe for Crypto++, and getting build errors, Ludovic Courtès, 2016/09/26
- Re: Writing recipe for Crypto++, and getting build errors, Adonay Felipe Nogueira, 2016/09/30
- Re: Writing recipe for Crypto++, and getting build errors, Ludovic Courtès, 2016/09/30
- Re: Writing recipe for Crypto++, and getting build errors, Adonay Felipe Nogueira, 2016/09/30