| View previous topic :: View next topic |
| Author |
Message |
eyecon_one n00b

Joined: 06 Jul 2007 Posts: 2
|
Posted: Fri Jul 06, 2007 11:06 pm Post subject: libgdi-1.2.4 fails on cairo |
|
|
Every time I try to build libgdiplus-1.2.4 I get the following error. I tried with use flags gif jpeg tiff -exif and with use flags -gif -tiff -jpeg -exif and it fails either way.
cairo-type1--subset.c:376 error: implicit declaration of function 'isspace'
I know this error is avoidable by modifying the source file with the following little include patch http://bugs.freedesktop.org/attachment.cgi?id=10010. I don't know how to make emerge not unpack the bad package every time. Any help would be much appreciated. _________________ Eyecon |
|
| Back to top |
|
 |
didymos Advocate


Joined: 10 Oct 2005 Posts: 4798 Location: California
|
Posted: Sat Jul 07, 2007 12:08 am Post subject: |
|
|
Report the existence of the patch to Gentoo Bugzilla, and it should be fixed. If you want to fix it now, you'll need to modify the ebuild. Do this:
| Code: |
mkdir /usr/local/portage/dev-dotnet && cp -a /usr/portage/dev/dotnet/libgdiplus /usr/local/portage/dev-dotnet/
|
Copy this and save it to /usr/local/portage/dev-dotnet/libgdiplus/files/ with the filename "libgdiplus-1.2.4-cairo.patch":
| Code: | --- libgdiplus-1.2.4/cairo/src/cairo-type1-subset.c.orig 2007-05-03 13:40:26.000000000 -0700
+++ libgdiplus-1.2.4/cairo/src/cairo-type1-subset.c 2007-07-06 16:57:18.000000000 -0700
@@ -41,6 +41,7 @@
/* XXX: Eventually, we need to handle other font backends */
#include "cairo-ft-private.h"
+#include <ctype.h>
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_OUTLINE_H
|
Formatting matters with patches,so make sure that doesn't change.
Now make this change to the libgdiplus-1.24 ebuild:
| Code: |
src_unpack() {
unpack ${A}
cd ${S}
epatch ${FILESDIR}/${PN}-1.1.13-libungif-configure-fix.diff
epatch ${FILESDIR}/${P}-cairo.patch
eautoreconf
}
|
and run: | Code: |
ebuild /usr/local/portage/dev-dotnet/libgdiplus/libgdiplus-1.2.4.ebuild digest compile
|
If it builds correctly, do this:
| Code: |
ebuild /usr/local/portage/dev-dotnet/libgdiplus/libgdiplus-1.2.4.ebuild merge
|
and now it's fixed: I just tested it out. _________________ Thomas S. Howard |
|
| Back to top |
|
 |
eyecon_one n00b

Joined: 06 Jul 2007 Posts: 2
|
Posted: Sat Jul 07, 2007 1:22 am Post subject: |
|
|
THANK YOU! It worked indeed. _________________ Eyecon |
|
| Back to top |
|
 |
GenKreton l33t


Joined: 20 Sep 2003 Posts: 828 Location: Cambridge, MA
|
Posted: Sat Jul 07, 2007 4:23 am Post subject: |
|
|
| I had the same problem since deluge needed this as a dep. Thanks for the efforts guys. It worked with one minor glitch - I had to delete the tmp compile folder from the failed compiled in /var/tmp/portage/ |
|
| Back to top |
|
 |
didymos Advocate


Joined: 10 Oct 2005 Posts: 4798 Location: California
|
Posted: Sat Jul 07, 2007 7:30 am Post subject: |
|
|
Nothing I can do about that. That's just what portage does so you can examine the entrails of failed compilations for signs and portents. But, you can do this:
| Code: |
ebuild <path to ebuild> digest clean unpack
|
after you've modified an ebuild to apply a new patch. The 'clean' will wipe out whatever was there. You can do other stuff with ebuild as well. For example, 'install' will do everything except actually merge a package, and you can see all the files that would be merged in /var/tmp/portage/<category>/<package>/image/. See 'man ebuild' for all the commands it accepts. _________________ Thomas S. Howard |
|
| Back to top |
|
 |
|