I built and installed Tcl and Tk 8.6.13 from source. And it works.
Except the fonts. The fonts look awful. Maybe they don't have antialias, maybe it's something else, I'm not sure. I just know they look awful.
Really awful.
I also have 8.6.6 from my distro's repository and a compact/portable
version of 8.6.13 in FreeWrap, and their fonts look fine. Only my
compiled Tk looks bad.
Then I tried 8.6.14 and had the exact same problem.
Do you people have any idea why?
What do you suggest I do to pinpoint the cause of the problem?
In case you're wondering, I configured it like this:
$ ./configure --disable-symbols --enable-shared --enable-threads --enable-64bit --prefix /opt/tcltk8614 --with-tcl=/home/luc/newtcl/tcl8.6.14/unix
Check ./configure --help.
Run an ldd on the wish which has "good fonts" and on the one that has
"bad fonts". Compare what is linked. I bet you find the "bad fonts"
wish does not link to libfreetype.
On Sat, 22 Jun 2024 01:34:44 -0000 (UTC), Rich wrote:
Run an ldd on the wish which has "good fonts" and on the one that has
"bad fonts". Compare what is linked. I bet you find the "bad fonts"
wish does not link to libfreetype.
They have a lot in common. These are the lines that the "good" has
and the "bad" or "ugly" doesn't:
libXft.so.2 => /usr/lib/x86_64-linux-gnu/libXft.so.2
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6
libXss.so.1 => /usr/lib/x86_64-linux-gnu/libXss.so.1
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16
and
libXft-dev => I installed it
libfontconfig-dev => I installed it
libfreetype-dev => already had it
libXss-dev => I installed it
libXext-dev => I installed it
libXrender-dev => I installed it
libexpat-dev => already had it
libpng16-dev => already had it
I recompiled. And the problem persists. And ldd tells me that the libraries linked in the good one are still absent in my own build.
Now I have no idea what else I need to install to make fonts look
good.
On Sat, 22 Jun 2024 01:34:44 -0000 (UTC), Rich wrote:
Check ./configure --help.
The only relevant thing I can find is
--enable-xft use freetype/fontconfig/xft (default: on)
But default is on. I recompiled with --enable-xft and the problem
persists.
Run an ldd on the wish which has "good fonts" and on the one that has
"bad fonts". Compare what is linked. I bet you find the "bad fonts"
wish does not link to libfreetype.
They have a lot in common. These are the lines that the "good" has and
the "bad" or "ugly" doesn't:
libXft.so.2 => /usr/lib/x86_64-linux-gnu/libXft.so.2
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6
libXss.so.1 => /usr/lib/x86_64-linux-gnu/libXss.so.1
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16
and
libXft-dev => I installed it
libfontconfig-dev => I installed it
libfreetype-dev => already had it
libXss-dev => I installed it
libXext-dev => I installed it
libXrender-dev => I installed it
libexpat-dev => already had it
libpng16-dev => already had it
I recompiled. And the problem persists. And ldd tells me that the libraries linked in the good one are still absent in my own build.
Now I have no idea what else I need to install to make fonts look good.
I built and installed Tcl and Tk 8.6.13 from source. And it works.
Except the fonts. The fonts look awful. Maybe they don't have antialias, maybe it's something else, I'm not sure. I just know they look awful.
Really awful.
I also have 8.6.6 from my distro's repository and a compact/portable
version of 8.6.13 in FreeWrap, and their fonts look fine. Only my
compiled Tk looks bad.
Then I tried 8.6.14 and had the exact same problem.
Do you people have any idea why? What do you suggest I do to pinpoint
the cause of the problem?
In case you're wondering, I configured it like this:
$ ./configure --disable-symbols --enable-shared --enable-threads --enable-64bit --prefix /opt/tcltk8614 --with-tcl=/home/luc/newtcl/tcl8.6.14/unix
What do you suggest I do to pinpoint the cause of the problem?
Luc <luc@sep.invalid> wrote:It is pretty "standard" for both Debian and RedHat based distros to split off the "development" library packages. Under Debian for most lib<mumble> package there is a corresponding lib<mumble>-dev package and under RedHat for some <mumble> packages there is a <mumble>-devel package. I helieve the idea is
I built and installed Tcl and Tk 8.6.13 from source. And it works.
Except the fonts. The fonts look awful. Maybe they don't have antialias, maybe it's something else, I'm not sure. I just know they look awful. Really awful.
I also have 8.6.6 from my distro's repository and a compact/portable version of 8.6.13 in FreeWrap, and their fonts look fine. Only my
compiled Tk looks bad.
Then I tried 8.6.14 and had the exact same problem.
Do you people have any idea why?
Run an ldd on the wish which has "good fonts" and on the one that has
"bad fonts". Compare what is linked. I bet you find the "bad fonts"
wish does not link to libfreetype.
What do you suggest I do to pinpoint the cause of the problem?
The above.
In case you're wondering, I configured it like this:
$ ./configure --disable-symbols --enable-shared --enable-threads --enable-64bit --prefix /opt/tcltk8614 --with-tcl=/home/luc/newtcl/tcl8.6.14/unix
Check ./configure --help.
See if there is an "enable truetype" or "enable freetype" option.
If yes, rebuild while specifying that option. If you get errors, then
make sure you have the freetype "development" package installed (too
many debian/ubuntu derived distros separate everything into "use" an "development" packages, and then omit installing the "development"
packages (which made /some/ sense years ago when a 4G hard drive was considered large). But now, the result is things like 'true type'
support won't be auto-detected by configure unless the development
packages for it are first installed, leading to oddness like what you
just experienced -- the distro package works fine, your custom built
one has weirdness.
Luc <luc@sep.invalid> wrote:
On Sat, 22 Jun 2024 01:34:44 -0000 (UTC), Rich wrote:
Check ./configure --help.
The only relevant thing I can find is
--enable-xft use freetype/fontconfig/xft (default: on)
But default is on. I recompiled with --enable-xft and the problem
persists.
+1 +1!Run an ldd on the wish which has "good fonts" and on the one that has >>"bad fonts". Compare what is linked. I bet you find the "bad fonts" >>wish does not link to libfreetype.
They have a lot in common. These are the lines that the "good" has and
the "bad" or "ugly" doesn't:
libXft.so.2 => /usr/lib/x86_64-linux-gnu/libXft.so.2
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6
libXss.so.1 => /usr/lib/x86_64-linux-gnu/libXss.so.1
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16
and
libXft-dev => I installed it
libfontconfig-dev => I installed it
libfreetype-dev => already had it
libXss-dev => I installed it
libXext-dev => I installed it
libXrender-dev => I installed it
libexpat-dev => already had it
libpng16-dev => already had it
I recompiled. And the problem persists. And ldd tells me that the libraries linked in the good one are still absent in my own build.
Now I have no idea what else I need to install to make fonts look good.
A few things you could check:
What does the configure output look like? Was it still unable to
find the missing libraries?
Just making sure: have you started the recompile in a clean source
tree? Safest way is to delete and unpack it again.
What do these "-dev"-packages contain? Shared objects? Header files?The -dev packages contain header files, link libraries, and config files (PKG_CONFIG or something like that).
Where are these installed in relation to the system development
files?
Luc <luc@sep.invalid> writes:
What do you suggest I do to pinpoint the cause of the problem?
I suggest you dig up the configure options your distro uses.
Just making sure: have you started the recompile in a clean source
tree? Safest way is to delete and unpack it again.
What does the configure output look like? Was it still unable to
find the missing libraries?
What do these "-dev"-packages contain? Shared objects? Header files?
Where are these installed in relation to the system development
files?
On Sat, 22 Jun 2024 12:05:01 +0200, Joerg Mertens wrote:
What does the configure output look like? Was it still unable to
find the missing libraries?
It looks bad. It says "xft is unusable." I don't understand that at all.
I don't know C. I don't understand compiling.
Luc <luc@sep.invalid> wrote:I just grabed the Tk8.6 debian file for Debian Bookworm (what I am running on my Raspberry Pi 5) and the revlevant info is:
On Sat, 22 Jun 2024 12:05:01 +0200, Joerg Mertens wrote:
What does the configure output look like? Was it still unable to
find the missing libraries?
It looks bad. It says "xft is unusable." I don't understand that at all.
That is why it is not linking to xft, which implies there are still one
or more *-dev packs missing.
I don't know C. I don't understand compiling.
Look at Robert Heller's post under this message id:
<z5acnQ0TVobmduv7nZ2dnZfqn_udnZ2d@giganews.com>
Then do what he suggests there. That may show which *-dev pack is
still missing, but is required.
checking whether to use xft... no[...]
configure: WARNING: Can't find xft configuration, or xft is unusable
checking for X11/XKBlib.h... no
checking whether XKeycodeToKeysym is deprecated... yes
This tells him what extra args to pass to configure (probably nothing he is not already doing). It looks like all he needs to do is install libxft-dev and he should be good to go.
Robert Heller <heller@deepsoft.com> wrote:Ubuntu is a Debian derived distro. Much of the Ubuntu repo is just rebuilds
[...]
This tells him what extra args to pass to configure (probably nothing he is not already doing). It looks like all he needs to do is install libxft-dev and he should be good to go.
Interestingly, Google found an article in comp.lang.tcl from 2007
with the same `configure´ warning message [1]. This was on an
Ubuntu system but I guess the package system is the same. The
solution was indeed to install the libxft-dev package.
[1] https://groups.google.com/g/comp.lang.tcl/c/Cr0aaF8sIUs
I don't know if this will help but if you want to dive deeper into**************************
the details here is some more information.
configure executes two commands to find out if it can use xft and
fontconfig:
$ pkg-config --cflags xft fontconfig
and
$ pkg-config --libs xft fontconfig
At least one of them fails or else configure wouldn't print the
warning. You can run the commands interactiveliy to see which files
it doesn't find.
On Sun, 23 Jun 2024 12:16:29 +0200, Joerg Mertens wrote:
I don't know if this will help but if you want to dive deeper into**************************
the details here is some more information.
configure executes two commands to find out if it can use xft and >>fontconfig:
$ pkg-config --cflags xft fontconfig
and
$ pkg-config --libs xft fontconfig
At least one of them fails or else configure wouldn't print the
warning. You can run the commands interactiveliy to see which files
it doesn't find.
Yes, it helps although it won't solve my problem.
# > pkg-config --libs xft fontconfig
-lXft -lfontconfig -lfreetype
# > pkg-config --cflags xft fontconfig
Package 'x11' requires 'xcb >= 1.11.1' but version of xcb is 1.8.4
I give up. The entire system does a formidable job of excluding
people with older systems. The whole spaghetti entanglement of
dependencies puts in place a large number of checkpoints that
make sure violators will be caught even if they cheat. I am caught
again. I give up again.
# > pkg-config --libs xft fontconfig
-lXft -lfontconfig -lfreetype
# > pkg-config --cflags xft fontconfig
Package 'x11' requires 'xcb >= 1.11.1' but version of xcb is 1.8.4
I just grabed the Tk8.6 debian file for Debian Bookworm (what I am
running on my Raspberry Pi 5) and the revlevant info is:
from the control file:
Build-Depends: debhelper-compat (= 13), dpkg-dev (>= 1.16.1~), x11proto-core-dev,
libx11-dev, libxss-dev, libxext-dev, libxft-dev,
tcl8.6-dev (>= 8.6.8+dfsg-3~)
So Luc needs:
sudo apt install x11proto-core-dev libx11-dev libxss-dev libxext-dev libxft-dev
(probably only libxft-dev is actually needed)
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 970 |
Nodes: | 10 (2 / 8) |
Uptime: | 105:48:51 |
Calls: | 12,740 |
Calls today: | 2 |
Files: | 186,574 |
Messages: | 3,171,706 |