You are not logged in.
OK, so according to everyone, this cant be fixed with freetype. We have to fix every freetype-requiring package we need to compile. I dont like this, but I guess I have no choice.
I dont know C, so I can't really do this on my own.
Could the people who understand this problem fully help with explaining exactly how to properly compile the major packages. Things I consider major:
gimp, gtk2, pango, gnome.
There are others as well. I think if you showed us step by step how to solve it for a few packages, we could begin to do this on our own.
Also, would reverting to a slightly older version of freetype solve this problem? It may be the best temporary solution.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
as a carry over from the last thread - I am still a bit unclear as to the problem. in the case of fluxbox, it is not the problem, but due to the version of freetype correct?
I can do what needs to be done, so just clarify this a bit for me... thanks
Offline
Hi contarsutra,
OK, so according to everyone, this cant be fixed with freetype. We have to fix every freetype-requiring package we need to compile. I dont like this, but I guess I have no choice.
I dont know C, so I can't really do this on my own.
Could the people who understand this problem fully help with explaining exactly how to properly compile the major packages. Things I consider major:
gimp, gtk2, pango, gnome.
There are others as well. I think if you showed us step by step how to solve it for a few packages, we could begin to do this on our own.
Also, would reverting to a slightly older version of freetype solve this problem? It may be the best temporary solution.
My guess is that returning to 2.1.5 is an option which makes many things
easier until all the major packages are fixed by their programmers. The
hint how this can be fixed is hidden in the freetype2 CHANGES file. The
freetype header should not be included directly, instead a macro should be
used. In case of pango its explained here:
http://bbs.archlinux.org/viewtopic.php?p=9962#9962
For all the other packages you have to look for the line:
#include <freetype/freetype.h>
in any file and replace it with
#include <ft2build.h>
#include FT_FREETYPE_H
This will work for _your_ desktop system. Using it on a system where you
want to build packages for other this not an option I think.
bye neri
Offline
For all the other packages you have to look for the line:
#include <freetype/freetype.h>
in any file and replace it with
#include <ft2build.h>
#include FT_FREETYPE_H
as i mentioned after your post about this you do not replace that line with the other two you just add the other two. you just add them before that macro.
generally the error will go something like this:
from <somefile>.c:someline#:theline# in the current file.
the message from the freetype header is then echoed in here
from this point you create a patch in the file mention before the lines echoed from the freetype header. generally this is done like so.
copy the suspect file and add the two macros
rename the file to <filename>.c.orig
copy this file back to where the original file exists in the source
run:
diff -ruN /path/to/filetobepatched.c /path/to/editedfile.c.orig > patchname.patch
then add the patch to you top level directory with the PKGBUILD and then edit the PKGBUILD to add all necessary info to patch the file when you run makepkg. it is rather easy.
take a look at how gnome-terminal build with and without the patch. this was one of the recently patched files to accommodate freetype2. openbox, fluxbox, vte are other recentlky patched packages because of freetype.
AKA uknowme
I am not your friend
Offline
Hi sarah,
neri wrote:For all the other packages you have to look for the line:
#include <freetype/freetype.h>
in any file and replace it with
#include <ft2build.h>
#include FT_FREETYPE_Has i mentioned after your post about this you do not replace that line with the other two you just add the other two. you just add them before that macro.
thanks for that reply, also supa_user directed me to the gnome-terminal in
the forum. After this I tried to rebuild gimp-unstable. I realized all 'suspected'
files are in one folder. I used a find sed combination to add the lines. Worked
like a charme.
bye neri
Offline
as i had mentioned in one of the other posts i believe that that header you were replacing was actually one for freetype1. i may be off with that but as the echoed error says it the two missing macros just need to be added nothing about replacing anything not being sure if you were messing with freetype1 headers i thought i would mention it. better have both freetype 1 and two than just one of them:)
AKA uknowme
I am not your friend
Offline
OK, so I went to the freetype homepage, and guess what, there is no announcement for 2.1.7.
I then went to their sourceforge site, and guess what, no download for 2.1.7.
It seems we grabbed an "unannounced" version. THIS is why no programs are compatable, because its not a full release yet (and I can see why).
I am going to be building a "freetype2-compat" package for my TUR, that is version 2.1.5. I really do suggest arch downgrade though. This seems to be an unstable version.
If arch downgrades, Ill delete my package of course.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
OK, I uploaded a package.
You have to manually remove the official version of freetype2 first though. I couldnt figure out a way to do it automatically.
The package does have "provides=(freetype2)" though, so after that, no dependancy issues.
EDIT:
I also updated my fluxbox package to have xft now. It works fine.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
replaces=(freetype2)
man makepkg
EDIT: i remember seing it announced on FM or someplace. that does not mean it is not a development version but it was announced.
i also found 2.1.7 on their ftp site in the freetype2 directory not the unstable or devel directories.
AKA uknowme
I am not your friend
Offline
I just updated my debian sid box at work & it also uses freetype-2.1.7 so it's not a devel version or something. AFAIR freetype's announcements for new releases always take some time to come up on its webpage...
Offline
That may be so, but do you think program developers check the FTP sites and not the frontpage/sourceforge page instead?
They don't. So as long as they don't know, they wont fix their apps, leaving us in trouble.
Now is not the time to be waging a holy war.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
Oooooo, oooooo! You could... tell the developers!
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal
Offline
Do you know how many programs use freetype/pango?
Yeah.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
errr... there's only one problem -- it's going to be annoying to have it ask me if I want to replace freetype2 with freetype2-compat everytime I run pacman -Syu...
Hapy.
Offline
errr... there's only one problem -- it's going to be annoying to have it ask me if I want to replace freetype2 with freetype2-compat everytime I run pacman -Syu...
Hapy.
err... "IGNOREPKG=freetype2"
mind you that also means that you have to change all the freetype2 depends to freetype2-compat and then add all of those packages to ignorepkg.
by the time all of this stuff is rebuilt you could have emailed the developers of the various apps. it is odd that TURs would have time to put time into arch and build pkgs but not have the time to do the developers of the various "incompatable" apps the simple fixes. while many cannot contribute more than a bug report bug reports are key to the open source community staying functional. in fact the speed at which open source can be "fixed" is what sets it apart from proprietary software.
besides contrasutra you do not have to write the developers of all the apps that use freetype and pango...just the ones you use.
AKA uknowme
I am not your friend
Offline
having TUR pkgs mess with the arch pkgs is on my opinion unstable ground
is anyone of the TUR making shure that after ther future replacemente compatibility is acheived
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GU/ d- s: a- C L U P+ L+++ E--- W+
N 0+ K- W-- !O !M V-- PS+ PE- V++ PGP T 5 Z+ R* TV+ B+
DI-- D- G-- e-- h! r++ z+ z*
------END GEEK CODE BLOCK------
Offline
"IGNOREPKG=freetype2" doesn't seem to work when "replaces" is used.
really the better option would be for contrasutra to provide a package that is identically named, with the previous version name. then users who want to download his package can say
pacman -S contrasutra/freetype2
(thanks to the cool new pacman feature)
and then add freetype2 to the ignorepkgs list.
Hapy.
Offline
You guys must not be using my current freetype2-compat package. Please "pacman -Syu" to update.
1. It provides freetype2. You should not get any dependancy or update problems.
2. If I name it "freetype2", I get conflicts with the arch package.
I have no problems with it. I just installed fluxbox-unstable,which depends on "freetype2" and it worked fine.
Do you guys have "freetype2" installed? You may have to remove that before installing freetype2-compat.
my older freetype2-compat did not work as well, so do update.
Sarah, if you have both "provides" and "replaces", everything works fine. My old package was missing the "provides"
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
The only thing that seems to be a little messed up is that any app that was installed before freetype2-compat wont depend on freetype2-compat.
So dont remove freetype2-compat unless you are going to replace it.
But for installing new apps that need freetype2, it should work fine. Because packages think that freetype2 is installed.
And any new app that depends on freetype2 will automatically depend on freetype2-compat for the purpose of removing the ft2-c package.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
You have failed to consider the possibility that maybe some people are fine with the arch standard freetype2, but still want to include your repo.
If you just called the package freetype2 then it wouldn't harass people to switch over, since your version is 2.1.5, it won't try and auto-upgrade it since the highest version is 2.1.7. I would say it's conflicting more with arch with having a different name and a "replaces" than it ever would with the normal freetype2 name. Of course I could just remove your TUR from my repo-list.... but that's no fun.
Hapy.
Offline
What are you talking about?
NONE of my packages depend on "freetype2-compat", they all depend on "freetype2".
Because of that, you shouldnt even have to think about freetype2-compat unless you manually (pacman -S freetype2-compat) install it.
Unless there is some problem I dont see. If you see a problem, please be SPECIFIC!
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
By specifying 'replaces' it forces people to say no every time they pacman -Syu because pacman figures that freetype2-compat is supposed to be installed instead of freetype2. This is what hApy is explaining and I thought he did a pretty good job of it.
I have discovered that all of mans unhappiness derives from only one source, not being able to sit quietly in a room
- Blaise Pascal
Offline
OK, I will change it to "freetype2" if thats what everyone wants. Then you can manually install it like: "pacman -S contrasutra/freetype2".
BUT, you will have to add freetype2 to your IgnorePkg list, and check for updates to my package manually.
Keep in mind, this is only suppose to be a temporary solution until Arch fixes its package.
OK, so be sure to remove the "freetype2-compat" package and pacman -S my new package, it will be up in a few minutes.
"Contrary to popular belief, penguins are not the salvation of modern technology. Neither do they throw parties for the urban proletariat."
Offline
bah it is no solution at all.
there is nothing wrong with the freetype2 package. nor is it too hard to email the developers of apps of the changes in freetype2. better yet if you know what to patch send tham a patch.
in the time all this banter took place all of the developers could have been notified by now. instead the problem will persists for a few more weeks.
i would email developers except i haven't needed to because everything i use is operational as is. the few gnome packages i had to patch i will pass on the info when i have finished my i586 work.
AKA uknowme
I am not your friend
Offline