unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#19708: Bowtie fails to build
@ 2015-01-27 21:47 Andreas Enge
  2015-01-28 14:11 ` Ricardo Wurmus
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Enge @ 2015-01-27 21:47 UTC (permalink / raw)
  To: 19708

Hello,

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 .

Andreas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19708: Bowtie fails to build
  2015-01-27 21:47 bug#19708: Bowtie fails to build Andreas Enge
@ 2015-01-28 14:11 ` Ricardo Wurmus
  2015-01-28 16:57   ` Andreas Enge
  0 siblings, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2015-01-28 14:11 UTC (permalink / raw)
  To: Andreas Enge; +Cc: 19708


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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19708: Bowtie fails to build
  2015-01-28 14:11 ` Ricardo Wurmus
@ 2015-01-28 16:57   ` Andreas Enge
  2015-01-29 10:01     ` Ricardo Wurmus
  0 siblings, 1 reply; 5+ messages in thread
From: Andreas Enge @ 2015-01-28 16:57 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 19708

On Wed, Jan 28, 2015 at 03:11:06PM +0100, Ricardo Wurmus wrote:
> Whether or not a platform is 64-bit is determined with uname.  Both
> these errors relate to using uname.

Clearly, only x86_64 is supported. Citing from Makefile:
BITS=32
ifeq (x86_64,$(shell uname -m))
        BITS=64
endif
# msys will always be 32 bit so look at the cpu arch instead.
ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
        ifeq (1,$(MINGW))
                BITS=64
        endif
endif
ifeq (32,$(BITS))
  $(error bowtie2 compilation requires a 64-bit platform )
endif

So we should disable mips and i686.


> 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

I see the following in my Makefile:
MACOS = 0
ifneq (,$(findstring Darwin,$(shell uname)))
        MACOS = 1
endif

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

Notice the different placements of the "endif". Are we talking about different
versions of bowtie? I looked at the top Makefile from the result of
"guix build bowtie -S".

Andreas

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19708: Bowtie fails to build
  2015-01-28 16:57   ` Andreas Enge
@ 2015-01-29 10:01     ` Ricardo Wurmus
  2015-01-30 16:07       ` Mark H Weaver
  0 siblings, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2015-01-29 10:01 UTC (permalink / raw)
  To: Andreas Enge; +Cc: 19708

Andreas Enge writes:
> Clearly, only x86_64 is supported. Citing from Makefile:
> BITS=32
> ifeq (x86_64,$(shell uname -m))
>         BITS=64
> endif
> # msys will always be 32 bit so look at the cpu arch instead.
> ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432)))
>         ifeq (1,$(MINGW))
>                 BITS=64
>         endif
> endif
> ifeq (32,$(BITS))
>   $(error bowtie2 compilation requires a 64-bit platform )
> endif
>
> So we should disable mips and i686.

Submitted a patch to the ML to do just that.

>> 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
>
> I see the following in my Makefile:
> MACOS = 0
> ifneq (,$(findstring Darwin,$(shell uname)))
>         MACOS = 1
> endif
>
> ifneq (,$(findstring 13,$(shell uname -r)))
>         CPP = clang++
>         CC = clang
>         EXTRA_FLAGS += -stdlib=libstdc++
> endif
>
> Notice the different placements of the "endif". Are we talking about different
> versions of bowtie? I looked at the top Makefile from the result of
> "guix build bowtie -S".

Oh, I must have been looking at master.  In commit 4a99b0023[1] this was
changed to:

    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

I'm not sure why it built the first time, though.  (Compare [2] and
[3], both using the same release.)  Anyway, I can go ahead and patch the
Makefile until a new release is out.

What do you think?

~~ Ricardo


[1]: https://github.com/BenLangmead/bowtie2/commit/4a99b0023bdfbbe486b9649489a32ea184c18c9a
[2]: http://hydra.gnu.org/build/175069
[3]: http://hydra.gnu.org/build/204787

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#19708: Bowtie fails to build
  2015-01-29 10:01     ` Ricardo Wurmus
@ 2015-01-30 16:07       ` Mark H Weaver
  0 siblings, 0 replies; 5+ messages in thread
From: Mark H Weaver @ 2015-01-30 16:07 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 19708-done

Fixed in 241e12219.  Thanks to Ricardo and Andreas for sorting this out!

     Mark

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-30 16:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-27 21:47 bug#19708: Bowtie fails to build Andreas Enge
2015-01-28 14:11 ` Ricardo Wurmus
2015-01-28 16:57   ` Andreas Enge
2015-01-29 10:01     ` Ricardo Wurmus
2015-01-30 16:07       ` Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).