pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: Buildbot success in GNU pspp CI on debian-buster-amd64


From: John Darrington
Subject: Re: Re: Buildbot success in GNU pspp CI on debian-buster-amd64
Date: Wed, 6 Jan 2021 10:55:49 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

After a bit of research, I found what appears to be the source for these
scripts at

https://build.opensuse.org/package/view_file/openSUSE:Factory/mingw32-filesystem/macros.mingw32

There is quite a bit of code there, so I don't claim to understand all of
it, but what I have seen confirms my suspicions.  For example, code such
as

        PKG_CONFIG_PATH=%{_mingw32_ ..... [ on line 105 ]

seems to be forcing pkg-config to use the mingw32 binaries thus overiding
what we have set.   Similarly for the --host= option  (line 153)

I suppose this might be what the mingw developers "want" - that all code
on the planet is built using mingw -- but our goals are different.  What
we want is for everyone to be able to build PSPP for any platform (including
mingw).

To do this, we need the primary build to be cross compiled, but also a
small native build as part of the process.   What these mingw32- scripts
seem to be doing is forcing *everything* to be cross built using mingw.

Now this brute force approach happened to have worked fine until recently,
because we had no requirement for an auxilliary native build.   But now
that requirement has changed, and so overriding things the way mingw32-*
does is no longer going to work.  Trying to do so is going to result in
breakage.

So I stand by my original opinion:  Using mingw32-* is not an appropropriate
way to cross-build PSPP.  The appropriate way is documented in INSTALL - one
does:

        <path-to-src>/configure --host=<cpu>-<vendor>-<os>
        ... [possibly other options according to where your mingw libraries
            are installed]


That is what I have been doing repeatedly for the last few weeks without
anything breaking.   It is the way I would suggest to anyone else.

If anything is unclear or incomplete in INSTALL, then please file a bug
and we will fix it.   If there is enough interest, we could also include
a small wrapper script to configure and build a cross built PSPP on some
very popular platforms.


Regards,


John

   

On Tue, Jan 05, 2021 at 06:42:14PM +0100, Harry Thijssen wrote:
     Hi
     
     You can do a fresh install of openSUSE and run the included procedure to
     install the needed MingW environment and most of the needed dependencies.
     mingw-configure and mingw-make will be installed in that process.
     
     The way it is used is calling
       mingw32-configure    instead of    ./configure
       mingw32-make          instead of    make
     the same for mingw64.
     
     Stay safe
     
     .
     
     
     
     
     Op ma 4 jan. 2021 om 12:18 schreef John Darrington <
     john@darrington.wattle.id.au>:
     
     > All I can say is that I have performed cross build targeting mingw many,
     > many,
     > many times in the last few weeks using the standard method of building,
     > and I
     > have not encountered any serious issues.  Certainly nothing like the ones
     > that
     > both you and Fritz have encountered using these wrappers.
     >
     > So it seems reasonable to me, to suspect that these wrappers are relevant
     > to
     > the problem.   I don't have these wrappers.  If someone can give me 
access
     > to
     > them, then perhaps I can try to pinpoint the problem a little more
     > precisely.
     >
     > Until then,  I would urge anyone trying to cross build for mingw (or any
     > other
     > platform) to use the standard method described in the INSTALL file, since
     > that
     > is what we recommend and what has always worked, and is the GNU standard.
     >
     > J'
     >
     >
     > On Mon, Jan 04, 2021 at 11:27:56AM +0100, Harry Thijssen wrote:
     >
     >      It seems a bit bold to me to state that the developers of Mingw on
     > openSUSE
     >      release macros for calling Mingw with incorrect flags. Especially as
     > this
     >      always worked.
     >
     >      The current situation is that the source of PSPP and the routines of
     > Mingw,
     >      as released on openSUSE, are incompatible.  I don't know if this can
     > be
     >      solved and I am far from sure I can solve it. Especially as the
     > configure
     >      for cross-compiling triggers a native build  looks to me as a 
problem.
     >
     >      I would prefer the option as Fritz suggested or a pre-condition of a
     > native
     >      current PSPP build which can be called for cross-compiling.
     >
     >      I think these problems will disappear, if the pspp is built in the 
way
     >      > recommended in the
     >      > INSTALL file.  Just make sure the build and source directories are
     > not the
     >      > same.
     >      >
     >
     >      If someone wants to work on this, I am happy to support him/here 
with
     > my
OA     >      knowledge.
     >
     >      Stay safe
     >





reply via email to

[Prev in Thread] Current Thread [Next in Thread]