rebaseall breaks some packages(?)

Marco Atzeri marco.atzeri@gmail.com
Sun Jul 6 19:19:00 GMT 2014


On 06/07/2014 20:34, Andrey Repin wrote:
> Greetings, D. Boland!
>
>
>> My students (100+) repeatedly got these errors,

than eventually they should ask help here..

>> What's the deal with this "rebasing" anyway? Every compiler has a built-in
>> mechanism to create unique offsets. Windows itself also rebases binaries at
>> load-time.
>
> Windows and POSIX models require different load techniques.
> Cygwin provide POSIX compatibility layer.

On Posix the fork is a fundamental function.
Fork requires that all dll's on children process
are reloaded at the same address used in the father process.
Windows make this very difficult and rebase align
dll loading spaces in NOT overlapping ones making collision
and fork failures more unlikely.

>> On the other hand, why not rebase at compile-time?

on 32 bit, we will not have enough space anyway.
On both platform  we should syncronize all the package maintainers at a 
certain point for all distributed shared library, titanic job and 
useless as the first upgrade of any shared library package will require
likely a different address space.

>> Rebasing should not be the responsibility of the user, but of the developer.
It is currently done by setup. But sometime things go wrong
and a you need a fresh restart.
Think of it like car tires, usually you don't touch them
but if the tire breaks you need to change it.

> Cygwin users are developers. That's the intended audience, anyway.

That is clearly a wrong assumptions.
If our user were all developers we will be very few.
I expect very few users of my packages to be software developers

> --
> WBR,
> Andrey Repin (anrdaemon@yandex.ru) 06.07.2014, <22:18>

Regards
Marco

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list