11 July 2010

Re: evilvte compiling error

> Hi, the first time I compile evilvte is OK, and it works fine.
> Then I want to adjust some settings, and I cannot compile it.
> ============================================================
> rm -f src/custom.h src/evilvte.h src/evilvte.o
> cc -march=x86-64 -mtune=generic -O2 -pipe  -pthread
> -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
> -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0
> -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo
> -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
> -I/usr/include/pixman-1 -I/usr/include/freetype2
> -I/usr/include/libpng14     -c -o src/evilvte.o src/evilvte.c
> cp src/config.h src/custom.h
> sh src/process.sh src/evilvte
> make[1]: warning: jobserver unavailable: using -j1.
>   Add `+' to parent make rule.
> cc -Wl,--hash-style=gnu -Wl,--as-needed src/evilvte.o
> -L/usr/local/lib -lgdk-x11-2.0 -lglib-2.0 -lgobject-2.0
> -lgtk-x11-2.0 -lvte -o src/evilvte
> cc: src/evilvte.o: No such file or directory
> make: *** [evilvte] Error 1
>     Aborting...
> ============================================================
> Solved with reboot.....
> hope this be fixed soon
There are (at least?) three reasons why this might be so:

1) The parent make didn't realize that the child process it was
invoking was actually a "make" program. In this case, it won't
allow the child to connect to the jobserver. This is typically
because the command to invoke the child uses "make" or similar
rather than the correct $(MAKE). See the docs on the "+" token to
understand the algorithm GNU make uses to determine if the child is
a sub-make or not.

Adding the "+" to the invocation in the parent will fix this; hence
the message you got.

2) You have changed your SHELL to use csh or tcsh. These shells are
fundamentally broken and cannot coexist with the jobserver. You
will need to use a different SHELL, preferable a Bourne-compatible
one (sh, ksh, bash, zsh).

3) There is something about the LSF implementation of GNU make that
breaks this: note that for the jobserver to work correctly each
sub-make _MUST_ be a direct fork/exec of its parent. Running them
on remote systems, invoking them from servers, etc. will not work.

I think it is caused by build system of your OS, which should use
$(MAKE) instead of make (or something else).

I suggest you to use the default build system provided by evilvte:
1. go to directory of evilvte
2. make clean ; make

evilvte only need the binary itself, so you may copy the newly built
evilvte to $PATH.

For example:
cp src/evilvte /usr/bin/evilvte

05 July 2010

evilvte 0.4.7~pre3 released

Changelog:
0.4.7~pre3
 * Support vte_terminal_fork_command_full (VTE >= 0.25.1)
 * Support all positive integer font size
 * Drop gdk-pixbuf dependency because it is a standalone
   library now.
   It was only used for an VTE 0.24.0 bug. VTE 0.24.1 and
   later ones had fixed that bug.
 * Code clean up

 * How to report bug, request feature,
   or submit patch for evilvte

02 July 2010

Re: I would just like to report that...

Below is a comment for Flash white bug?

Tslil said...
> I would just like to report that I am having the same issue with evilvte (0.4.7 pre2) under an
> unrelated wm (called subtle wm, written in ruby), running on a differenet machine with no
> hardware or software in common save vte and evilvte. Still cant seem to figure it out.
>
> Hiato

To Tslil:

If you are saying the "flash white" issue,
I think it is libvte's problem.