p-e-w / ternimal

Simulate a lifeform in the terminal
GNU General Public License v3.0
1.07k stars 31 forks source link

It's not as straightforward as the readme says (at least on Xubuntu 16.04 LTS) #2

Closed rautamiekka closed 7 years ago

rautamiekka commented 7 years ago

Here's everything from the xfce4-terminal 0.6.3 on Xubuntu 16.04 LTS:

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads/spyder-master$ cd ..
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ wget https://github.com/p-e-w/ternimal/raw/master/ternimal.rs
--2017-11-04 20:56:24--  https://github.com/p-e-w/ternimal/raw/master/ternimal.rs
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/p-e-w/ternimal/master/ternimal.rs [following]
--2017-11-04 20:56:25--  https://raw.githubusercontent.com/p-e-w/ternimal/master/ternimal.rs
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.84.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.84.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 38158 (37K) [text/plain]
Saving to: ‘ternimal.rs’

ternimal.rs                                                         100%[==================================================================================================================================================================>]  37.26K  --.-KB/s    in 0.06s   

2017-11-04 20:56:25 (652 KB/s) - ‘ternimal.rs’ saved [38158/38158]

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ aptitude search rust
p   elpa-rust-mode                                                                                                                  - Major Emacs mode for editing Rust source code                                                                                            
p   fcitx-table-rustrad                                                                                                             - Flexible Input Method Framework - Rustrad table                                                                                          
p   freeipa-server-trust-ad                                                                                                         - FreeIPA centralized identity framework -- AD trust installer                                                                             
p   freeipa-server-trust-ad:i386                                                                                                    - FreeIPA centralized identity framework -- AD trust installer                                                                             
p   golang-github-docker-libtrust-dev                                                                                               - Primitives for identity and authorization                                                                                                
p   ibus-table-rustrad                                                                                                              - ibus-table input method: Russian Traditional                                                                                             
p   libghc-lambdabot-trusted-dev                                                                                                    - Lambdabot trusted code.                                                                                                                  
p   libghc-lambdabot-trusted-dev:i386                                                                                               - Lambdabot trusted code.                                                                                                                  
v   libghc-lambdabot-trusted-dev-5.0.2.1-fabb9:i386                                                                                 -                                                                                                                                          
v   libghc-lambdabot-trusted-dev-5.0.2.1-fc846                                                                                      -                                                                                                                                          
p   libghc-lambdabot-trusted-doc                                                                                                    - Lambdabot trusted code.; documentation                                                                                                   
p   libghc-lambdabot-trusted-prof                                                                                                   - Lambdabot trusted code.; profiling libraries                                                                                             
p   libghc-lambdabot-trusted-prof:i386                                                                                              - Lambdabot trusted code.; profiling libraries                                                                                             
v   libghc-lambdabot-trusted-prof-5.0.2.1-fabb9:i386                                                                                -                                                                                                                                          
v   libghc-lambdabot-trusted-prof-5.0.2.1-fc846                                                                                     -                                                                                                                                          
p   libmodule-install-trustmetayml-perl                                                                                             - trust META.yml list of dependencies                                                                                                      
p   libpod-coverage-trustpod-perl                                                                                                   - module to support hints for Pod::Coverage                                                                                                
p   libstd-rust-1.15                                                                                                                - Rust standard libraries                                                                                                                  
p   libstd-rust-1.15:i386                                                                                                           - Rust standard libraries                                                                                                                  
p   libstd-rust-1.17                                                                                                                - Rust standard libraries                                                                                                                  
p   libstd-rust-1.17:i386                                                                                                           - Rust standard libraries                                                                                                                  
p   libstd-rust-1.7                                                                                                                 - Rust standard libraries                                                                                                                  
p   libstd-rust-1.7:i386                                                                                                            - Rust standard libraries                                                                                                                  
p   libstd-rust-dev                                                                                                                 - Rust standard libraries - development files                                                                                              
p   libstd-rust-dev:i386                                                                                                            - Rust standard libraries - development files                                                                                              
p   libthrust-dev                                                                                                                   - Thrust - Parallel Algorithms Library                                                                                                     
p   libtrust-store-dev                                                                                                              - C++11 library for persisting trust requests - dev files                                                                                  
p   libtrust-store-dev:i386                                                                                                         - C++11 library for persisting trust requests - dev files                                                                                  
p   libtrust-store-doc                                                                                                              - Documentation files for libtrust-store-dev                                                                                               
p   libtrust-store2                                                                                                                 - C++11 library for persisting trust requests - runtime library                                                                            
p   libtrust-store2:i386                                                                                                            - C++11 library for persisting trust requests - runtime library                                                                            
p   linux-hwe-generic-trusty                                                                                                        - Depends on the generic hardware enablement kernel image and headers (dummy transitional packages)                                        
p   linux-hwe-generic-trusty:i386                                                                                                   - Depends on the generic hardware enablement kernel image and headers (dummy transitional packages)                                        
p   linux-hwe-virtual-trusty                                                                                                        - Depends on the virtual hardware enablement kernel image and headers (dummy transitional package)                                         
p   linux-hwe-virtual-trusty:i386                                                                                                   - Depends on the virtual hardware enablement kernel image and headers (dummy transitional package)                                         
p   linux-image-hwe-generic-trusty                                                                                                  - Depends on the generic hardware enablement kernel image (dummy transitional package)                                                     
p   linux-image-hwe-generic-trusty:i386                                                                                             - Depends on the generic hardware enablement kernel image (dummy transitional package)                                                     
p   linux-image-hwe-virtual-trusty                                                                                                  - Depends on the virtual hardware enablement kernel image (dummy transitional package)                                                     
p   linux-image-hwe-virtual-trusty:i386                                                                                             - Depends on the virtual hardware enablement kernel image (dummy transitional package)                                                     
p   moonshot-trust-router                                                                                                           - Moonshot Trust Router                                                                                                                    
p   moonshot-trust-router:i386                                                                                                      - Moonshot Trust Router                                                                                                                    
p   moonshot-trust-router-dbg                                                                                                       - Trust Router Debugging Symbols                                                                                                           
p   moonshot-trust-router-dbg:i386                                                                                                  - Trust Router Debugging Symbols                                                                                                           
p   moonshot-trust-router-dev                                                                                                       - Development environment for the Trust Router                                                                                             
p   moonshot-trust-router-dev:i386                                                                                                  - Development environment for the Trust Router                                                                                             
p   pulseaudio-module-trust-store                                                                                                   - trust-store module for PulseAudio sound server                                                                                           
p   pulseaudio-module-trust-store:i386                                                                                              - trust-store module for PulseAudio sound server                                                                                           
v   python-zope.pagetemplate-untrusted                                                                                              -                                                                                                                                          
v   python-zope.security-untrustedpython                                                                                            -                                                                                                                                          
p   python-zope.untrustedpython                                                                                                     - Zope untrusted Python library                                                                                                            
p   rust-doc                                                                                                                        - Rust systems programming language - Documentation                                                                                        
p   rust-gdb                                                                                                                        - Rust debugger (gdb)                                                                                                                      
p   rust-gdb:i386                                                                                                                   - Rust debugger (gdb)                                                                                                                      
p   rust-lldb                                                                                                                       - Rust debugger (lldb)                                                                                                                     
p   rust-lldb:i386                                                                                                                  - Rust debugger (lldb)                                                                                                                     
p   rust-src                                                                                                                        - Rust systems programming language - source code                                                                                          
p   rustc                                                                                                                           - Rust systems programming language                                                                                                        
p   rustc:i386                                                                                                                      - Rust systems programming language                                                                                                        
p   syslinux-themes-ubuntu-trusty                                                                                                   - collection of boot loaders (ubuntu-trusty theme)                                                                                         
p   syslinux-themes-ubuntu-trusty:i386                                                                                              - collection of boot loaders (ubuntu-trusty theme)                                                                                         
p   trust-store-bin                                                                                                                 - Daemon binaries to be used by services.                                                                                                  
p   trust-store-bin:i386                                                                                                            - Daemon binaries to be used by services.                                                                                                  
p   trust-store-tests                                                                                                               - Test files for libtrust-store1                                                                                                           
p   trust-store-tests:i386                                                                                                          - Test files for libtrust-store1                                                                                                           
p   trustedqsl                                                                                                                      - QSL log signing for the Logbook of the World (LoTW)                                                                                      
p   trustedqsl:i386                                                                                                                 - QSL log signing for the Logbook of the World (LoTW)                                                                                      
p   ubuntu-gnome-wallpapers-trusty                                                                                                  - Ubuntu GNOME 14.04 Wallpapers                                                                                                            
p   ubuntu-wallpapers-trusty                                                                                                        - Ubuntu 14.04 Wallpapers                                                                                                                  
p   ubuntukylin-wallpapers-trusty                                                                                                   - Ubuntu Kylin 14.04 Wallpapers                                                                                                            
p   uncrustify                                                                                                                      - C, C++, C#, D, Java and Pawn source code beautifier                                                                                      
p   uncrustify:i386                                                                                                                 - C, C++, C#, D, Java and Pawn source code beautifier                                                                                      
p   xubuntu-community-wallpapers-trusty                                                                                             - Xubuntu community wallpapers (Trusty)                                                                                                    
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ sudo aptitude install rustc
[sudo] password for jaervinen: 
The following NEW packages will be installed:
  libllvm3.9{a} libstd-rust-1.17{a} libstd-rust-dev{a} rustc 
The following packages are RECOMMENDED but will NOT be installed:
  rust-gdb rust-lldb 
0 packages upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 39.2 MB of archives. After unpacking 121 MB will be used.
Do you want to continue? [Y/n/?] 
Get: 1 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libllvm3.9 amd64 1:3.9.1-4ubuntu3~16.04.2 [11.2 MB]
Get: 2 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libstd-rust-1.17 amd64 1.17.0+dfsg2-8~ubuntu0.16.04.2 [18.4 MB]                                                                                                                                       
Get: 3 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 libstd-rust-dev amd64 1.17.0+dfsg2-8~ubuntu0.16.04.2 [9,600 kB]                                                                                                                                       
Get: 4 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 rustc amd64 1.17.0+dfsg2-8~ubuntu0.16.04.2 [30.5 kB]                                                                                                                                                  
Fetched 39.2 MB in 40s (975 kB/s)                                                                                                                                                                                                                                              
Selecting previously unselected package libllvm3.9:amd64.
(Reading database ... 375796 files and directories currently installed.)
Preparing to unpack .../libllvm3.9_1%3a3.9.1-4ubuntu3~16.04.2_amd64.deb ...
Unpacking libllvm3.9:amd64 (1:3.9.1-4ubuntu3~16.04.2) ...
Selecting previously unselected package libstd-rust-1.17:amd64.
Preparing to unpack .../libstd-rust-1.17_1.17.0+dfsg2-8~ubuntu0.16.04.2_amd64.deb ...
Unpacking libstd-rust-1.17:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Selecting previously unselected package libstd-rust-dev:amd64.
Preparing to unpack .../libstd-rust-dev_1.17.0+dfsg2-8~ubuntu0.16.04.2_amd64.deb ...
Unpacking libstd-rust-dev:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Selecting previously unselected package rustc.
Preparing to unpack .../rustc_1.17.0+dfsg2-8~ubuntu0.16.04.2_amd64.deb ...
Unpacking rustc (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libllvm3.9:amd64 (1:3.9.1-4ubuntu3~16.04.2) ...
Setting up libstd-rust-1.17:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Setting up libstd-rust-dev:amd64 (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Setting up rustc (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...

Current status: 0 (-81) new.
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ rustc -O te
teamviewer_12.0.85001_i386.deb  ternimal.rs                     
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ rustc -O ternimal.rs 
error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:26:9
   |
26 |         eprint!("\x1B[31m");
   |         ^^^^^^
...
92 |     arg_var!(speed, 30.0, 0.0, 1000.0);
   |     ----------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:27:9
   |
27 |         eprint!($($arg)*);
   |         ^^^^^^
...
92 |     arg_var!(speed, 30.0, 0.0, 1000.0);
   |     ----------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:29:9
   |
29 |         eprint!("\x1B[m\n");
   |         ^^^^^^
...
92 |     arg_var!(speed, 30.0, 0.0, 1000.0);
   |     ----------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:26:9
   |
26 |         eprint!("\x1B[31m");
   |         ^^^^^^
...
94 |     arg_var!(fps, 30.0, 0.1, 600.0);
   |     -------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:27:9
   |
27 |         eprint!($($arg)*);
   |         ^^^^^^
...
94 |     arg_var!(fps, 30.0, 0.1, 600.0);
   |     -------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
  --> ternimal.rs:29:9
   |
29 |         eprint!("\x1B[m\n");
   |         ^^^^^^
...
94 |     arg_var!(fps, 30.0, 0.1, 600.0);
   |     -------------------------------- in this macro invocation
   |
   = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
107 |     arg_var!(width, 60, 1, 500);
    |     ---------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
107 |     arg_var!(width, 60, 1, 500);
    |     ---------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
107 |     arg_var!(width, 60, 1, 500);
    |     ---------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
108 |     arg_var!(height, 40, 1, 500);
    |     ----------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
108 |     arg_var!(height, 40, 1, 500);
    |     ----------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
108 |     arg_var!(height, 40, 1, 500);
    |     ----------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
110 |         exit!("Invalid height '{}': Height must be a multiple of 2.", height);
    |         ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
110 |         exit!("Invalid height '{}': Height must be a multiple of 2.", height);
    |         ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
110 |         exit!("Invalid height '{}': Height must be a multiple of 2.", height);
    |         ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
117 |         exit!("Invalid length '{} to {}': Length must be between 0 and 1000.", length_range.from, length_range.to);
    |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
117 |         exit!("Invalid length '{} to {}': Length must be between 0 and 1000.", length_range.from, length_range.to);
    |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
117 |         exit!("Invalid length '{} to {}': Length must be between 0 and 1000.", length_range.from, length_range.to);
    |         ----------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
121 |     arg_var!(segments, 10, 1, 1000);
    |     -------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
121 |     arg_var!(segments, 10, 1, 1000);
    |     -------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
121 |     arg_var!(segments, 10, 1, 1000);
    |     -------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |           eprint!("\x1B[31m");
    |           ^^^^^^
...
137 |           exit!("Invalid thickness specification: There must be 1, or 4, or 7, ... coefficients; {} were supplied.",
    |  _________- starting here...
138 | |                 coefficients.len());
    | |____________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |           eprint!($($arg)*);
    |           ^^^^^^
...
137 |           exit!("Invalid thickness specification: There must be 1, or 4, or 7, ... coefficients; {} were supplied.",
    |  _________- starting here...
138 | |                 coefficients.len());
    | |____________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |           eprint!("\x1B[m\n");
    |           ^^^^^^
...
137 |           exit!("Invalid thickness specification: There must be 1, or 4, or 7, ... coefficients; {} were supplied.",
    |  _________- starting here...
138 | |                 coefficients.len());
    | |____________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
159 |         exit!("Invalid thickness specification: Maximum thickness is {}; must be between 0 and 1000.", max_thickness);
    |         -------------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
159 |         exit!("Invalid thickness specification: Maximum thickness is {}; must be between 0 and 1000.", max_thickness);
    |         -------------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
159 |         exit!("Invalid thickness specification: Maximum thickness is {}; must be between 0 and 1000.", max_thickness);
    |         -------------------------------------------------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |         eprint!("\x1B[31m");
    |         ^^^^^^
...
164 |     arg_var!(padding, min!(max_thickness, max_padding), 0.0, max_padding);
    |     ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |         eprint!($($arg)*);
    |         ^^^^^^
...
164 |     arg_var!(padding, min!(max_thickness, max_padding), 0.0, max_padding);
    |     ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |         eprint!("\x1B[m\n");
    |         ^^^^^^
...
164 |     arg_var!(padding, min!(max_thickness, max_padding), 0.0, max_padding);
    |     ---------------------------------------------------------------------- in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |           eprint!("\x1B[31m");
    |           ^^^^^^
...
171 |           exit!("Invalid radius '{} to {}': For the configured width, height, and padding, \
    |  _________- starting here...
172 | |                 radius must be between 0 and {}.", radius_range.from, radius_range.to, max_radius);
    | |___________________________________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |           eprint!($($arg)*);
    |           ^^^^^^
...
171 |           exit!("Invalid radius '{} to {}': For the configured width, height, and padding, \
    |  _________- starting here...
172 | |                 radius must be between 0 and {}.", radius_range.from, radius_range.to, max_radius);
    | |___________________________________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |           eprint!("\x1B[m\n");
    |           ^^^^^^
...
171 |           exit!("Invalid radius '{} to {}': For the configured width, height, and padding, \
    |  _________- starting here...
172 | |                 radius must be between 0 and {}.", radius_range.from, radius_range.to, max_radius);
    | |___________________________________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:26:9
    |
26  |           eprint!("\x1B[31m");
    |           ^^^^^^
...
183 |           exit!("Insufficient arena size for path generation: For the configured radius and padding, \
    |  _________- starting here...
184 | |                 either width or height must be at least {}.", min_size);
    | |________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:27:9
    |
27  |           eprint!($($arg)*);
    |           ^^^^^^
...
183 |           exit!("Insufficient arena size for path generation: For the configured radius and padding, \
    |  _________- starting here...
184 | |                 either width or height must be at least {}.", min_size);
    | |________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
   --> ternimal.rs:29:9
    |
29  |           eprint!("\x1B[m\n");
    |           ^^^^^^
...
183 |           exit!("Insufficient arena size for path generation: For the configured radius and padding, \
    |  _________- starting here...
184 | |                 either width or height must be at least {}.", min_size);
    | |________________________________________________________________________- ...ending here: in this macro invocation
    |
    = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
    --> ternimal.rs:26:9
     |
26   |         eprint!("\x1B[31m");
     |         ^^^^^^
...
1127 |         exit!("{}", error);
     |         ------------------- in this macro invocation
     |
     = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
    --> ternimal.rs:27:9
     |
27   |         eprint!($($arg)*);
     |         ^^^^^^
...
1127 |         exit!("{}", error);
     |         ------------------- in this macro invocation
     |
     = help: did you mean `print!`?

error: cannot find macro `eprint!` in this scope
    --> ternimal.rs:29:9
     |
29   |         eprint!("\x1B[m\n");
     |         ^^^^^^
...
1127 |         exit!("{}", error);
     |         ------------------- in this macro invocation
     |
     = help: did you mean `print!`?

error: aborting due to 39 previous errors

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
bash: ./ternimal: No such file or directory
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
bash: ./ternimal.rs: Permission denied
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ chmod +x ternimal.rs 
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
./ternimal.rs: line 1: //: Is a directory
./ternimal.rs: line 2: //: Is a directory
./ternimal.rs: line 3: syntax error near unexpected token `('
./ternimal.rs: line 3: `// Copyright (c) 2017 Philipp Emanuel Weidmann <pew@worldwidemann.com>'
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ 

So, assuming I'm not doing anything wrong, Ternimal ain't working as straightforwardly as it's intended to.

xTibor commented 7 years ago

Install a more up-to-date rustc. The version you have (1.17.0) is too old and not supported by this app, at least 1.20.0 is required to compile it.

rautamiekka commented 7 years ago

^

at least 1.20.0

That's be good to mention.

rautamiekka commented 7 years ago

Hmm, still not although I now got 1.21.0: it compiles just fine after re-download, but doesn't execute any more correctly:

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ sudo add-apt-repository ppa:ubuntu-mozilla-security/rust-updates
[sudo] password for jaervinen: 
 This PPA is used for prepearing rust updates that will be required for a future Firefox release.

This PPA isn't intended for general usage. If you want to use rust, please go to https://www.rustup.rs/
 More info: https://launchpad.net/~ubuntu-mozilla-security/+archive/ubuntu/rust-updates
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmplb4kaik8/secring.gpg' created
gpg: keyring `/tmp/tmplb4kaik8/pubring.gpg' created
gpg: requesting key 7EBC211F from hkp server keyserver.ubuntu.com
gpg: /tmp/tmplb4kaik8/trustdb.gpg: trustdb created
gpg: key 7EBC211F: public key "Launchpad PPA for Ubuntu Mozilla Security Team" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ upg
Ign http://dl.google.com/linux/chrome/deb stable InRelease
Get: 1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]                                                                    
Hit http://archive.canonical.com/ubuntu xenial InRelease                                                                                               
Hit http://ppa.launchpad.net/freecad-maintainers/freecad-daily/ubuntu xenial InRelease
Hit http://dl.google.com/linux/chrome/deb stable Release
Hit http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial InRelease       
Hit http://fi.archive.ubuntu.com/ubuntu xenial InRelease                                                                  
Get: 2 http://fi.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                                                                                                               
Hit https://dl.winehq.org/wine-builds/ubuntu xenial InRelease
Hit http://ppa.launchpad.net/js-reynaud/ppa-kicad/ubuntu xenial InRelease
Hit https://deb.opera.com/opera-stable stable InRelease                                                  
Hit http://screenshots.getdeb.net xenial-getdeb InRelease                                                
Get: 3 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial InRelease [23.9 kB]
Hit http://ppa.launchpad.net/webupd8team/java/ubuntu xenial InRelease                          
Get: 4 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main amd64 Packages [7,164 B]
Get: 5 http://fi.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [652 kB]
Get: 6 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main i386 Packages [7,172 B]
Get: 7 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main Translation-en [5,228 B]
Get: 8 http://fi.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [616 kB]
Get: 9 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [543 kB]
Get: 10 http://fi.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [517 kB]                                                                                                                                                                                     
Fetched 2,576 kB in 7s (336 kB/s)                                                                                                                                                                                                                                              
Deleting obsolete downloaded files       

Current status: 3 (+3) upgradable.
The following NEW packages will be installed:
  libstd-rust-1.21{a} 
The following packages will be upgraded:
  libllvm4.0 libstd-rust-dev rustc 
The following packages are RECOMMENDED but will NOT be installed:
  rust-gdb rust-lldb 
3 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 70.6 MB of archives. After unpacking 114 MB will be used.
Do you want to continue? [Y/n/?] 
Get: 1 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main amd64 libllvm4.0 amd64 1:4.0.1-0ubuntu0.16.04.4 [12.2 MB]
Get: 2 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main amd64 libstd-rust-1.21 amd64 1.21.0+dfsg1+llvm-0ubuntu3~16.04.1 [36.8 MB]                                                                                                              
Get: 3 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main amd64 rustc amd64 1.21.0+dfsg1+llvm-0ubuntu3~16.04.1 [1,196 kB]                                                                                                                        
Get: 4 http://ppa.launchpad.net/ubuntu-mozilla-security/rust-updates/ubuntu xenial/main amd64 libstd-rust-dev amd64 1.21.0+dfsg1+llvm-0ubuntu3~16.04.1 [20.4 MB]                                                                                                               
Fetched 70.6 MB in 2min 33s (461 kB/s)                                                                                                                                                                                                                                         
(Reading database ... 376073 files and directories currently installed.)
Preparing to unpack .../libllvm4.0_1%3a4.0.1-0ubuntu0.16.04.4_amd64.deb ...
Unpacking libllvm4.0:amd64 (1:4.0.1-0ubuntu0.16.04.4) over (1:4.0-1ubuntu1~16.04.2) ...
Selecting previously unselected package libstd-rust-1.21:amd64.
Preparing to unpack .../libstd-rust-1.21_1.21.0+dfsg1+llvm-0ubuntu3~16.04.1_amd64.deb ...
Unpacking libstd-rust-1.21:amd64 (1.21.0+dfsg1+llvm-0ubuntu3~16.04.1) ...
Preparing to unpack .../rustc_1.21.0+dfsg1+llvm-0ubuntu3~16.04.1_amd64.deb ...
Unpacking rustc (1.21.0+dfsg1+llvm-0ubuntu3~16.04.1) over (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Preparing to unpack .../libstd-rust-dev_1.21.0+dfsg1+llvm-0ubuntu3~16.04.1_amd64.deb ...
Unpacking libstd-rust-dev:amd64 (1.21.0+dfsg1+llvm-0ubuntu3~16.04.1) over (1.17.0+dfsg2-8~ubuntu0.16.04.2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up libllvm4.0:amd64 (1:4.0.1-0ubuntu0.16.04.4) ...
Setting up libstd-rust-1.21:amd64 (1.21.0+dfsg1+llvm-0ubuntu3~16.04.1) ...
Setting up libstd-rust-dev:amd64 (1.21.0+dfsg1+llvm-0ubuntu3~16.04.1) ...
Setting up rustc (1.21.0+dfsg1+llvm-0ubuntu3~16.04.1) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...

Current status: 0 (-3) upgradable, 0 (-4) new.
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
./ternimal.rs: line 1: //: Is a directory
./ternimal.rs: line 2: //: Is a directory
./ternimal.rs: line 3: syntax error near unexpected token `('
./ternimal.rs: line 3: `// Copyright (c) 2017 Philipp Emanuel Weidmann <pew@worldwidemann.com>'
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ wget https://github.com/p-e-w/ternimal/raw/master/ternimal.rs -O ternimal.rs 
--2017-11-04 23:09:27--  https://github.com/p-e-w/ternimal/raw/master/ternimal.rs
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/p-e-w/ternimal/master/ternimal.rs [following]
--2017-11-04 23:09:28--  https://raw.githubusercontent.com/p-e-w/ternimal/master/ternimal.rs
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.84.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.84.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 38158 (37K) [text/plain]
Saving to: ‘ternimal.rs’

ternimal.rs                                                         100%[==================================================================================================================================================================>]  37.26K  --.-KB/s    in 0.08s   

2017-11-04 23:09:28 (454 KB/s) - ‘ternimal.rs’ saved [38158/38158]

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ rustc -O ternimal.rs 
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300
./ternimal.rs: line 1: //: Is a directory
./ternimal.rs: line 2: //: Is a directory
./ternimal.rs: line 3: syntax error near unexpected token `('
./ternimal.rs: line 3: `// Copyright (c) 2017 Philipp Emanuel Weidmann <pew@worldwidemann.com>'
jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ rustc --version
rustc 1.21.0
xTibor commented 7 years ago

jaervinen@rautadesk1-vm-ubuserv1604-0:~/Downloads$ ./ternimal.rs length=100 segments=50 thickness=1,4,1,0 radius=6,12 gradient=0:#666600,0.5:#00ff00,1:#003300

You're trying to run the source code as a shell script, not the binary you compiled before. Run it without the .rs extension.

rautamiekka commented 7 years ago

^ Ok, now it works. Thanks for the help, this is a completely new thing to me.

The readme could use updating to mention the minimum required version and executing without the rs extension.

p-e-w commented 7 years ago

Glad to hear it is working for you now. The README actually does state that Rust >= 1.20 is required for building. It's right there in the build instructions.

p-e-w commented 7 years ago

@rautamiekka I've taken the liberty of removing the output of cating the entire source code from this issue, as it adds nothing but another 1000+ lines to a report that is already overly long.

rautamiekka commented 7 years ago

I guess I didn't read it thoroughly enough.