Re: flexdll error: cannot relocate RELOC_REL32
Dear Achim and Brian, Thank you very much for you suggestions. And as Achim guessed, I was trying to build a ocaml based library: Menhir. Currently, my problem is still not solved. If I try: --- echo /usr/lib/ocaml/stublibs/ > /var/lib/rebase/dynpath.d/ocaml --- and then rebase, I get the following error: --- Fatal error: cannot load shared library dllunix Reason: flexdll error: cannot relocate RELOC_REL32, target is too far: 0xfffc02088b5f 0x2088b5f --- I also tried to check whether BLODA is involved. I use --- export CYGWIN=detect_bloda --- But when I compile menhir, I get the same error message about fork() and dllunix.so, but no bloda is detected. Also, if I try to search "dllunix.so", I find the following instances: --- /lib/ocaml/stublibs/dllunix.so /usr/lib/ocaml/stublibs/dllunix.so /proc/sys/KernelObjects/HighCommitCondition/dllunix.so /proc/sys/KernelObjects/HighMemoryCondition/dllunix.so /proc/sys/KernelObjects/LowCommitCondition/dllunix.so /proc/sys/KernelObjects/LowMemoryCondition/dllunix.so /proc/sys/KernelObjects/MaximumCommitCondition/dllunix.so /proc/sys/KernelObjects/MemoryErrors/dllunix.so /proc/sys/KernelObjects/PhysicalMemoryChange/dllunix.so Is there a duplication there? I don't think I manually add any of these. Best, Qinxiang Cao Shanghai Jiao Tong University, John Hopcroft Center Room 1110-2, SJTUSE Building 800 Dongchuan Road, Shanghai, China, 200240 On Tue, Mar 3, 2020 at 1:33 AM Achim Gratz wrote: > Brian Inglis writes: > > Try what's documented in /usr/share/doc/Cygwin/_autorebase.README for > DLLs under > > non-standard system paths: > > …which by some extension means you shouldn't add system paths. > > > create a file /var/lib/rebase/dynpath.d/ocaml containing your .so > directory path > > /usr/lib/ocaml/stublibs/: > > Don't. The OCaml stublibs must not be rebased. > > > Regards, > Achim. > -- > +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ > > SD adaptation for Waldorf rackAttack V1.04R1: > http://Synth.Stromeko.net/Downloads.html#WaldorfSDada > > -- > 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 > > -- 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
Re: flexdll error: cannot relocate RELOC_REL32
Dear Brian, 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 put my /var/cache/rebase/ folder in this git repo " https://github.com/QinxiangCao/CygwinDebug"; and hope it can help detect the problem. Thank you very much! Best regards, Qinxiang Cao Shanghai Jiao Tong University, John Hopcroft Center Room 1110-2, SJTUSE Building 800 Dongchuan Road, Shanghai, China, 200240 On Mon, Mar 2, 2020 at 3:58 PM Brian Inglis wrote: > 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' (0x40) 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' (0x40) 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: > > 0xfffc02088b5f 0x2088b5f > > > > > > I searched solutions for this new problem. Most solutions are to manually > > rebase dllunix to a lower number like 0x0644. However, I cannot > > do that. Here is what I get in Cygwin: > > > > > > $ rebase -b 0x0644 /usr/lib/ocaml/stublibs/dllunix.so > > rebase: Invalid Baseaddress 0x0644, must be > 0x2 > > > > > > 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' (0x40) 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' (0x40) 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
flexdll error: cannot relocate RELOC_REL32
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' (0x40) 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' (0x40) 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: 0xfffc02088b5f 0x2088b5f I searched solutions for this new problem. Most solutions are to manually rebase dllunix to a lower number like 0x0644. However, I cannot do that. Here is what I get in Cygwin: $ rebase -b 0x0644 /usr/lib/ocaml/stublibs/dllunix.so rebase: Invalid Baseaddress 0x0644, must be > 0x2 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' (0x40) 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' (0x40) is already occupied /cygdrive/g/Cygwin/menhir-20190924/src/_stage1/myocamlbuild: "fork" failed: Resource temporarily unavailable Thank you very much! Qinxiang Cao Shanghai Jiao Tong University, John Hopcroft Center Room 1110-2, SJTUSE Building 800 Dongchuan Road, Shanghai, China, 200240 -- 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