Anyone else having trouble with 19.05 on Linux?

61 views
Skip to first unread message

Hank Lenzi

unread,
Jul 11, 2021, 6:32:59 PM7/11/21
to Eiffel Users
Hello --

After some time away from trying to learn Eiffel, I'm trying some trivial stuff here on 19.05 on Ubuntu but Eiffel Studio doesn't seem to pipe out a trivial print to to a terminal.
Is it my fault? Is it a bug?

Thanks.
Hank


class
APPLICATION

inherit
ARGUMENTS_32
MATH_CONST


create -- the name e.g.,in Ruby the name is "initialize", but we call it "make" here
       -- initialization formal parameters are in the class files
       -- over here, we can pass the arguments to the initialization parameters in the "do" routine below:
make

feature {NONE} -- Initialization

make
-- Run application.
do
  create aGear -- create an instance of Gear
  create aWheel
    aGear.set_cog (11)
    aGear.set_chainring (26)
    print (aGear.get_chainring)
end

feature -- Access
aGear: GEAR -- aGear is a GEAR
aWheel: WHEEL
end

Louis M

unread,
Jul 11, 2021, 8:10:21 PM7/11/21
to eiffel...@googlegroups.com

Hi,

Do you start EiffelStudio from a terminal. On Linux, there is no output terminal accessible from EiffelStudio. When you use a print, it is printed on the same terminal that you start EiffelStudio.

Hope this help,

Louis M

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/79ea80b6-524e-45aa-8bb6-f08a84ff32adn%40googlegroups.com.

Hank Lenzi

unread,
Jul 13, 2021, 3:01:53 PM7/13/21
to Eiffel Users
OK, I wasn't aware of that, starting from a terminal. I just click the darn icon. 
Thanks!

Hank Lenzi

unread,
Jul 16, 2021, 10:50:53 AM7/16/21
to Eiffel Users
   So, just to be clear, whenever there's and example that involves printing to the terminal, on Linux, you will have to go to the source file and compile it, such as the
   PERSON class example by Larry Rix on YouTube: https://www.youtube.com/watch?v=t0J8CXMR4Ko
   And no matter what you tweak in the setting ("xterm", "gnome-terminal", whatever, Eiffel Studio 19.05 - the only GPLed one) will not pipe the output to a terminal.
   This overlooked little stumbling block kept me scratching my head a lot. I feel maybe a little note somewhere in the Eiffel Studio site is warranted.
   
❯ /usr/bin/ec application.e 
Eiffel Compilation Manager
Version 19.05.10.3187 GPL Edition - unix

Degree 6: Examining System
Degree 5: Parsing Classes
Degree 4: Analyzing Inheritance
Degree 3: Checking Types
Degree 2: Generating Byte Code
Freezing System Changes
Degree -1: Generating Code
System Recompiled.
Preparing C compilation
Compiling C code in C1
Compiling C code in E1
C compilation completed

source/eiffel/eiffel_tutorial on  master [!?] took 3s 
❯ ls
application  application.e  application.ecf  eiffel_tutorial.ecf  EIFGENs  person.e

source/eiffel/eiffel_tutorial on  master [!?] 
❯ chmod +x ./application

source/eiffel/eiffel_tutorial on  master [!?] 
❯ ./application 
Tom is 27

r...@amalasoft.com

unread,
Jul 16, 2021, 12:10:56 PM7/16/21
to eiffel...@googlegroups.com
Hi Hank

This is not unique to Eiffel apps.  Back when I did this sort of thing, I would create a different shortcut on the desktop.  Instead of it being a link to the executable, have it call 'xterm' (or equivalent), taking the GUI app as argument.  You'll need to verify the syntax, but it's pretty straightforward.
R

Hank Lenzi

unread,
Jul 16, 2021, 1:00:36 PM7/16/21
to Eiffel Users
Hey rfo - 
Got ya. I thought that because, you know, there were some settings I could tweak  (in Preferences -> General -> Console shell command) this should be a matter of setting the correct syntax for the terminal evocation. But that doesn't work, only compiling and running from a terminal works (evoking /usr/bin/ec like I posted). 
Like I said, I haven't seen this point mentioned at all. It matters because when you're going through the video tutorials, a shell will open in WIndows, but not in Linux, and this causes confusion. 

Thanks
Hank

Louis M

unread,
Jul 21, 2021, 2:30:48 PM7/21/21
to eiffel...@googlegroups.com

No. You don't have to compile manually by terminal. You just need to start EiffelStudio from a terminal. In other words, from a terminal, use the command:

> estudio

After that, you use EiffelStudio as you would do when you start it from the menu icon. The only difference is, when you print something, look at the terminal that you started EiffelStudio with and you will see the thing you printed.

Compiling from the terminal and executing it after each modification is way overkill.

Hope it is clearer,

Louis M

Hank Lenzi

unread,
Jul 21, 2021, 9:09:19 PM7/21/21
to Eiffel Users
Yes. Thanks.
(Why aren't these simple details mentioned clearly in the Eiffel documentation?)

Reply all
Reply to author
Forward
0 new messages