[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Mingw-cross-env-list] gSoap on FreeBSD and OSX
From: |
Mark Brand |
Subject: |
Re: [Mingw-cross-env-list] gSoap on FreeBSD and OSX |
Date: |
Tue, 26 Jan 2010 10:49:38 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20100111 SUSE/3.0.1-9.1 Thunderbird/3.0.1 |
> FreeBSD requires bison (pkg_add -r bison) to build gsoap successfully.
> The readme indicates yacc should work also, but I couldn't figure it
> out, and bison isn't an unreasonable pre-requisite.
>
Volker ran into the dependencies on flex and yacc/bison and pointed out
that these are not requirements for mingw-cross-env. The generated
files, sources for soapcpp2, don't come with the tarball. As I suggested
to Volker, we could supply the sources with a patch if we don't want to
require the additional tools. It's about 256K of source code, which is
why I didn't post the patch here on the list.
> On OSX, the build fails with a "Malformed archive" error (log
> attached). This seems to be caused by using the native ar instead of
> the cross-ar. There's no reference to ar in configure (no
> ac_cv_prog_ar or AR) so the following change:
>
> diff -r 14708edd30e9 src/gsoap.mk
> --- a/src/gsoap.mk Sat Jan 23 22:24:00 2010 +0100
> +++ b/src/gsoap.mk Tue Jan 26 16:47:17 2010 +1100
> @@ -55,7 +55,7 @@
> ln -s '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)'/gsoap/src/soapcpp2
>
> # Parallel bulds can fail
> - $(MAKE) -C '$(1)' -j 1
> + $(MAKE) -C '$(1)' -j 1 AR=$(TARGET)-ar
>
> $(MAKE) -C '$(1)' -j 1 install
> # Apparently there is a tradition of compiling gsoap source files
> into applications.
>
> allows the build to complete, but I'm not sure why this is needed when
> FreeBSD (and Ubuntu, but I can't check the log right now) seem to have
> no problems using the native ar.
>
> Any thoughts?
>
I have to admit not noticing that plain ar was used, but it seems to
have worked for me on opensuse 11.2. With i686-pc-mingw32-ar introduced
by your patch, it still works.
-Mark