error compiling postgresql with fedora mingw

Richard W.M. Jones rjones at redhat.com
Wed Nov 26 15:19:06 UTC 2008


On Wed, Nov 26, 2008 at 03:42:56PM +0100, Farkas Levente wrote:
> Ralf Corsepius wrote:
> > On Wed, 2008-11-26 at 09:14 -0500, Tom Lane wrote:
> >> Ralf Corsepius <rc040203 at freenet.de> writes:
> >>> On Wed, 2008-11-26 at 11:05 +0000, Daniel P. Berrange wrote:
> >>>> On Tue, Nov 25, 2008 at 02:19:27PM -0500, Tom Lane wrote:
> >>>>> That makes sense.  Could you have simplified matters by just prepending
> >>>>> /usr/i686-pc-mingw32/bin to your PATH?
> >>> That said, I also recommend against this habit - In case of properly
> >>> packaged autoconf/automake-based packages it definitely wrong.
> >> Seems like these choices are carefully calculated to cause the maximum
> >> amount of pain to *both* the upstream projects and the poor sods trying
> >> to build them.
> > The logic actually is very simple:
> > 
> > configure --host=i686-pc-mingw32
> > will search for i686-pc-mingw32-prefixed tools (such as
> > i686-pc-mingw32-gcc) in $PATH.
> 
> there is a fedora-mingw list which is the right place to ask.
> anyway in the latest mingw32-filesystem there is a script
> mingw32-configure which do it right.

Yes, to be clearer what Levente means is that you should use:

  %{_mingw32_configure}

in RPM specfiles, and if just building from the command line use:

  mingw32-configure

Both are merely wrappers around this basic command:

  ./configure --host=i686-pc-mingw32

except that they set a lot more paths and a environment variables,
which are needed in rarer / corner cases.

The full expansion is below for anyone who is interested, although
only PKG_CONFIG_PATH is needed in 95% of cases.

Rich.

  HOST_CC=gcc; export HOST_CC; 
  AS="i686-pc-mingw32-as"; export AS; 
  AR="i686-pc-mingw32-ar"; export AR; 
  NM="i686-pc-mingw32-nm"; export NM; 
  OBJDUMP="i686-pc-mingw32-objdump"; export OBJDUMP; 
  PKG_CONFIG_PATH="/usr/i686-pc-mingw32/sys-root/mingw/lib/pkgconfig"; export PKG_CONFIG_PATH; 
  CC="${MINGW32_CC:-i686-pc-mingw32-gcc}"; export CC; 
  CXX="${MINGW32_CXX:-i686-pc-mingw32-g++}"; export CXX; 
  CFLAGS="${MINGW32_CFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields}"; export CFLAGS; 
  CXXFLAGS="${MINGW32_CXXFLAGS:--O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4 -mms-bitfields}"; export CXXFLAGS; 
  for i in `ls /usr/i686-pc-mingw32/sys-root/mingw/bin|grep -- "-config$"` ; do 
    CONFIG_NAME=`echo $i|tr "a-z-" "A-Z_"`; 
    declare -x $CONFIG_NAME="/usr/i686-pc-mingw32/sys-root/mingw/bin/$i" ; export $CONFIG_NAME; 
  done ; 
  ./configure --cache-file=mingw32-config.cache \
        --host=i686-pc-mingw32 \
        --build=x86_64-unknown-linux-gnu \
        --target=i686-pc-mingw32 \
        --prefix=/usr/i686-pc-mingw32/sys-root/mingw \
        --exec-prefix=/usr/i686-pc-mingw32/sys-root/mingw \
        --bindir=/usr/i686-pc-mingw32/sys-root/mingw/bin \
        --sbindir=/usr/i686-pc-mingw32/sys-root/mingw/sbin \
        --sysconfdir=/usr/i686-pc-mingw32/sys-root/mingw/etc \
        --datadir=/usr/i686-pc-mingw32/sys-root/mingw/share \
        --includedir=/usr/i686-pc-mingw32/sys-root/mingw/include \
        --libdir=/usr/i686-pc-mingw32/sys-root/mingw/lib \
        --libexecdir=/usr/i686-pc-mingw32/sys-root/mingw/libexec \
        --localstatedir=/usr/i686-pc-mingw32/sys-root/mingw/var \
        --sharedstatedir=/usr/i686-pc-mingw32/sys-root/mingw/com \
        --mandir=/usr/i686-pc-mingw32/sys-root/mingw/share/man \
        --infodir=/usr/i686-pc-mingw32/sys-root/mingw/share/info


-- 
Richard Jones, Emerging Technologies, Red Hat  http://et.redhat.com/~rjones
Read my OCaml programming blog: http://camltastic.blogspot.com/
Fedora now supports 68 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora




More information about the devel mailing list