1. open_dll() extended error codes
- Posted by Igor Kachan <kinz at peterlink.ru> Jun 24, 2005
- 631 views
Hi Dear EU users, The open_dll() function returns the address for the opened .dll (.so) or 0, if that .dll(.so) can not be opened for some reason. Docs say, that this reason is - Euphoria can not find that library. But sometimes, Euphoria sees a .dll(.so) file, but can not open it for another reason. Is there some complete list of the possible reasons, why Euphoria can not open .dll(.so)? Say, not found, corrupted, improper version, improper rights, busy, hidden, system, locked, etc, etc ... For example, Euphoria can not open the libvga.so library on my Mandrake 10.0 system and I can not understand, what does it want? It can open any and all libs from my /lib directory, but libvga.so, libvga.so.1, libvga.so.1.4.3 - can not. It sees them, but returns zeros. Same story on Windows with some very interesting .dlls. Why? Thanks. Regards, Igor Kachan kinz at peterlink.ru
2. Re: open_dll() extended error codes
- Posted by Bernie Ryan <xotron at bluefrog.com> Jun 24, 2005
- 633 views
Igor Kachan wrote: > > It can open any and all libs from my /lib directory, > but libvga.so, libvga.so.1, libvga.so.1.4.3 - can not. > It sees them, but returns zeros. > Igor: It may be because libvga.so was originally compiled under an older version of "C". You may have to download 1.4.3 version of the source of libvga.so and recompile it under the version of "C" that comes with mandrake 10.0 . Bernie My files in archive: w32engin.ew mixedlib.e eu_engin.e win32eru.ew Can be downloaded here: http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
3. Re: open_dll() extended error codes
- Posted by "Igor Kachan" <kinz at peterlink.ru> Jun 24, 2005
- 595 views
Pete Eberlein wrote: ---------- > From: Pete E <euphoria at eberlein.org> > To: EUforum at topica.com > Subject: RE: open_dll() extended error codes > Sent: 24 jun 2005 y. 18:38 > > Igor Kachan wrote: > > For example, Euphoria can not open the libvga.so > > library on my Mandrake 10.0 system and I can not > > understand, what does it want? > > Hello Igor, Hello Pete, > It probably wants root permissions in order to access the video hardware > device. You can do this by changing to the root user (su root) before > running the program, or you can run the program using sudo. No, Pete, it wants maybe something another. I tried that in both sessions, as root and as usual user. My root profile has the PATH to /home/kinz/euphoria/bin, and EUDIR, EUINC variables set properly, EU runs Ok for root and for me (kinz). I run exu_r (compiled here, on my Mandrake 10.0, unlimited alphabet bilingual interpreter) and standard RDS exu, I do not know the Rob's gcc version. Both interpreters work Ok with ed, exu with RDS ed.ex, exu_r with both ed.ex and with 100% Russian red.exu. Both without any problems run sanity.ex, exu_r runs Russian sanity_r.ex. Those libs are set to full permissions for any user and group. Both interpreters can not open libvga.so. The issue is - there are libvgagl.so.1.4.3, libvgagl.so.1 and libvgagl.so in that /usr/lib directory. They work Ok. libvga.*'s don't work. Enigma for me for now. I found some issues with that libvga.so (people say) on Free Pascal Russian forum too. > Regards, > Pete E Thanks. Regards, Igor Kachan kinz at peterlink.ru
4. Re: open_dll() extended error codes
- Posted by "Igor Kachan" <kinz at peterlink.ru> Jun 24, 2005
- 614 views
Bernie Ryan wrote: ---------- > From: Bernie Ryan <guest at RapidEuphoria.com> > To: EUforum at topica.com > Subject: Re: open_dll() extended error codes > Sent: 24 jun 2005 y. 18:20 > > posted by: Bernie Ryan <xotron at bluefrog.com> > > Igor Kachan wrote: > > > > It can open any and all libs from my /lib directory, > > but libvga.so, libvga.so.1, libvga.so.1.4.3 - can not. > > It sees them, but returns zeros. > > > > Igor: > > It may be because libvga.so was originally compiled under > an older version of "C". You may have to download 1.4.3 version > of the source of libvga.so and recompile it under the version > of "C" that comes with mandrake 10.0 . Hi Bernie, Ok, I'll try it, I want to run your eu_engin.e here, on that Mandrake, with bilingual interpreter, then translate eu_engin.e to Russian, then port my DOS32 polyglot.ex to Linux using it, and then run Russian polyglot with bilingual interpreter and with Russian eu_engin.e. A Big Plan. BTW, libvgagl.so.1.4.3 works Ok here, opens. libvga.so.1.4.3 doesn't open. Russian IDE works here with Russian Win32lib, and some people migrate from Euphoria. Strange people. Hey, strange people, welcome back! No one programming language can do it, only Euphoria can, as far as I can see. > Bernie > > My files in archive: > w32engin.ew mixedlib.e eu_engin.e win32eru.ew Thanks. Regards, Igor Kachan kinz at peterlink.ru
5. Re: open_dll() extended error codes
- Posted by Hayden McKay <hmck1 at dodo.com.au> Jun 28, 2005
- 620 views
I also had some problems with open_dll() returning zero. I wrote a ver.dll wrapper along with some Macro's to decode the dword value from GetVersion() But I can't open my c:\\windows\\system\\ver.dll with open_dll() on my old Windows ME system. The macro's work fine though since they use dll's opened by w32engin.e if anyone interested in them I will post 'em includes.. WIN95PLUS(), WIN98PLUS(), WINMEPLUS(), WINNTPLUS(), WINNT3_51(), WINNT4_00(), WIN2KPLUS(), WINXPPLUS(). I could further extend the library to analize installed service packes etc.. by adding GetVersionEx(). but I don't need it.