1. Linux eubins and console colours

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

new topic     » topic index » view message » categorize

2. Re: Linux eubins and console colours

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

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

3. Re: Linux eubins and console colours

ChrisB said...

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.

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

4. Re: Linux eubins and console colours

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

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

5. Re: Linux eubins and console colours

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

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

6. Re: Linux eubins and console colours

jeremy said...

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

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

7. Re: Linux eubins and console colours

DerekParnell said...
ChrisB said...

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

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

8. Re: Linux eubins and console colours

mattlewis said...

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.

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

9. Re: Linux eubins and console colours

Hi

Makes sense.

Where can I pick up linux r3082

Chris

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

10. Re: Linux eubins and console colours

mattlewis said...

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

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

11. Re: Linux eubins and console colours

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

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

12. Re: Linux eubins and console colours

jeremy said...

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

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

13. Re: Linux eubins and console colours

mattlewis said...

I just committed (svn:3089) an update for the Makefile, so the eubins should get back on track now.

Looks like they are...

Matt

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

14. Re: Linux eubins and console colours

Ta

Chris

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

Search



Quick Links

User menu

Not signed in.

Misc Menu