Bug 2185 - pixman can't apply pixman-0.10.0-no-tests.patch
Summary: pixman can't apply pixman-0.10.0-no-tests.patch
Status: RESOLVED FIXED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2010.05
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-08 13:45 UTC by Anthoine Bourgeois
Modified: 2010-07-08 15:44 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
my config file (29.21 KB, application/octet-stream)
2010-07-08 13:45 UTC, Anthoine Bourgeois
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anthoine Bourgeois 2010-07-08 13:45:23 UTC
Created attachment 2185 [details]
my config file

I've got this error when I made my config :

>>> pixman 0.17.6 Extracting
>>> pixman 0.17.6 Patching package/pixman

Applying pixman-0.10.0-no-tests.patch using plaintext: 
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/Makefile.in.orig 2008-05-23 14:04:37.000000000 +0000
|+++ b/Makefile.in      2008-05-23 14:04:50.000000000 +0000
--------------------------
File to patch: 


It appears that Makefile.in doesn't exist in my output/build/pixman-0.17.6 . This Makefile.in is produced after a ./autogen.sh then I set PIXMAN_AUTORECONF=YES in the pixman.mk but this solution doesn't work neither. AUTORECONF is execute as a POST_PATCH_HOOKS and the patch fails before reaching the AUTORECONF hook.

What is the good solution ? Fix Makefile.autoconf.in to process AUTORECONF as a POST_EXTRACT_HOOKS or run ./autogen.sh manually ?
Comment 1 Peter Korsgaard 2010-07-08 13:57:36 UTC
Strange, it works here (git version):

$ make
>>> pixman 0.17.6 Extracting
>>> pixman 0.17.6 Patching package/pixman

Applying pixman-0.10.0-no-tests.patch using plaintext: 
patching file Makefile.in
Hunk #1 succeeded at 211 with fuzz 1 (offset 13 lines).
for file in config.guess config.sub; do for i in $(find /home/peko/source/buildroot/output/build/pixman-0.17.6 -name $file); do cp package/gnuconfig/$file $i; done; done
>>>   Patching libtool

If you have a look in pixman-0.17.6.tar.gz, then you'll see it has a Makefile.in. Could you try rm -rf output/build/pixman* and try again?
Comment 2 Anthoine Bourgeois 2010-07-08 14:27:42 UTC
Same issue. My archive contains :

/mnt/WORK/bourgeois/buildroot-2010.05/output/build $ ls pixman-0.17.6/
AUTHORS  autogen.sh  ChangeLog  CODING_STYLE  configure.ac  COPYING  INSTALL  Makefile.am  NEWS  pixman  pixman-1.pc.in  pixman-1-uninstalled.pc.in  README  RELEASING  test  TODO

No Makefile.in here. I downloaded it from http://cgit.freedesktop.org/pixman/snapshot/pixman-0.17.6.tar.gz
Comment 3 Peter Korsgaard 2010-07-08 14:50:40 UTC
(In reply to comment #2)
> Same issue. My archive contains :
> 
> /mnt/WORK/bourgeois/buildroot-2010.05/output/build $ ls pixman-0.17.6/
> AUTHORS  autogen.sh  ChangeLog  CODING_STYLE  configure.ac  COPYING  INSTALL 
> Makefile.am  NEWS  pixman  pixman-1.pc.in  pixman-1-uninstalled.pc.in  README 
> RELEASING  test  TODO
> 
> No Makefile.in here. I downloaded it from
> http://cgit.freedesktop.org/pixman/snapshot/pixman-0.17.6.tar.gz

Don't do that! You get a git snapshot when you download from cgit (E.G. where make release hasn't been run, which generates Makefile.in).

How did you get that idea? The official tarball is at http://cairographics.org/releases/pixman-0.17.6.tar.gz which is also where buildroot downloads it from.
Comment 4 Anthoine Bourgeois 2010-07-08 15:44:17 UTC
OK, it works with the right archive. Thank you !
I work on a separate environment from internet then I download all packages manually. I'll run 'make source' now I know that command.