From: Simon M. <sim...@mi...> - 2004-04-01 09:00:39
|
=20 > Has anyone succeeded in getting wxhaskell to work under ghci on Linux? > On my system, I get an error message >=20 > Loading package unix ... ghc-6.2: can't load .so/.DLL for: dl=20 > (libdl.so: cannot open shared object file: No such file or directory) >=20 > This sounds like it has nothing to do with wxhaskell, but is a GHC > problem. Any pointers? Is libdl.so in the usual place? (/usr/lib on my system) Cheers, Simon |
From: Simon M. <sim...@mi...> - 2004-04-02 12:56:03
|
=20 > On Thu, 1 Apr 2004 16:08:51 -0500, Dylan Thurston=20 > <dp...@pe...> wrote: >=20 > > On Thu, Apr 01, 2004 at 10:00:23AM +0100, Simon Marlow wrote: > >> > >> > Has anyone succeeded in getting wxhaskell to work under=20 > ghci on Linux? > >> > On my system, I get an error message > >> > > >> > Loading package unix ... ghc-6.2: can't load .so/.DLL for: dl > >> > (libdl.so: cannot open shared object file: No such file=20 > or directory) > >> > > >> > This sounds like it has nothing to do with wxhaskell,=20 > but is a GHC > >> > problem. Any pointers? > >> > >> Is libdl.so in the usual place? (/usr/lib on my system) > > > > Yes. >=20 > I have noticed that ghci can't load ".so" files that are stripped > (while the ghc linker has no such problems.) >=20 > -- Daan. >=20 > (btw. I tested ghci on Fedora Core 1, and it works there) I just tested it here, and managed to get it working. I had to manually change the WXWIN-LIBS setting in config/config.mk: WXWIN-LIBS=3D-pthread -lwx_gtk-2.4 -lwx_gtk_gl-2.4 i.e. add the wx_gtk_gl library. You can get this from wx-config --gl-libs. This is RedHat 9, wxWindows 2.4.1 installed, GHC 6.2.1. Cheers, Simon |
From: Daan L. <daa...@xs...> - 2004-04-02 13:14:21
|
> I just tested it here, and managed to get it working. I had to manually > change the WXWIN-LIBS setting in config/config.mk: > > WXWIN-LIBS=-pthread -lwx_gtk-2.4 -lwx_gtk_gl-2.4 > > i.e. add the wx_gtk_gl library. You can get this from wx-config > --gl-libs. > > This is RedHat 9, wxWindows 2.4.1 installed, GHC 6.2.1. A true hacker edits config.mk :-) ... but you can also use configure with "--with-opengl" (if you have enabled openGL in wxWidgets.) Cheers, -- Daan |
From: Simon M. <sim...@mi...> - 2004-04-02 12:59:19
|
=20 > On Thu, Apr 01, 2004 at 10:00:23AM +0100, Simon Marlow wrote: > > =20 > > > Has anyone succeeded in getting wxhaskell to work under=20 > ghci on Linux? > > > On my system, I get an error message > > >=20 > > > Loading package unix ... ghc-6.2: can't load .so/.DLL for: dl=20 > > > (libdl.so: cannot open shared object file: No such file=20 > or directory) > > >=20 > > > This sounds like it has nothing to do with wxhaskell, but is a GHC > > > problem. Any pointers? > >=20 > > Is libdl.so in the usual place? (/usr/lib on my system) >=20 > Yes. >=20 > (FYI, this is a Debian unstable system.) >=20 > Everything works with GHC, by the way. Very strange. Is /usr/lib/libdl.so perhaps a symlink to a library that doesn't exist? That could happen if an upgrade had gone wrong, perhaps. Cheers, Simon |
From: Simon M. <sim...@mi...> - 2004-04-13 09:45:38
|
=20 > But it still won't run, because (apparently) ghci won't work with > stripped .so files, and Debian policy is to strip them. From the > Debian policy manual, section 10.2: >=20 > All installed shared libraries should be stripped with > strip --strip-unneeded <your-lib> > (The option `--strip-unneeded' makes `strip' remove only=20 > the symbols > which aren't needed for relocation processing.) Shared=20 > libraries can > function perfectly well when stripped, since the symbols=20 > for dynamic > linking are in a separate part of the ELF object file.[1] > > [1] You might also want to use the options=20 > `--remove-section=3D.comment' and > `--remove-section=3D.note' on both shared libraries and=20 > executables, and > `--strip-debug' on static libraries. >=20 > Any chance of fixing this in ghci, or do I have to keep an extra copy > of wxwidgets installed? What tool does ghci use for its dynamic > loading? Hmmm.... GHCi just uses the system's dynamic linker to link .so files (i.e. dlopen()/dlsym()), so I don't understand why it should behave differently. I'll look into it. Cheers, Simon |
From: Simon M. <sim...@mi...> - 2004-04-13 14:53:40
|
=20 > On Fri, Apr 02, 2004 at 01:59:08PM +0100, Simon Marlow wrote: > > Very strange. Is /usr/lib/libdl.so perhaps a symlink to a=20 > library that > > doesn't exist? That could happen if an upgrade had gone=20 > wrong, perhaps. >=20 > Thanks, it was a dangling symlink due to my filesystem layout. Sorry > for the stupidity. >=20 > But it still won't run, because (apparently) ghci won't work with > stripped .so files, and Debian policy is to strip them. From the > Debian policy manual, section 10.2: >=20 > All installed shared libraries should be stripped with > strip --strip-unneeded <your-lib> > (The option `--strip-unneeded' makes `strip' remove only=20 > the symbols > which aren't needed for relocation processing.) Shared=20 > libraries can > function perfectly well when stripped, since the symbols=20 > for dynamic > linking are in a separate part of the ELF object file.[1] >=20 > [1] You might also want to use the options=20 > `--remove-section=3D.comment' and > `--remove-section=3D.note' on both shared libraries and=20 > executables, and > `--strip-debug' on static libraries. >=20 > Any chance of fixing this in ghci, or do I have to keep an extra copy > of wxwidgets installed? What tool does ghci use for its dynamic > loading? I tried stripping /usr/lib/libwx_gtk-2.4.so.0.1.1 and libwxc-0.6.so, and GHCi was still able to load the wx package successfully. In fact, libwx_gtk appeared to be already stripped. What error messages do you get, specifically? Cheers, Simon |
From: Simon M. <sim...@mi...> - 2004-04-14 08:37:12
|
=20 > On Tue, Apr 13, 2004 at 03:53:31PM +0100, Simon Marlow wrote: > > I tried stripping /usr/lib/libwx_gtk-2.4.so.0.1.1 and=20 > libwxc-0.6.so, and > > GHCi was still able to load the wx package successfully. In fact, > > libwx_gtk appeared to be already stripped. > >=20 > > What error messages do you get, specifically? >=20 > Here it is: > ------------------------------- > Loading package base ... linking ... done. > Loading package haskell98 ... linking ... done. > Loading package lang ... linking ... done. > Loading package concurrent ... linking ... done. > Loading package QuickCheck ... linking ... done. > Loading package readline ... linking ... done. > Loading package unix ... linking ... done. > Loading package posix ... linking ... done. > Loading package util ... linking ... done. > Loading package data ... linking ... done. > Loading package wxcore ... ghc-6.2.1: can't load .so/.DLL=20 > for: wxc-gtk2.4.2-0.7=20 > (/usr/local/stow/wxhaskell//lib/libwxc-gtk2.4.2-0.7.so:=20 > undefined symbol:=20 > _ZN10wxGLCanvasC1EP8wxWindowiRK7wxPointRK6wxSizelRK8wxStringPi > RK9wxPalette) > ------------------------------ >=20 > I suspect it's something funny with Debian's setup, and quite possibly > a bug somewhere else in Debian. That symbol looks suspiciously like it comes from the separate OpenGL parts of WX, which reside in a separate library (/usr/lib/libwx_gtk_gl-2.4.so here). On my system, libwxc has an explicit dependency on libwx_gtk_gl, because it was linked against it. Did you configure wxHaskell with --with-opengl? Cheers, Simon |
From: Daan L. <daa...@xs...> - 2004-04-14 15:51:55
|
On Wed, 14 Apr 2004 09:37:02 +0100, Simon Marlow <sim...@mi...>= wrote: >> > What error messages do you get, specifically? >> >> Here it is: >> ------------------------------- >> Loading package data ... linking ... done. >> Loading package wxcore ... ghc-6.2.1: can't load .so/.DLL >> for: wxc-gtk2.4.2-0.7 >> (/usr/local/stow/wxhaskell//lib/libwxc-gtk2.4.2-0.7.so: >> undefined symbol: >> _ZN10wxGLCanvasC1EP8wxWindowiRK7wxPointRK6wxSizelRK8wxStringPi >> RK9wxPalette) >> ------------------------------ >> >> I suspect it's something funny with Debian's setup, and quite possibly >> a bug somewhere else in Debian. > > That symbol looks suspiciously like it comes from the separate OpenGL > parts of WX, which reside in a separate library That is probably the problem. I did not see all messages of this thread, but one should indeed use "--with-opengl" on wxHaskell configure if wxWid= gets was build with "--with-opengl". Unfortunately, due to wxWidgets changes, I can not automatically detect t= he need for this flag, but I promise to discuss it with the wxWidgets devs. fyi. it seems ghci can not handle stripped dynamic libraries on windows, = but that may be due to the use of both a *.dll and an "import" library *.a. Funnily enough, ghc can handle link with those. (I haven't tested extens= ively though, and it might be related with the use of the upx packer). All the best, Daan. > (/usr/lib/libwx_gtk_gl-2.4.so here). On my system, libwxc has an > explicit dependency on libwx_gtk_gl, because it was linked against it. > Did you configure wxHaskell with --with-opengl? > > Cheers, > Simon > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id638&op=CCk > _______________________________________________ > wxhaskell-users mailing list > wxh...@li... > https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > > |
From: Andres L. <an...@cs...> - 2004-04-14 16:14:47
|
> That is probably the problem. I did not see all messages of this thread, > but one should indeed use "--with-opengl" on wxHaskell configure if > wxWidgets > was build with "--with-opengl". > > Unfortunately, due to wxWidgets changes, I can not automatically detect the > need for this flag, but I promise to discuss it with the wxWidgets > devs. I think this has been discussed before: as far as I can see, the flag --with-opengl is always safe, and should therefore be the default. The call to "wx-config --gl-libs" returns the empty string if wxWidgets has not been built using GL. Best, Andres |
From: Daan L. <daa...@xs...> - 2004-04-15 09:51:41
|
Hi all, On Wed, 14 Apr 2004 11:24:02 -0500, <wxh...@al...> wrote: > > Yes, I pointed this out to Daan back on Feb 24, but never saw a patch. :) Sorry for that James :-) Well, it seems that on wxWidgets 2.5.1 the call to wx-config --gl-libs always returns the libraries needed for opengl :( I'll write the wxWidgets devs to see what I should do -- maybe it is just a bug on their part, in which case I can check the wxwidgets version and issue an appropiate warning if necessary. to be continued... -- Daan. > > James > > > ----- Original message ----- > From: "Andres Loeh" <an...@cs...> > To: "Daan Leijen" <daa...@xs...> > Date: Wed, 14 Apr 2004 18:25:23 +0200 > Subject: Re: [wxhaskell-users] RE: [Haskell] Dynamically loading > wxhaskell? > >> That is probably the problem. I did not see all messages of this thread, >> but one should indeed use "--with-opengl" on wxHaskell configure if >> wxWidgets >> was build with "--with-opengl". >> >> Unfortunately, due to wxWidgets changes, I can not automatically detect the >> need for this flag, but I promise to discuss it with the wxWidgets >> devs. > > I think this has been discussed before: as far as I can see, the flag > --with-opengl is always safe, and should therefore be the default. > The call to "wx-config --gl-libs" returns the empty string if > wxWidgets has not been built using GL. > > Best, > Andres > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IBM Linux Tutorials > Free Linux tutorial presented by Daniel Robbins, President and CEO of > GenToo technologies. Learn everything from fundamentals to system > administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click > _______________________________________________ > wxhaskell-users mailing list > wxh...@li... > https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > |
From: <dp...@ex...> - 2004-04-15 03:02:48
|
On Wed, Apr 14, 2004 at 09:37:02AM +0100, Simon Marlow wrote: ... > That symbol looks suspiciously like it comes from the separate OpenGL > parts of WX, which reside in a separate library > (/usr/lib/libwx_gtk_gl-2.4.so here). On my system, libwxc has an > explicit dependency on libwx_gtk_gl, because it was linked against it. > Did you configure wxHaskell with --with-opengl? No, and that fixed it, thanks! I was confused because I had gotten wx to work with ghc (not ghci) earlier. Peace, Dylan |
From: Daan L. <daa...@xs...> - 2004-04-02 10:20:41
|
On Thu, 1 Apr 2004 16:08:51 -0500, Dylan Thurston <dp...@pe...> wrote: > On Thu, Apr 01, 2004 at 10:00:23AM +0100, Simon Marlow wrote: >> >> > Has anyone succeeded in getting wxhaskell to work under ghci on Linux? >> > On my system, I get an error message >> > >> > Loading package unix ... ghc-6.2: can't load .so/.DLL for: dl >> > (libdl.so: cannot open shared object file: No such file or directory) >> > >> > This sounds like it has nothing to do with wxhaskell, but is a GHC >> > problem. Any pointers? >> >> Is libdl.so in the usual place? (/usr/lib on my system) > > Yes. I have noticed that ghci can't load ".so" files that are stripped (while the ghc linker has no such problems.) -- Daan. (btw. I tested ghci on Fedora Core 1, and it works there) |