FYI... apparently I still had old headers on my system when I tested this
all out... cleaned everything up and tried again and GSConfig.h gets
installed to the wrong place. Only that header goes to
/usr/include/ix86-linux-gnu/gnu-gnu-gnu/ix86-linux-gnu/gnu-gnu-gnu/. This
seems to stem from the fact that configure takes Headers/GNUstepBase/
GSConfig.h.in and outputs it to
Sources/ix86-linux-gnu/gnu-gnu-gnu/GSCinfig.h, which is a strange place for
it to go (from Headers to Sources).

That's the only header that gets installed to the wrong place, as far as i
can tell. Because of this, I can't build anything depending on base, it all
falls because GSConfig.h isn't found.

Regards
Stefan
On Jun 30, 2016 3:55 AM, "Richard Frith-Macdonald" <r...@gnu.org> wrote:

>
> > On 30 Jun 2016, at 00:23, Stefan Bidigaray <stefanb...@gmail.com> wrote:
> >
> > OK, I've had a chance to play around with this over the last few days
> and have, probably, more comments that you care for. I organized this email
> by general comments and details about them...
> >
> > GUESSING THE ARCH TRIPLET
> > So I installed with --disable-nonflattened and ended up with a
> ix86-pc-linux-gnu/ directory in /usr/lib. Even if we were to standardize
> this to i386-pc-linux-gnu, it would still be different to what Debian is
> offering (see https://wiki.debian.org/Multiarch/Tuples). There, the
> "vendor" section of the tuple is missing. According to the Autoconf manual,
> if --build, --host and/or --target are to be used (with
> AC_CANONICAL_{BUILD,HOST,TARGET}), then a current config.guess must be
> included.
>
> I agree completely ...I already highlighted this as the next stage we need
> to sort out.  As yet I havent managed to find out exactly how Debian does
> this.
>
> > LIBRARY COMBOS
> > I don't understand why these are still needed. Can't the library combo
> be inferred from the architecture triplet, nowadays? Maybe this was
> something that made sense when GNUstep first started, as there were so many
> completing ObjC libraries? Currently, I'm not entirely convinced this makes
> sense. For example, if you are deploying for apple-apple-apple your
> arch-triplet is x86_64-apple-darwin (or is it x86_64-apple-apple? I don't
> know), right? Is anything besides gnu-gnu-gnu and apple-apple-apple still
> around? As far as I can tell, adding this directory makes our non-flattened
> system incompatible with the Debian multi-arch system. And honestly, I'm
> not sure it is still buying us anything of value. It should be up to the
> person compiling GNUstep to ensure that they are not mixing the GNUstep
> libraries and something else that might be compatible. I mean, this person
> should know.
>
> I almost agree ... in fact there are few real libraries combos, and it
> never been the case afaik that the gui part was necessary, but ...
> I have gnu-gnu-gnu and ng-gnu-gnu and apple-apple-apple, and there are a
> couple of others people are probably still using.
> The library combo doesn't break Debian compatibility at all, because it's
> a separete subdirectory;
> ie we have path/architecture/combo/resources not
> path/architecture-combo/resources and as far as debina is concerned
> combo/resources can be seen as equivalent to just resources
> So while I'm not convice the library combo is ideal, I also don't see it
> as a problem (and do see a need for it, or something equivalent, to exist
> for the forseeable future).
>
>
> > HOST/TARGET NOMENCLATURE CONFUSION
> > My first problem while reading through the current GNUstep-make
> documentation was with contradictory nomenclature between Autotools and
> GNUstep-make. In Autotools parlance, build is the machine where to software
> is being build, host is the machine where the software will be run, and
> target is the machine where the output of the software will be run on (only
> really applies to compilers, I think). This means that there's a constant
> translation that needs to happen in your head, where: Autotools build ->
> GNUstep-make host; Autotools host -> GNUstep-make target; and Autotools
> target -> ??? (
> https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html#Specifying-Target-Triplets).
> When I started looking over our documentation earlier this week, I was
> utterly confused by section 1.7.3 of the make documentation (
> http://www.gnustep.org/resources/documentation/make_1.html). It took me a
> few minutes to realize the GNUstep nomenclature was inconsistent with
> Autotools. I, personally, consider this to be a major bug in GNUstep.
>
> Agreed, I have beeen confused by this too.  In fairness to the original
> author of the code, the GNUstep terminology makes much more sense (and was
> probably implemented in ignorance of autotools cross-compilation), but
> compatibility/consistency withg autotools seems more important to me.
>
> > DEFAULT TO NON-FLATTENED
> > Riccardo makes a good point, and maybe it would not make it any easier
> to default to the non-flattened. People who need this layout are already
> going to be intimate with the GNUstep build system (a distribution
> maintainer) and will know to add --disable-nonflattened to GNUstep-make.
>
> I shouldn't have brought this up ... it's very much the last thing to look
> at if/when we are satisfied with multiarch support in general.
>
> >  (3) include a current config.guess script (we can probably steal one
> from the GCC or Glibc project)
> Yep, but Debian docs say they use a 'sanitised' version ... so we also
> need to figure out how to do that.
>
> >  (4) fix GNUstep's use of build, host and target (GNUSTEP_BUILD and
> GNUSTEP_HOST, GNUSTEP_TARGET should go away);
> I guess so, though I think this is something we could do after getting
> other things working.
>
> > (5) if GNUstep-make's configure script is given a --target=cpu-vendor-os
> directive, that indicates all packages using it are to be installed in a
> non-flattened manner to that target and define GNUSTEP_HOST to this value;
> I thought that aleready applied (or something similar).
>
> > (6) introduce a --enable-unbundled and use the values of Autoconf's
> installation directory variables (
> https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Installation-Directory-Variables.html#Installation-Directory-Variables)
> to figure out where "unbundled" installations go
> We already have filesystem layout info which works with the Cocoa APIs so
> that apps can find installed resources at runtime, and we need to keep that
> capability.
> But perhaps we could add an option to check that the autoconf filesystem,
> info is consistent with the current selected filesystem layout.
>
>
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to