Buildroot Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox