delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2020/03/02/11:46:43

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:reply-to:subject:to:references:cc:from
:message-id:date:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=KP8xgFK+l4YPRWv/
EwMJd2te9CgpPxCQp4ZIraNzDzUQsW+lE0p4wgk6iNfVrMcS7cUM64o6lF0+e2+b
l1RXkpbR2DNNU4k5PgWXcETWb871Bqc0FLlTkTXWmseZD+EUTAhbjHWsJmTb44Fy
Ms4JsLj5epYFwTRq6kgqcC04Fc0=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:reply-to:subject:to:references:cc:from
:message-id:date:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=YALRXqQCwPyacrmIUPLM7f
AdWME=; b=S+np3ZyCvRMykRb2eoqfz943zkwcc0K0rTa5T0UIszHsW+VVZs4hdL
u13kItt1e9E6j3XfKP5A9AOo90z/dbdL1HoRhf/AQ7kcxq8J+uaQ4bJ9ry6PREQn
+7jtxhgzfvjkf8LuxA6rr7YM9hWAQNrFwnAaONp82h+w9TGItO1aM=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,KAM_NUMSUBJECT,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 spammy=nonstandard, non-standard
X-HELO: smtp-out-no.shaw.ca
Reply-To: cygwin AT cygwin DOT com
Subject: Re: flexdll error: cannot relocate RELOC_REL32
To: cygwin AT cygwin DOT com
References: <CAKAoUeZ3o46hvVkQ1S+ZXX637Mxt41zYSH3u4pHC3FbfkJNWnw AT mail DOT gmail DOT com> <a7c79cdc-9ae3-46ce-5eba-c413a19fad27 AT SystematicSw DOT ab DOT ca> <CAKAoUeasRTycj61MOn6KWWUhhc_3COrQ4-WcoyJKcJZV4HHqRA AT mail DOT gmail DOT com>
Cc: Cao Qinxiang <caoqinxiang AT gmail DOT com>
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Message-ID: <6f465767-08af-cb75-8d32-6ba3e6254e72@SystematicSw.ab.ca>
Date: Mon, 2 Mar 2020 09:30:14 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
MIME-Version: 1.0
In-Reply-To: <CAKAoUeasRTycj61MOn6KWWUhhc_3COrQ4-WcoyJKcJZV4HHqRA@mail.gmail.com>
X-IsSubscribed: yes

On 2020-03-02 05:57, Cao Qinxiang wrote:
> On Mon, Mar 2, 2020 at 3:58 PM Brian Inglis wrote:
>> On 2020-03-01 11:35, Cao Qinxiang wrote:
>>> I use Cygwin-64 on windows and get a fork problem when I try to manually 
>>> install menhir package.>> 0 [main] ocamlrun 1615 child_info_fork::abort: 
>>> address space needed by 'dllunix.so' (0x400000) is already occupied
>>> /usr/bin/ocamldep.opt -modules menhir.ml <http://menhir.ml> > menhir.ml.depends
>>> 0 [main] ocamlrun 1616 child_info_fork::abort: address space needed by
>>> 'dllunix.so' (0x400000) is already occupied
>>> /cygdrive/g/Cygwin/menhir-20190924/src/_stage1/myocamlbuild: "fork"
>>> failed: Resource temporarily unavailable
>>> I follow online suggestion to run "/usr/bin/rebaseall -v" using ash.exe.
>>> However, I get another program after that:
>>> Fatal error: cannot load shared library dllunix
>>> Reason: flexdll error: cannot relocate RELOC_REL32, target is too far:
>>> 0xfffffffc02088b5f  0x2088b5f
>>> I searched solutions for this new problem. Most solutions are to manually 
>>> rebase dllunix to a lower number like 0x06440000. However, I cannot do
>>> that. Here is what I get in Cygwin:
>>> $ rebase -b 0x06440000 /usr/lib/ocaml/stublibs/dllunix.so
>>> rebase: Invalid Baseaddress 0x06440000, must be > 0x200000000
>>> So, what should I do to this problem?
>>> Also, if I did not use "/usr/bin/rebaseall -v" using ash.exe, but follow 
>>> FAQ's suggestion (run "rebase-trigger fullrebase" in Cygwin), then I
>>> cannot solve the fork problem and still get
>>> 0 [main] ocamlrun 1615 child_info_fork::abort: address space needed by 
>>> 'dllunix.so' (0x400000) is already occupied
>>> /usr/bin/ocamldep.opt -modules menhir.ml <http://menhir.ml> > menhir.ml.depends
>>> 0 [main] ocamlrun 1616 child_info_fork::abort: address space needed by
>>> 'dllunix.so' (0x400000) is already occupied
>>> /cygdrive/g/Cygwin/menhir-20190924/src/_stage1/myocamlbuild: "fork"
>>> failed: Resource temporarily unavailable
>> Run rebase-trigger full then shut down *ALL* Cygwin processes: check Task 
>> Manager Details tab Image path name column for process paths under Cygwin
>> root and kill.
>> If rebase-trigger full fails, create /var/cache/rebase/fullrebase.
>> Then download and run Cygwin setup and let all the postinstall scripts
>> complete.

> Thank you for you reply.
> But it does not solve my problem. When I run "rebase-trigger full", I get the
> following message:
> Note: _autorebase will do a full rebase the next time setup is run.
> If I check /var/cache/rebase/fullrebase at this time, it contains the follow
> information:
> # _autorebase will do a rebuild of the rebase database if this file
> # exists and then rename it to fullrebase.done
> Then I closed Cygwin and checked Task Manager Details (found no exe in
> cygwin folder). Then I run Cygwin setup. But after I rerun Cygwin again, I
> get the same error message about dllunix.so. BTW, in
> /var/cache/rebase/rebase_all, I found nothing related to dllunix.so. Is a the
> reason? I attached my /var/cache/rebase/ folder to this email and hope it can
> help detect the problem.
Try what's documented in /usr/share/doc/Cygwin/_autorebase.README for DLLs under
non-standard system paths:

create a file /var/lib/rebase/dynpath.d/ocaml containing your .so directory path
/usr/lib/ocaml/stublibs/:

	$ echo /usr/lib/ocaml/stublibs/ > /var/lib/rebase/dynpath.d/ocaml

then rebase-trigger full, shutdown all Cygwin processes, rerun setup, and your
Cygwin setup should be properly rebased including your added DLLs/SOs.

If you were testing as a user, you should add your build paths to
/var/lib/rebase/user.d/$USER e.g.

	$ echo $HOME/src/build/lib/ocam/stublibs/ > /var/lib/rebase/user.d/$USER

and do the above to pick up the added paths and include them in the Cygwin
rebase database.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.

--
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019