1. Linux eubins and console colours
- Posted by ChrisB (moderator) Feb 10, 2010
- 1602 views
Hi
eubins since 3066 to 3081 seem to be empty (check the file size on http://jeremy.cowgar.com/eubins/linux/ unless they have been moved somehere else)
I can report also that something has gone very wrong with console colours somewhere between r2670 and r3066. It seems to be quite similar to the OSX issue, which is why I wanted to look at that thres. (I got into it by searching for graphcst.e)
Console colours on Linux have normal and bright settings, for instance WHITE and BRIGHT_WHITE, BROWN and YELLOW. Call them normal and bright. Blinking has never worked for me on Linux. Not too worried about that.
There are differnces in consoles - it would appear that older consolse are affected, and more recent ones are not - this is why it took me by surprise. I have not done an update of the vet program since October, and when I did half the screen had vanished on some computers.
Using the colortest program appearing in the thread, using the latest one in the thread, r2670 produces the whole colour range, normal and bright on all varieties of console. However r3066 (the latest viable one on eubins) only produces the normal colours - the bright colours appear blank.
I have checked with the r2670 includes and latest includes (swapping all combos around), and the includes do not seem to make a difference. The conclusion would be that somewhere along the development the way the console is handled has changed.
Testing was done on Xubuntu 8.10 (all worked) and puppy 2.12 (r3066 produced the error, 2670 did not)
You may say update your consoles to more modern ones, but this is not the point. The point of using a console program is to allow old hardware to be use, which may not run a more modern distribution.
Is there any chance that the way the console was handled could be reverted to the working version - while not 'broken' it does mean that I will have to stay with r2670 until the issue is 'fixed'
Chheers
Chris
2. Re: Linux eubins and console colours
- Posted by ChrisB (moderator) Feb 10, 2010
- 1549 views
Something that I didn't notice before.
Running this code
#!/home/crylex/euphoria/bin/eui --test terminal colours - seems to be working on some terminals, but not others include std/graphics.e include std/graphcst.e include std/text.e include std/console.e integer ESC = 27 integer key sequence colour_names = {"BLACK", "GREEN", "MAGENTA", "WHITE", "GRAY", "BRIGHT_GREEN", "BRIGHT_MAGENTA", "BRIGHT_WHITE", "BLUE", "CYAN", "RED", "BROWN", "BRIGHT_BLUE", "BRIGHT_CYAN", "BRIGHT_RED", "YELLOW"} sequence colour_values = {BLACK, GREEN, MAGENTA, WHITE, GRAY, BRIGHT_GREEN, BRIGHT_MAGENTA, BRIGHT_WHITE, BLUE, CYAN, RED, BROWN, BRIGHT_BLUE, BRIGHT_CYAN, BRIGHT_RED, YELLOW } integer fgrnd = 1, bgrnd = 1 sequence fgn = "", bgn = "" integer blink_on = 0 while 1 do text_color(WHITE) bk_color(BLACK) clear_screen() position(1,1) puts(1,"This tests the screen colour capabilities of the terminal\n") puts(1, "F - advance foreground colour\n") puts(1, "B - advance background colour\n") --get fg and bg names fgn = "" bgn = "" for i = 1 to 16 do if colour_values[i] = fgrnd then fgn = colour_names[i] end if end for for i = 1 to 16 do if colour_values[i] = bgrnd then bgn = colour_names[i] end if end for position(5,1) text_color(WHITE) bk_color(BLACK) printf(1, "%-10s %-20s %-10s\n", {"", "Name", "Value"}) printf(1, "%-10s %-20s %-10d\n", {"Fore", fgn, fgrnd}) printf(1, "%-10s %-20s %-10d\n", {"Back", bgn, bgrnd}) printf(1, "%-10s %d\n\n\n\n", {"Blink", blink_on}) text_color(fgrnd + (blink_on * 16) ) bk_color(bgrnd) puts(1, "----------------------------------------------\n") puts(1, "This is an example of what it would look like!\n") puts(1, "----------------------------------------------\n") key = wait_key() if key = ESC then exit end if if upper(key) = 'B' then bgrnd += 1 if bgrnd = 17 then bgrnd = 1 end if end if if upper(key) = 'F' then fgrnd += 1 if fgrnd = 17 then fgrnd = 1 end if end if if upper(key) = 'L' then blink_on = (blink_on - 1) * -1 end if end while
with r3061, on consoles that work, the background shows the bright colours, but with r2067 the background does not show the bright colours, just the normal colours (so BRIGHT_BLUE comes out as BLUE for instance)
Chris
3. Re: Linux eubins and console colours
- Posted by DerekParnell (admin) Feb 10, 2010
- 1503 views
There are differences in consoles - it would appear that older consoles are affected, and more recent ones are not ...
I've just made a change to the Unix brightness routine, so try revision 3082.
4. Re: Linux eubins and console colours
- Posted by ChrisB (moderator) Feb 10, 2010
- 1536 views
Hi Derek
http://jeremy.cowgar.com/eubins/linux/eu40-3082.tar.gz
has a file size of 119 bytes (see the top of this post). Are the bins stored in a different place now?
Cheers
Chris
5. Re: Linux eubins and console colours
- Posted by jeremy (admin) Feb 10, 2010
- 1499 views
No, they did not change. There had to be some type of build change, at least that's what has caused this issue in the past.
Is there some manual intervention needed in the build process to get over a revision?
Jeremy
6. Re: Linux eubins and console colours
- Posted by mattlewis (admin) Feb 10, 2010
- 1543 views
No, they did not change. There had to be some type of build change, at least that's what has caused this issue in the past.
Is there some manual intervention needed in the build process to get over a revision?
There were some changes to configure and the makefile, so you probably just need to re-run configure and it should be back on track.
Matt
7. Re: Linux eubins and console colours
- Posted by mattlewis (admin) Feb 10, 2010
- 1483 views
There are differences in consoles - it would appear that older consoles are affected, and more recent ones are not ...
I've just made a change to the Unix brightness routine, so try revision 3082.
For me, using konsole under Linux, it was working fine with 3073 and 3082.
Matt
8. Re: Linux eubins and console colours
- Posted by DerekParnell (admin) Feb 10, 2010
- 1528 views
For me, using konsole under Linux, it was working fine with 3073 and 3082.
It seems that newer consoles use the AIX ANSI Escape sequences for bright colors but older ones (and MS-DOS) use the bold mode to brighten the colors.
Newer: \e[91m Older: \e[1;31m
I made the recent change just use the 'bold' method but we probably should implement a better option later.
9. Re: Linux eubins and console colours
- Posted by ChrisB (moderator) Feb 11, 2010
- 1519 views
Hi
Makes sense.
Where can I pick up linux r3082
Chris
10. Re: Linux eubins and console colours
- Posted by jeremy (admin) Feb 11, 2010
- 1540 views
There were some changes to configure and the makefile, so you probably just need to re-run configure and it should be back on track.
My script does:
#!/bin/sh export EUDIR=/home/jeremy/eubuild/eu export PATH=$EUDIR/bin:$PATH cd $EUDIR svn status --show-updates | grep \\* if [ $? -eq 1 ]; then exit fi svn up --force REV=`svn info|grep Revision|cut -d " " -f 2` cd $EUDIR/source pwd make clean distclean ./configure --build build echo EUBIN=$EUDIR/bin >> Makefile.eu make mkdir eu40-$REV cd build cp eui euc eub eu.a ../eu40-$REV cp eui euc eub eu.a ../../bin cd .. tar czf $HOME/webs/jeremy.cowgar.com/htdocs/eubins/linux/eu40-$REV.tar.gz eu40-$REV rm -r eu40-$REV cd $EUDIR/tests ../bin/eutest -log ../bin/eutest -process-log -html > $REV.html mv $REV.html $HOME/webs/jeremy.cowgar.com/htdocs/eubins/unittesting
Would that of not handled it?
Jeremy
11. Re: Linux eubins and console colours
- Posted by jeremy (admin) Feb 11, 2010
- 1554 views
Even with me doing things manually, I get:
gcc: /home/jeremy/eubuild/eu/source/build/intobj/back/be_callc.o: No such file or directory
It seems to me that the Makefile is writing be_callc.o and be_callc.s to the source directory, i.e. it's not paying attention to the build directory.
make[1]: Entering directory `/home/jeremy/eubuild/eu/source' gcc -c -w -DEUNIX -DELINUX -fsigned-char -Os -O3 -ffast-math -fno-defer-pop be_callc.c -obe_callc.o gcc -S -w -DEUNIX -DELINUX -fsigned-char -Os -O3 -ffast-math -fno-defer-pop be_callc.c -obe_callc.s
All the other backend files are written correctly to build/intobj/back
Jeremy
12. Re: Linux eubins and console colours
- Posted by mattlewis (admin) Feb 13, 2010
- 1499 views
Even with me doing things manually, I get:
gcc: /home/jeremy/eubuild/eu/source/build/intobj/back/be_callc.o: No such file or directory
It seems to me that the Makefile is writing be_callc.o and be_callc.s to the source directory, i.e. it's not paying attention to the build directory.
make[1]: Entering directory `/home/jeremy/eubuild/eu/source' gcc -c -w -DEUNIX -DELINUX -fsigned-char -Os -O3 -ffast-math -fno-defer-pop be_callc.c -obe_callc.o gcc -S -w -DEUNIX -DELINUX -fsigned-char -Os -O3 -ffast-math -fno-defer-pop be_callc.c -obe_callc.s
All the other backend files are written correctly to build/intobj/back
I've never actually used the --build configure option explicitly before. I just committed (svn:3089) an update for the Makefile, so the eubins should get back on track now.
Matt
13. Re: Linux eubins and console colours
- Posted by mattlewis (admin) Feb 14, 2010
- 1412 views
I just committed (svn:3089) an update for the Makefile, so the eubins should get back on track now.
Looks like they are...
Matt
14. Re: Linux eubins and console colours
- Posted by ChrisB (moderator) Feb 15, 2010
- 1314 views
Ta
Chris