On 2020-03-01 11:35, Cao Qinxiang wrote: > Dear Cygwin development team and Cygwin experts, > > 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 > 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 > 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. -- 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