1. open_dll() extended error codes

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

new topic     » topic index » view message » categorize

2. Re: open_dll() extended error codes

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

new topic     » goto parent     » topic index » view message » categorize

3. Re: open_dll() extended error codes

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

new topic     » goto parent     » topic index » view message » categorize

4. Re: open_dll() extended error codes

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

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

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

new topic     » goto parent     » topic index » view message » categorize

5. Re: open_dll() extended error codes

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.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu