Welcome Adoney,

On 09/22/2016 01:24 AM, Adonay Felipe Nogueira wrote:
[..]
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

The problem is that you've been tarbombed, as it were - the zip file contains the source code files in its base directory, and then after unzipping in the builder a test directory is entered. You can see this by inspecting the 'environment-variables' file in the build directory. Our usual fix for this is to use 'url-fetch/tarbomb' rather than 'url-fetch', but it seems that 'url-fetch/tarbomb' does not correctly handle zip files.

We should fix 'url-fetch/tarbomb', but in the meantime I suggest replacing the unpack phase like so:

                   (replace 'unpack
                     (lambda* (#:key source #:allow-other-keys)
                       (and (zero? (system* "unzip" source "-d" "source"))
                            (begin (chdir "source") #t))))


## 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.

[..]

This indicates that `ldconfig` is absent. Someone in #guix told me that
it was supposed to be provided by

It seems that this line hard-codes the path to ldconfig, so it will need to be modified.

LDCONF ?= /sbin/ldconfig -n


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.

'which' is provided by the 'which' package.

Good luck,
ben

Reply via email to