Package: gnustep-make Version: lenny onwards (>= 2.0.6-2) The bug is not actually in the package; rather it is in the way Debian has been packaging it from 'lenny' onwards.
In 'etch', this package was architecture-dependent. From 'lenny' onwards it is architecture-all. This affects the included file 'config-noarch.make' which should be architecture-dependent as it overrides various GNUSTEP_HOST_* variables, including GNUSTEP_HOST_CPU, during 'make'. On a 32-bit system, this problem is masked. On a 64-bit system, however, the _HOST and _HOST_CPU variables are incorrect: GNUSTEP_HOST_CPU=ix86 GNUSTEP_HOST=i486-pc-linux-gnu Note that the GNUstep environment variables in the shell are correct: GNUSTEP_HOST=x86_64-pc-linux-gnu GNUSTEP_HOST_CPU=x86_64 I exchanged an email asking for clarification with the upstream maintainer of gnustep-make; please find it attached. His assumption is that Ubuntu/Debian are configuring gnustep-make with '--disable-multi-platform', which turns the package into a platform-dependent version of itself. It would need to be configured with '--enable-multi-platform' instead in order to be platform-independent. Many thanks, - Micha.
From nicola....@xxx.com Sun May 30 22:23:00 2010 Return-path: <nicola....@xxx.com> Envelope-to: mi...@michaelwerle.com Delivery-date: Sun, 30 May 2010 22:23:01 +0100 The reason your GNUSTEP_HOST_* settings are ignored is that gnustep- make was configured with --disable-multi-platform, which (for speed) assumes that GNUSTEP_HOST_* is the one used when gnustep-make was configured. If you want to be able to override GNUSTEP_HOST_* (or have it determined at runtime) you have to configure gnustep-make with ./configure --enable-multi-platform Now, having said that, as you say it sounds like Ubuntu is shipping gnustep-make as platform-independent while GNUSTEP_HOST_* is actually platform dependent. I imagine they maybe assume that nobody is actually using that variable ? You have a few options ... 1. talk to the Ubuntu/Debian packagers and explain ... it may take a while before they do new packages though 2. manually change config-noarch.make after installing replacing the hardcoded CPU info with the one appropriate for the machine 3. manually commenting out the lines setting GNUSTEP_HOST_* in config-noarch.make after installation (to basically --enable-multi- platform manually) 4. ignore GNUSTEP_HOST_* and use some variable of your own. Set your own shell variable in /etc/profile (either using "uname", or just hardcoded on each machine) and use it. Instead of using a shell variable, you can also set a makefile variable, for example by adding a makefile into xxx/Makefiles/Additional/ (give it any name you want, eg, my- host.name) in which you set a variable, eg "MY_GNUSTEP_HOST_CPU=i386". All these makefiles are automatically included so your variable would always be set. Let me know if this helps ? :-) Thanks On 30 May 2010, at 18:32, Michael Werle wrote: > Hi Nicola, > > I got your email address off bheron on #GNUstep. I hope you don't mind > me contacting you directly. > > We have a GNUmakefile which uses the GNUSTEP_HOST_CPU environment > variable to determine whether we are compiling for 32-bit (x86) or > 64-bit (x86_64). However, I've just noticed that this doesn't seem to > be working under Ubuntu Lucid. > > In the environment, GNUSTEP_HOST_CPU is correctly set to 'x86_64' on > my > 64-bit system, and to 'x86' on my 32-bit VM. However, > the /usr/share/GNUstep/Makefile/config-noarch.make file shipped with > the > gnustep-make package overrides this value with 'ix86'. > > Is this by design? I would expect the config-noarch.make file to only > set the variable if it isn't set already. > > > Furthermore, having built gnustep from sources, the config-noarch.make > file contains the correct cpu info for my machine. So perhaps this > is a > packaging issue with Ubuntu as well, since they ship gnustep-make as > an > architecture-independent package when this file, at least, should be > architecture-dependent. > > Could you please shed some light on what the expected behaviour is? > > Many thanks, > - Micha.
signature.asc
Description: This is a digitally signed message part