Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-12-18 07:00:19


Oliver.Kowalke_at_[hidden] wrote:

>> It's quite reasonable
>> to build things on operating system X version N and have it
>> run on operating system Y version M.
>> Compiler running on Linux and producing binaries for Windows
>> is a common beast.
>
> I think this is not true:

I've used such a cross-compiler personally. It works and the
produced binaries run on Windows.

> UNIX : socket().
> WIN: WSASocket()

And? When you're building for mingw using Linux-hosted compiler,
the set of header files and functions and preprocessor defines is the
same as if you was running Windows-hosted compiler.

>> > From: Martin Bonner
>> >
>> >> From: Oliver.Kowalke_at_[hidden]
>> >> > With autoconfig the build process can check if strerror_r
>> >> is avaliable
>> >> > and provide strerror as fall back.
>> >>
>> >> Autoconfig can check if strerror_r is available ON THE
>> BUILD MACHINE.
>> >> It CANNOT tell whether it will be available on the target machines.
>> >
>> > It is you fault if you distribute a software to an platform
>> for which
>> > it wasn't build.
>> > If build and target machine have the same os version and
>> release then
>> > the system calls should be the same.
>>
>> And why do you think that build and target machine should
>> have the same os version and release?
>
> Because some system calls differ between the OS's and/or between
> releases.
> In this case the problem was that strerror_r is avaliable on LINUX and
> on Solaris 2.8 not.
> But Solaris 2.8 (and even HP/UX 11.11) provide an threadsafe strerror
> function.
> If I think on the BSD socket library - differences in the function flags
> and the behaviour
> Are common (even between releases).

As I've mentioned above, if you have cross-compiler that run on Solaris N
and targets Solaris N-1, that cross-compiler has the set of headers and
libraries from Solaris N-1, so any properties of Solaris N-1 that are
discoverable by preprocessor symbols, compile tests, or link tests, can
be take into account.

The only think you cannot do is build a program for Solaris N-1, run it,
and draw any conclusions from that -- because you'll be running it on
Solaris N.

Do any of the differences you list above require running a program to check
for them?

- Volodya

>
>

>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk