public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: libtool weirdness (was Re: Broken MPIR 2.6.0 on Cygwin64)
Date: Mon, 24 Jun 2013 11:55:00 -0000	[thread overview]
Message-ID: <20130624113110.GB4229@calimero.vinschen.de> (raw)
In-Reply-To: <20130624092053.GF14319@calimero.vinschen.de>

On Jun 24 11:20, Corinna Vinschen wrote:
> On Jun 21 12:57, Yaakov (Cygwin/X) wrote:
> > On 2013-06-21 06:33, Corinna Vinschen wrote:
> > >as our resident autotools/libtool experts, could you please have a
> > >look here?
> > 
> > The problem is, as a fork of GMP, it too tries to be too clever with
> > libtool in an attempt to shorten configure times by avoiding the
> > CXX/F77 checks.  Those hacks are not only unnecessary with libtool
> > 2.x, they are incompatible with it.
> > 
> > Run the following to remove the offending 25 lines of configure:
> > 
> > sed -i -e '/# Enable CXX/,/AC_PROVIDE/d' configure.in
> > 
> > Then you still need to teach configure.in about Cygwin wrt -f
> > win32/win64 and which asm sources to use before running
> > (cyg)autoreconf.
> 
> Oh, cool, thanks!  I'll have to look into other stuff first, but I'll
> probably have a look later this week.  An ld crash is never really a
> good idea.

This seem to have been a problem with the assembler files, but I can't
reproduce it if I use the right settings.  With this cygport file:

  NAME="mpir"
  VERSION="2.6.0"
  RELEASE=1
  CATEGORY="Math"
  SUMMARY="MPIR"
  DESCRIPTION="MPIR"
  SRC_URI="http://www.mpir.org/${P}.tar.bz2"

and with this patch to configure.in:

--- origsrc/mpir-2.6.0/configure.in	2012-11-08 23:10:45.000000000 +0100
+++ src/mpir-2.6.0/configure.in	2013-06-24 13:01:45.471254358 +0200
@@ -1904,32 +1904,6 @@ if test -z "$CONFIG_SHELL"; then
   CONFIG_SHELL=$SHELL
 fi
 
-# Enable CXX in libtool only if we want it, and never enable GCJ, nor RC on
-# mingw and cygwin.  Under --disable-cxx this avoids some error messages
-# from libtool arising from the fact we didn't actually run AC_PROG_CXX.
-# Notice that any user-supplied --with-tags setting takes precedence.
-#
-# FIXME: Is this the right way to get this effect?  Very possibly not, but
-# the current _LT_AC_TAGCONFIG doesn't really suggest an alternative.
-#
-if test "${with_tags+set}" != set; then
-  if test $want_cxx = yes; then
-    with_tags=CXX
-  else
-    with_tags=
-  fi
-fi
-
-# The dead hand of AC_REQUIRE makes AC_PROG_LIBTOOL expand and execute
-# AC_PROG_F77, even when F77 is not in the selected with_tags.  This is
-# probably harmless, but it's unsightly and bloats our configure, so pretend
-# AC_PROG_F77 has been expanded already.
-#
-# FIXME: Rumour has it libtool will one day provide a way for a configure.in
-# to say what it wants from among supported languages etc.
-#
-AC_PROVIDE([AC_PROG_F77])
-
 AC_PROG_LIBTOOL
 
 # Generate an error here if attempting to build both shared and static when
@@ -2829,7 +2803,7 @@ if test "$gmp_asm_syntax_testing" != no;
           case $host in 
             *-*-darwin*)
               OBJECT_FORMAT="-f macho64" ;;
-	    *-w64-mingw*)
+	    *-w64-mingw*|*-pc-cygwin*)
 		OBJECT_FORMAT="-f x64"  ;;
 	    *)
 	      OBJECT_FORMAT="-f elf64" ;;

the package is built completely.  11 out of 48 tests segfault, but that
has nothing to do with ld and, as such, has been left as an excercise
for the reader.  I'm pretty sure it has something to do with the LLP64
vs LP64 difference between mingw and Cygwin 64 bit toolchain.

There's also still the problem that the DLL is installed into usr/lib
rather than usr/bin and that it's using the "lib" prefix rather than
the "cyg" prefix, but I'm sure this is fixable as well.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2013-06-24 11:31 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-20 22:56 Broken MPIR 2.6.0 on Cygwin64 Jean-Pierre Flori
2013-06-21  8:33 ` Corinna Vinschen
2013-06-21  9:30   ` Corinna Vinschen
2013-06-21  9:43   ` Jean-Pierre Flori
2013-06-21 10:57     ` Corinna Vinschen
2013-06-21 11:35       ` libtool weirdness (was Re: Broken MPIR 2.6.0 on Cygwin64) Corinna Vinschen
2013-06-21 17:00         ` Jean-Pierre Flori
2013-06-21 17:27           ` Jean-Pierre Flori
2013-06-21 17:35             ` Jean-Pierre Flori
2013-06-21 18:10               ` Jean-Pierre Flori
2013-06-21 22:44                 ` Jean-Pierre Flori
2013-06-21 22:48                   ` Jean-Pierre Flori
2013-06-24  9:20                     ` Corinna Vinschen
2013-06-24  9:19           ` Corinna Vinschen
2013-06-21 18:05         ` Yaakov (Cygwin/X)
2013-06-24  9:22           ` Corinna Vinschen
2013-06-24 11:55             ` Corinna Vinschen [this message]
2013-06-24 16:21               ` Yaakov (Cygwin/X)
2013-06-21 13:39       ` Broken MPIR 2.6.0 on Cygwin64 Jean-Pierre Flori
2013-06-24 11:03         ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130624113110.GB4229@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).