This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)


Robert Collins wrote:

> > Part of the problem may be that cyggdbm.dll was built with
> > --auto-image-base.  It was later demonstrated that this can cause
> > problems with fork; you're better off just letting ld assign the
> default
> > dllbase, which means that EVERY process will remap the dll at runtime.
> > Thus, no hardcoded conflicts.  Downside: *very* slightly delay in
> > loading DLLs -- probably unnoticeable.
> >
> > (Did I get that right, robert?)
> 
> Yes. There is actually a longer term solution... which is to 'rebase'
> every cygwin linked .dll on a particular system to not conflict with
> each other - which has to be done by setup.exe.

Yes, but only with the apps and dll's that setup knows about.  Recall
the discussion on this list some months ago concerning sybase DLL's (I
think).   Somebody had a custom cygwin app that linked to
vendor-supplied database DLLs as well as cygwin stuff (which is fine as
long as the resulting app is not distributed...GPL conflicts
notwithstanding).

Anyway, they had a problem after upgrading to a new cygwinish dll
(cygncurses?? I think) w.r.t. load-on-fork.  There's no way setup/rebase
can be used to avoid that problem a_priori...is there?  (As I recall,
the person did a 'hand rebase' on his own system to work around
it...aware that he would have to repeat the process every time he
updated that problem DLL from the cygwin dist)

--Chuck

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]