Discussion:
FVWM: 2.6.3 does not build
Donald Allen
2011-10-18 14:00:58 UTC
Permalink
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in

gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c: In function 'FBidiConvert':
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
FBidi.c:53:2: note: each undeclared identifier is reported only once
for each function it appears in
FBidi.c:53:17: error: expected ';' before 'pbase_dir'
FBidi.c:95:34: error: 'pbase_dir' undeclared (first use in this function)
FBidi.c:150:3: warning: implicit declaration of function 'fribidi_get_bidi_type'
make[2]: *** [FBidi.o] Error 1
make[2]: Leaving directory `/home/dca/Software/fvwm-2.6.3/libs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dca/Software/fvwm-2.6.3'
make: *** [all] Error 2
***@sergei:~/Software/fvwm-2.6.3$

My system is 64-bit Slackware 13.37.

Fvwm Configuration:

  Version:     2.6.3

  Executables: /usr/local/bin
  Man pages:   /usr/local/share/man
  Modules:     /usr/local/libexec/fvwm/2.6.3
  Data files:  ${prefix}/share/fvwm
  Doc files:   ${prefix}/share/doc/fvwm
  Perl lib:    ${prefix}/share/fvwm/perllib
  Locale msg:  ${prefix}/share/locale  ar de fr sv_SE zh_CN

  With Asian bi-direct. text support? yes
  With Gettext Native Lang support?   yes (libc)
  With GTK+ required for FvwmGtk?     yes
  With GDK image support in FvwmGtk?  yes
  With GNOME libs support in FvwmGtk? no: Can't find working gnome-config
  With Iconv support?                 yes (from C library)
  With Mouse strokes (gestures)?      no: Can't find working libstroke
  With PNG image support?             yes
  With ReadLine sup. in FvwmConsole?  yes
  With RPlay support in FvwmEvent?    no: Can't find working librplay
  With Shaped window support?         yes
  With Shared memory for XImage?      yes
  With Session Management support?    yes
  With SVG image support?             yes
  With Xcursor support?               yes
  With Xinerama multi-head support?   yes
  With Xft anti-alias font support?   yes (version 2)
  With XPM image support?             yes
  With Xrender image support?         yes
  Build man pages?                    yes
  Build HTML documentation?           no

I did subsequently try configure --with-gnome=no and got the same
compilation error.

/Don Allen
Thomas Adam
2011-10-18 14:48:06 UTC
Permalink
Post by Donald Allen
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
It's been mentioned a few times, but you must compile FVWM against fribidi
0.19.2. Or disable it at configure time if you don't need it.
Post by Donald Allen
I did subsequently try configure --with-gnome=no and got the same
compilation error.
You would do when you're looking to disable fribidi, and not GNOME. See the
option again. What made you think this had anything to do with GNOME?

-- Thomas Adam
Donald Allen
2011-10-18 15:51:43 UTC
Permalink
Post by Thomas Adam
Post by Donald Allen
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
It's been mentioned a few times, but you must compile FVWM against fribidi
0.19.2.
An oversight that this is not checked at configure time?

Slackware 13.37 installs fribidi-0.10.9.

 Or disable it at configure time if you don't need it.
Post by Thomas Adam
Post by Donald Allen
I did subsequently try configure --with-gnome=no and got the same
compilation error.
You would do when you're looking to disable fribidi, and not GNOME.  See the
option again.  What made you think this had anything to do with GNOME?
I have absolutely no idea what FBidi.c does or what fribidi does,
gnome or otherwise. But I ran configure --help and noted the
--with-gnome option. Since I don't use gnome, I decided to try turning
the option off, on the off-chance that it might improve things. It
certainly couldn't hurt, since I was giving configure a more accurate
picture of the build environment.

I disabled configuring with fribidi, no thanks to configure --help,
which makes no mention of --enable-bidi (I looked at the configure
file itself) and was able to get it built. Thanks for getting me
pointed in the right direction.

/Don Allen
Post by Thomas Adam
-- Thomas Adam
Markus Hutmacher
2011-10-18 16:03:15 UTC
Permalink
Post by Donald Allen
Post by Thomas Adam
Post by Donald Allen
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2 -Wall -Wno-implicit-int -g -O2 -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2 -Wall -Wno-implicit-int -g -O2 -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
It's been mentioned a few times, but you must compile FVWM against fribidi
0.19.2.
An oversight that this is not checked at configure time?
Slackware 13.37 installs fribidi-0.10.9.
Or disable it at configure time if you don't need it.
Post by Thomas Adam
Post by Donald Allen
I did subsequently try configure --with-gnome=no and got the same
compilation error.
You would do when you're looking to disable fribidi, and not GNOME. See the
option again. What made you think this had anything to do with GNOME?
I have absolutely no idea what FBidi.c does or what fribidi does,
gnome or otherwise. But I ran configure --help and noted the
--with-gnome option. Since I don't use gnome, I decided to try turning
the option off, on the off-chance that it might improve things. It
certainly couldn't hurt, since I was giving configure a more accurate
picture of the build environment.
I disabled configuring with fribidi, no thanks to configure --help,
which makes no mention of --enable-bidi (I looked at the configure
file itself) and was able to get it built. Thanks for getting me
pointed in the right direction.
/Don Allen
Post by Thomas Adam
-- Thomas Adam
Hallo Don,

I've once built fvwm-2.6 on Slackware (when 13.37 was new) and ran into
the same issue. I remember that I simple upgraded fribidi to the
necessary version. You can use the Slackbuildscript from the official
Slackware-sources.

Slackware comes with a relatively old version of fribidi because in
Pat's opinion the newer versions are not stable enough (well, in fact he
ran into issues with other packages depending on fribidi). But I had no
difficulties using the newer version of fribidi on my system.

Markus
--
Regards
Markus Hutmacher
Donald Allen
2011-10-18 16:11:55 UTC
Permalink
On Tue, Oct 18, 2011 at 12:03 PM, Markus Hutmacher
Post by Markus Hutmacher
Post by Donald Allen
Post by Thomas Adam
Post by Donald Allen
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
It's been mentioned a few times, but you must compile FVWM against fribidi
0.19.2.
An oversight that this is not checked at configure time?
Slackware 13.37 installs  fribidi-0.10.9.
 Or disable it at configure time if you don't need it.
Post by Thomas Adam
Post by Donald Allen
I did subsequently try configure --with-gnome=no and got the same
compilation error.
You would do when you're looking to disable fribidi, and not GNOME.  See the
option again.  What made you think this had anything to do with GNOME?
I have absolutely no idea what FBidi.c does or what fribidi does,
gnome or otherwise. But I ran configure --help and noted the
--with-gnome option. Since I don't use gnome, I decided to try turning
the option off, on the off-chance that it might improve things. It
certainly couldn't hurt, since I was giving configure a more accurate
picture of the build environment.
I disabled configuring with fribidi, no thanks to configure --help,
which makes no mention of --enable-bidi (I looked at the configure
file itself) and was able to get it built. Thanks for getting me
pointed in the right direction.
/Don Allen
Post by Thomas Adam
-- Thomas Adam
Hallo Don,
I've once built fvwm-2.6 on Slackware (when 13.37 was new) and ran into the
same issue. I remember that I simple upgraded fribidi to the necessary
version. You can use the Slackbuildscript from the official
Slackware-sources.
Slackware comes with a relatively old version of fribidi because in Pat's
opinion the newer versions are not stable enough (well, in fact he ran into
issues with other packages depending on fribidi). But I had no difficulties
using the newer version of fribidi on my system.
Thanks. I took a different approach and just disabled fribidi
(--enable-bidi=no is the magic incantation to configure), since I
don't need it. Same result -- I got it built and it's running as I
type.

/Don
Post by Markus Hutmacher
Markus
--
Regards
Markus Hutmacher
elliot s
2011-10-18 19:11:29 UTC
Permalink
Speaking of 2.6.3, I'd found what I think is a bug ((Icon)TitleFormat
doesnt quite work like IndexedWindowName for one window) and reported
it to fvwm_workers, but i don't see it on that list's archive. If it
doesnt show up on the archive, does that mean that the msg didnt go
thru?
Thomas Adam
2011-10-19 08:03:06 UTC
Permalink
Post by elliot s
Speaking of 2.6.3, I'd found what I think is a bug ((Icon)TitleFormat
doesnt quite work like IndexedWindowName for one window) and reported
it to fvwm_workers, but i don't see it on that list's archive. If it
doesnt show up on the archive, does that mean that the msg didnt go
thru?
It didn't get through. What's the problem?

-- Thomas Adam
Thomas Adam
2011-10-19 14:28:31 UTC
Permalink
Post by Donald Allen
Post by Thomas Adam
Post by Donald Allen
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
It's been mentioned a few times, but you must compile FVWM against fribidi
0.19.2.
An oversight that this is not checked at configure time?
It is checked at configure time as it happens. It's possible though that
you might have a non-standard install of a newer fribidi library somewhere
which the standard search path isn't finding?

But I've tested it here iwth 0.10.9 -- the configure check discards that, as
it falls below the miniumum version FVWM tries to use.
Post by Donald Allen
Slackware 13.37 installs fribidi-0.10.9.
Yes, I know. See:

http://www.linuxquestions.org/questions/slackware-14/ot-new-stable-fvwm-release-875239/page3.html#post4328755

and any of the other posts surrounding that.
Post by Donald Allen
I disabled configuring with fribidi, no thanks to configure --help,
which makes no mention of --enable-bidi (I looked at the configure
file itself) and was able to get it built. Thanks for getting me
pointed in the right direction.
It mentions its negation, and also ./configure mentions that options in
general have --enable-* --disable-* pairs:

[***@debian][fvwm.git][branch-2_6 *]
% ./configure --help | grep bidi
--disable-bidi disable bi-directional text support
--with-fribidi-bindir=DIR
directory of fribidi-config if not in PATH
[***@debian][fvwm.git][branch-2_6 *]
%

So far, it's only Slackware which is falling behind with the newer version
of fribidi, FWIW. Other distros long since switched to 0.19.2 a while ago,
and I have zero interest in supporting an older version with more and more
#ifdef hacks needed.

The same principle would apply for any library FVWM tries to link against,
FWIW -- libpng is becoming another PITA in that regard.

-- Thomas Adam
Donald Allen
2011-10-19 16:18:58 UTC
Permalink
Post by Donald Allen
Post by Thomas Adam
Post by Donald Allen
I just downloaded fvwm 2.6.3 and attempted to build it, which resulted in
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
safemalloc.o -MD -MP -MF .deps/safemalloc.Tpo -c -o safemalloc.o
safemalloc.c
mv -f .deps/safemalloc.Tpo .deps/safemalloc.Po
gcc -DHAVE_CONFIG_H -I. -I.. -I..  -I/usr/include/freetype2
-pthread -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/cairo -I/usr/include/libpng14 -I/usr/include/pixman-1
-I/usr/include/freetype2       -Wall -Wno-implicit-int -g -O2   -MT
FBidi.o -MD -MP -MF .deps/FBidi.Tpo -c -o FBidi.o FBidi.c
FBidi.c:53:2: error: 'FriBidiParType' undeclared (first use in this function)
It's been mentioned a few times, but you must compile FVWM against fribidi
0.19.2.
An oversight that this is not checked at configure time?
It is checked at configure time as it happens.  It's possible though that
you might have a non-standard install of a newer fribidi library somewhere
which the standard search path isn't finding?
Nope.
But I've tested it here iwth 0.10.9 -- the configure check discards that, as
it falls below the miniumum version FVWM tries to use.
It did not do so on my system.
Post by Donald Allen
Slackware 13.37 installs  fribidi-0.10.9.
http://www.linuxquestions.org/questions/slackware-14/ot-new-stable-fvwm-release-875239/page3.html#post4328755
and any of the other posts surrounding that.
Post by Donald Allen
I disabled configuring with fribidi, no thanks to configure --help,
which makes no mention of --enable-bidi (I looked at the configure
file itself) and was able to get it built. Thanks for getting me
pointed in the right direction.
It mentions its negation, and also ./configure mentions that options in
% ./configure --help | grep bidi
 --disable-bidi          disable bi-directional text support
 --with-fribidi-bindir=DIR
                         directory of fribidi-config if not in PATH
%
Again, not so on my system. I did exactly the same thing you did --
piped the output of configure --help through grep (I used -i to avoid
case issues) and it turned up only the --with-fribidi-bindir=DIR
So far, it's only Slackware which is falling behind with the newer version
of fribidi, FWIW.  Other distros long since switched to 0.19.2 a while ago,
and I have zero interest in supporting an older version with more and more
#ifdef hacks needed.
I certainly don't blame you for that. What you are doing makes sense.
It would be nice to understand what the issues are with configure --
why you are getting different results on debian than I'm getting on
slackware. However, I don't think fvwm is for me -- I did get it built
and tried it for a bit. But it's dauntingly complex and the default
setup is not acceptable to me -- I'm a minimalistic kind of guy (I ran
dwm for a long time and would continue to do so, but I've run into a
couple of annoying problems with it and also there are a couple of
patches that are not in the main stream code that I consider
essential, creating a maintenance headache; I still might go back to
it). I really don't have the time right now to wade through all the
fvwm documentation and configure it in a way that would be
satisfactory to me (though I'm guessing that's possible to do). At the
moment, I'm running, believe it or not, twm. I have a .twmrc that
creates close to the right environment for me. My concern with twm is
less its behavior than the fact that it is no longer maintained. The X
world could change in ways that could make twm even more obsolete than
it already is. So I'm probably not settled on a wm at this point.

Having said that, if you'd like a bit of help trying to debug the
Slackware/configure issues, I'll be happy to try to provide some
assistance.

/Don
The same principle would apply for any library FVWM tries to link against,
FWIW -- libpng is becoming another PITA in that regard.
-- Thomas Adam
Thomas Adam
2011-10-20 10:41:28 UTC
Permalink
Post by Donald Allen
Post by Thomas Adam
But I've tested it here iwth 0.10.9 -- the configure check discards that, as
it falls below the miniumum version FVWM tries to use.
It did not do so on my system.
At this point, I don't trust your system or what Slackware may or may not be
doing to the FVWM package.
Post by Donald Allen
Having said that, if you'd like a bit of help trying to debug the
Slackware/configure issues, I'll be happy to try to provide some
assistance.
That won't be necessary. Thanks for the offer though.

-- Thomas Adam

Loading...