1. RE: new to euphoria

Ron Tarrant wrote:
> Ron W wrote:
> 
> > Is there a site dedicated to Linux programming with euphoria?
> 
> The closest thing I'm aware of is David Cuny's Llama (I believe it's
> unfinished, but it should get you started). You can find it at:
> 
> www.lanset.com/dcuny/home.htm
> 
You might also want to look at my GTK+ wrapper - it's complete 
enough that I have written e-mail clients and an accounts receivable 
program with it. It's *very* easy to use, compared to C, but there 
are a couple of tricks when setting it up - e-mail me, I'll be happy 
to help. You can download it from http://take.maxleft.com

Regards,
Irv Mullins

new topic     » topic index » view message » categorize

2. RE: new to euphoria

irv at take.maxleft.com wrote:
> 
> Ron Tarrant wrote:
> > Ron W wrote:
> > 
> > > Is there a site dedicated to Linux programming with euphoria?
> > 
> > The closest thing I'm aware of is David Cuny's Llama (I believe it's
> > unfinished, but it should get you started). You can find it at:
> > 
> > www.lanset.com/dcuny/home.htm
> > 
> You might also want to look at my GTK+ wrapper - it's complete 
> enough that I have written e-mail clients and an accounts receivable 
> program with it. It's *very* easy to use, compared to C, but there 
> are a couple of tricks when setting it up - e-mail me, I'll be happy 
> to help. You can download it from http://take.maxleft.com
> 
> Regards,
> Irv Mullins
> 
> 
I tried last night to use your gtk lib.  As you've noted there seems to 
be a trick I'm unaware of.  

this is the ex.err file

<pre>

/usr/euphoria/include/gtk/main.e:52
type_check failure, eugtk is 0 

Global & Local Variables

 /usr/euphoria/include/get.e:
    input_file = 
    input_string = 
    string_next = 
    ch = 

 /usr/euphoria/include/gtk/wrapper.e:
    homogeneous_ = 0
    spacing_ = 0
    context = 0
    group = 0

 /usr/euphoria/include/machine.e:
    check_calls = 1

 /usr/euphoria/include/gtk/main.e:
    gdk = 134819288
    gtk = 134832088
    eugtk = 0


Traced lines leading up to the failure:

/usr/euphoria/include/gtk/wrapper.e:19	   homogeneous_ = 0
/usr/euphoria/include/gtk/wrapper.e:20	   spacing_ = 0
/usr/euphoria/include/gtk/wrapper.e:23	     context = 0 -- declared 
widget
/usr/euphoria/include/gtk/wrapper.e:26	       group = 0
/usr/euphoria/include/machine.e:292	check_calls = 1
/usr/euphoria/include/gtk/main.e:50	   gdk = open_dll("libgdk.so")
/usr/euphoria/include/dll.e:34	    return machine_func(M_OPEN_DLL, 
file_name)
/usr/euphoria/include/gtk/main.e:16	if x = 0 then
/usr/euphoria/include/gtk/main.e:19	return x != 0
/usr/euphoria/include/gtk/main.e:51	   gtk = open_dll("libgtk.so")
/usr/euphoria/include/dll.e:34	    return machine_func(M_OPEN_DLL, 
file_name)
/usr/euphoria/include/gtk/main.e:16	if x = 0 then
/usr/euphoria/include/gtk/main.e:19	return x != 0
/usr/euphoria/include/gtk/main.e:52	   eugtk = open_dll(libpath & 
"eugtk.so")
/usr/euphoria/include/dll.e:34	    return machine_func(M_OPEN_DLL, 
file_name)
/usr/euphoria/include/gtk/main.e:16	if x = 0 then
/usr/euphoria/include/gtk/main.e:17	   puts(1,"Library not accessible!")
/usr/euphoria/include/gtk/main.e:19	return x != 0

</pre>

My $PATH is correct and I set my $EUDIR var also.
Euphoria is located in /usr/euphoria...

/gtk and /gdk are located in /usr/euphoria/include
and the .so included with the lib is also in /usr/euphoria/include

I'm using RedHat 7.2 and would be will to provide nearly any other 
information need to solve this problem and get eugtk to work.  Any help 
you offer would be helpfull.

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

3. RE: new to euphoria

Ron W wrote:

> > 
> I tried last night to use your gtk lib.  As you've noted there 
> seems to be a trick I'm unaware of.  
> 
> this is the ex.err file

>  /usr/euphoria/include/gtk/main.e:
>     gdk = 134819288
>     gtk = 134832088
>     eugtk = 0

This is actually good news. Most people have trouble with the 
links to libgdk and libgtk. Those are working for you. 
Eugtk.so is a small shared library I compiled. It should have 
been installed in your $HOME/euphoria/include directory.
First, check to see if it is there. (Should be about 17.7 kbytes)
Secondly, you might want to adjust line 53 in 
../euphoria/include/gtk/main.e to be sure it points to eugtk.so.

One addition you may want to make to main.e while you're there:

line 22-24:
global library 
    gdk, gtk, gtkxmhtml, -- gtk libraries (NOTE ADDED gtkxmhtml)
    eugtk -- my own support library

line 50-54:
   gdk = open_dll("libgdk.so")
   gtkxmhtml = open_dll("libgtkxmhtml.so") -- << ADDED
   gtk = open_dll("libgtk.so")
   eugtk = open_dll(libpath & "eugtk.so")

This seems to be necessary on some people's computers, not on 
others. I don't know why, but is won't hurt anything.

Regards,
Irv

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

4. RE: new to euphoria

irv at take.maxleft.com wrote:
> 
> Ron W wrote:
> 
> > > 
> > I tried last night to use your gtk lib.  As you've noted there 
> > seems to be a trick I'm unaware of.  
> > 
> > this is the ex.err file
> 
> >  /usr/euphoria/include/gtk/main.e:
> >     gdk = 134819288
> >     gtk = 134832088
> >     eugtk = 0
>

A follow-up:

I note that you have euphoria installed in /usr, rather than 
in a user's home directory. (/home/ron for example)
That's ok, but you'll have to change the call in main.e from:

   eugtk = open_dll(libpath & "eugtk.so")

to something that can find the file, for example:
   eugtk = open_dll("/usr/euphoria/include/eught.so")

I prefer to keep all the Euphoria stuff in my own home directory.
It doesn't take up much room, and I can change things without 
suddenly crashing other user's programs.

Regards,
Irv

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

5. RE: new to euphoria

Thanks Irv.  As a direct result of all your hard work and your 
willingness to help me configure your work for my machine, I'm now happy 
to report that I'm able to use eugtk.  However I did make one small 
change to your advice.

instead of changing ....
eugtk = open_dll(libpath & "eugtk.so")

I changed ...
constant libpath = getenv("HOME") & "/euphoria/include/"

to ...
constant libpath = getenv("EUDIR") & "/include/"

in the set up documentation of euphoria it mentioned to set the $EUDIR.  
What else would it be for if not for situations like this?
Any way I got a really cool program to start on.  Thanks again.

Ron_W

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

Search



Quick Links

User menu

Not signed in.

Misc Menu