All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom <fivemiletom@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] mpfr error on cygwin for arm
Date: Tue, 29 May 2007 20:07:48 -0700	[thread overview]
Message-ID: <465CEA84.70700@gmail.com> (raw)
In-Reply-To: <20070526094801.GC15885@aon.at>

Hi Bernhard, All

Enclosed is cygwin-1.patch for buildroot-20050524.tar.bz2.

- requires cygwin 1.5.24 with development package

- configure buildroot for arm, arm-generic, eabi, "pc-cygwin", 
uclibc-0.9.29, buildroot toolchain with gcc 4.1.2

- FIRST do one build attempt (will fail, just to get and extract uclibc)

- apply cygwin-1.patch with p1 (it is at very bottom of this email)

- THEN do another build attempt, which will build
   gmp, mpfr, newlib and arm-linux-uclibcgnueabi-gcc-4.1.2.exe
   before failing (*).

Thanks
Tom

PS: if someone could take care of the apple part, that would be great. 
Also, the one fix belongs to uclibc and not to buildroot...


(*) it fails when cross compiling uclibc, maybe my UCLIBC options? Hints 
appreciated, need this to test on target.

make MAKE="make -j1" -C /tw/buildroot/toolchain_build_arm/uClibc-0.9.29
\
                 PREFIX= \
                 DEVEL_PREFIX=/ \
                 RUNTIME_PREFIX=/ \
                 HOSTCC="gcc" \
                 all
arm-linux-uclibcgnueabi-gcc: n: No such file or directory
make[1]: Entering directory
`/tw/buildroot/toolchain_build_arm/uClibc-0.9.29'
arm-linux-uclibcgnueabi-gcc: n: No such file or directory
make[2]: `conf' is up to date.
arm-linux-uclibcgnueabi-gcc: n: No such file or directory
   CC ldso/ldso/ldso.oS
arm-linux-uclibcgnueabi-gcc: n: No such file or directory
make[1]: *** [ldso/ldso/ldso.oS] Error 1
make[1]: Leaving directory
`/tw/buildroot/toolchain_build_arm/uClibc-0.9.29'
make: *** [/tw/buildroot/toolchain_build_arm/uClibc-0.9.29/lib/libc.a]
Error 2





Bernhard Fischer wrote:
> On Fri, May 25, 2007 at 11:52:35PM -0700, Tom wrote:
>> Hi Bernhard and all,
>>
>> sorry if this thread is a little out of sequence, had problems with text 
>> attachment.
>>
>> Bernhard Fischer wrote:
>>> Before you report it to the mpfr folks, please paste the error here,
>>> since i suspect that it could have to do something with the
>>> binary/library name extensions, which (IIRC) we currently do not handle
>>> at all (there's a bug somewhere about this, if memory serves me right).
>>>
>> You were right about extensions, below is the error as produced by
>> buildroot-20050516 built, I just added -verbose for ld.
>> It can not resolve the depency to libgmp.so, because cygwin ld assumes 
>> libs to end in .a, .lib or .dll, and will append them to .so libs, which 
>> thus can never be found.
>> Can I help to add support for this?
> 
> Yes, you can.
> 
> Depending on the target, set
> ifneq $($(findstring linux,$(BR2_GNU_BUILD_SUFFIX)),)
> EXEEXT:=
> LIBEXT:=.a
> SHREXT:=.so
> endif
> ifneq $($(findstring apple,$(BR2_GNU_BUILD_SUFFIX)),)
> EXEEXT:=.pear
> LIBEXT:=.dunno
> SHREXT:=.dylib
> endif
> ifneq $($(findstring cygwin,$(BR2_GNU_BUILD_SUFFIX)),)
> EXEEXT:=.exe
> LIBEXT:=.dunno
> SHREXT:=.dll
> endif
> ifneq $($(findstring mingw,$(BR2_GNU_BUILD_SUFFIX)),)
> EXEEXT:=.exe
> LIBEXT:=.dunno
> SHREXT:=.dll
> endif
> 
> in the toplevel Makefile, before the
> all: world
> target, and use them accordingly.
> 
> 
> While you're at it, it would be awesome if you could deal with this too:
> We want to be able to select which flavour of lib is built (shared or
> static) with a single config-option.
> So, instead of changing all ".so" blindly to $(SHREXT), change it to
> $(LIBTGTEXT) which is set either to
> 
> ifeq $($(BR2_DEFAULT_LIB_TARGET),shared)
> LIBTGTEXT=$(SHREXT)
> else
> LIBTGTEXT=$(LIBEXT)
> endif
> 
> below the newly added block i mentioned above.
> 
> TIA and cheers,
> 


cygwin-1.patch:

--- buildroot.orig/Makefile	2007-05-29 11:55:38.025317600 -0700
+++ buildroot/Makefile	2007-05-29 19:54:26.130869700 -0700
@@ -66,7 +66,32 @@
  #
  #############################################################

+ifneq (,$(findstring linux,$(BR2_GNU_BUILD_SUFFIX)))
+EXEEXT:=
+LIBEXT:=.a
+SHREXT:=.so
+endif
+ifneq (,$(findstring apple,$(BR2_GNU_BUILD_SUFFIX)))
+EXEEXT:=.pear
+LIBEXT:=.dunno
+SHREXT:=.dylib
+endif
+ifneq (,$(findstring cygwin,$(BR2_GNU_BUILD_SUFFIX)))
+EXEEXT:=.exe
+LIBEXT:=.lib
+SHREXT:=.dll
+endif
+ifneq (,$(findstring mingw,$(BR2_GNU_BUILD_SUFFIX)))
+EXEEXT:=.exe
+LIBEXT:=.lib
+SHREXT:=.dll
+endif

+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+LIBTGTEXT=$(LIBEXT)
+else
+LIBTGTEXT=$(SHREXT)
+endif

  all:   world

--- buildroot.orig/Config.in	2007-05-29 11:54:55.651131200 -0700
+++ buildroot/Config.in	2007-05-29 19:39:05.976662000 -0700
@@ -373,6 +373,19 @@
  	help
  	  This option hides outdated/obsolete versions of packages.

+config BR2_PREFER_STATIC_LIB
+	bool "prefer static libraries"
+	default n
+	help
+	  Where possible, use static libraries.
+	  This increases your code size a lot and should only be
+	  used with a good reason why not use the default, which
+	  is dynamic libraries.
+
+	  If unsure, say No.
+
+	  WARNING: This is highly experimental at the moment.
+
  endmenu

  source "toolchain/Config.in"
--- buildroot.orig/package/gmp/gmp.mk	2007-05-29 11:56:19.118278600 -0700
+++ buildroot/package/gmp/gmp.mk	2007-05-29 19:34:47.184755900 -0700
@@ -18,6 +18,18 @@
  GMP_BE:=no
  endif

+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+GMP_LIB_FLAGS:=--enable-static --disable-shared
+else
+GMP_LIB_FLAGS:=--disable-static --enable-shared
+endif
+
+ifeq ($(EXEEXT),".exe")
+GMP_CPP_FLAGS:=-DDLL_EXPORT
+else
+GMP_CPP_FLAGS:=-DDLL_EXPORT
+endif
+
  $(DL_DIR)/$(GMP_SOURCE):
  	 $(WGET) -P $(DL_DIR) $(GMP_SITE)/$(GMP_SOURCE)

@@ -35,6 +47,7 @@
  		$(TARGET_CONFIGURE_OPTS) \
  		CFLAGS="$(TARGET_CFLAGS)" \
  		LDFLAGS="$(TARGET_LDFLAGS)" \
+		CPPFLAGS="$(GMP_CPP_FLAGS)" \
  		ac_cv_c_bigendian=$(GMP_BE) \
  		$(GMP_DIR)/configure \
  		--target=$(GNU_TARGET_NAME) \
@@ -52,7 +65,7 @@
  		--includedir=/include \
  		--mandir=/usr/man \
  		--infodir=/usr/info \
-		--enable-shared \
+		$(GMP_LIB_FLAGS) \
  		$(DISABLE_NLS) \
  	);
  	touch $@
@@ -105,12 +118,12 @@
  		CC_FOR_BUILD="$(HOSTCC)" \
  		CC="$(HOSTCC)" \
  		CFLAGS="$(HOST_CFLAGS)" \
+		CPPFLAGS="$(GMP_CPP_FLAGS)" \
  		$(GMP_DIR)/configure \
  		--prefix="$(GMP_HOST_DIR)" \
  		--build=$(GNU_HOST_NAME) \
  		--host=$(GNU_HOST_NAME) \
-		--enable-shared \
-		--enable-static \
+		$(GMP_LIB_FLAGS) \
  		$(DISABLE_NLS) \
  	);
  	touch $@
--- 
buildroot.orig/toolchain_build_arm/uClibc-0.9.29/extra/config/Makefile 
2007-04-17 04:38:21.000000000 -0700
+++ buildroot/toolchain_build_arm/uClibc-0.9.29/extra/config/Makefile 
2007-05-29 19:34:47.200380600 -0700
@@ -21,7 +21,7 @@
  	$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) 
$(HOST_LOADLIBES) $< -o $@

  $(host-cmulti): %: $(host-cobjs) $(host-cshlib)
-	$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) 
$(HOST_LOADLIBES) $($@-objs) -o $@
+	$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) 
$(HOST_LOADLIBES) $($@-objs) -lintl -o $@

  $(host-cobjs): %.o: %.c
  	$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@

  reply	other threads:[~2007-05-30  3:07 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-25 14:49 [Buildroot] ALSA for build root Rod Boyce
2007-05-25 15:13 ` Daniel Laird
2007-05-25 18:56 ` Peter at busybox.net
2007-05-25 19:03   ` Stuart Wood
2007-05-25 19:23 ` [Buildroot] Package selection question Tom
2007-05-25 19:51   ` Yann E. MORIN
2007-05-25 20:38     ` Bernhard Fischer
2007-05-25 20:45       ` Yann E. MORIN
2007-05-25 21:10         ` Tom
2007-05-26  9:23         ` Bernhard Fischer
2007-05-26 10:22           ` Yann E. MORIN
2007-05-25 20:03   ` Bernhard Fischer
2007-05-25 20:59     ` Tom
2007-05-26  9:50       ` Bernhard Fischer
     [not found]     ` <4657D353.7030704@gmail.com>
2007-05-26  6:33       ` [Buildroot] mpfr error on cygwin for arm Tom
     [not found]     ` <4657D933.8060109@gmail.com>
2007-05-26  9:48       ` Bernhard Fischer
2007-05-30  3:07         ` Tom [this message]
2007-05-30  9:47           ` Bernhard Fischer
2007-05-30 16:03             ` Tom
2007-05-31  7:33             ` Tom
2007-05-25 20:05   ` [Buildroot] Package selection question Bernhard Fischer
2007-05-26 14:45 ` [Buildroot] ALSA for build root Rod Boyce
2007-05-29  7:03   ` Hans-Christian Egtvedt
2007-05-29 20:00     ` Bernhard Fischer
2007-05-30 22:29       ` [Buildroot] ALSA for build root Part 2 Rod Boyce
2007-06-06  7:47         ` Hans-Christian Egtvedt
2007-05-29 20:04     ` [Buildroot] ALSA for build root Bernhard Fischer
2007-05-29 23:01       ` Rod Boyce
     [not found] <465F9792.9000200@gmail.com>
     [not found] ` <20070601094409.GA23984@aon.at>
2007-06-01 20:32   ` [Buildroot] mpfr error on cygwin for arm Tom
2007-06-01 22:11     ` Bernhard Fischer
2007-06-02  1:27       ` Tom
2007-06-02  8:41         ` Bernhard Fischer

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=465CEA84.70700@gmail.com \
    --to=fivemiletom@gmail.com \
    --cc=buildroot@busybox.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.