Subject: bug#19708: Bowtie fails to build

From: Ricardo Wurmus <[email-masked]>
Date: Wed, 28 Jan 2015 15:11:06 +0100

Andreas Enge writes:
> bowtie currently fails to build on all three architectures on hydra.
>
> On i686, the error message is:
> Makefile:146: *** bowtie2 compilation requires a 64-bit platform .  Stop.
>
> Surprisingly, the same error message is shown on mip64el (!).
> From its description, I do not expect users to run the program on mips,
> so it might be the safest option to disable the build of these two
> architectures.
>
> On x86_64, the error message is
> g++: error: unrecognized command line option '-stdlib=libstdc++'
> See http://hydra.gnu.org/build/204787 .

This is odd.  The Makefile only adds this option on MacOS:

    MACOS = 0
    ifneq (,$(findstring Darwin,$(shell uname)))
            MACOS = 1
            ifneq (,$(findstring 13,$(shell uname -r)))
                    CPP = clang++
                    CC = clang
                    EXTRA_FLAGS += -stdlib=libstdc++
            endif
    endif

Whether or not a platform is 64-bit is determined with uname.  Both
these errors relate to using uname.

Is it not available at build time?

I can build the package just fine with:

    guix build -S bowtie
    ...
    guix enviroment --pure bowtie
    make

~~ Ricardo