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