[alsa-devel] [PATCH] alsa-driver git repo: Build problems when copying symlink to itself
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
The attached patch fixes it.
Hacking autoconf.h... make[1]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make -C sound prepare make[2]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make prepare2 make[3]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' cp ../../alsa-kernel/include/ac97_codec.h . patch -p0 -i ac97_codec.patch ac97_codec.h patching file ac97_codec.h Hunk #1 succeeded at 650 (offset 5 lines). cp ../../alsa-kernel/include/core.h . patch -p0 -i core.patch core.h patching file core.h cp ../../alsa-kernel/include/info.h . cp: `../../alsa-kernel/include/info.h' and `./info.h' are the same file make[3]: *** [info.h] Error 1 make[3]: Leaving directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make[2]: *** [prepare] Error 2 make[2]: Leaving directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make[1]: *** [prepare] Error 2 make[1]: Leaving directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make: *** [dep] Error 1
'Twas brillig, and Colin Guthrie at 12/03/11 10:30 did gyre and gimble:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
The attached patch fixes it.
And here is another error I stumbled on. The attached patch fixes this.
Hacking autoconf.h... make[1]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make -C sound prepare make[2]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make prepare2 make[3]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' ln -s ../../alsa-kernel/include/alc5623.h ln: failed to create symbolic link `./alc5623.h': File exists make[3]: *** [alc5623.h] Error 1 make[3]: Leaving directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make[2]: *** [prepare] Error 2 make[2]: Leaving directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make[1]: *** [prepare] Error 2 make[1]: Leaving directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make: *** [dep] Error 1
At Sat, 12 Mar 2011 10:30:48 +0000, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
Can't reproduced with my trees. Could you try the GIT trees below instead?
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-driver-build.git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
Takashi
'Twas brillig, and Takashi Iwai at 14/03/11 09:43 did gyre and gimble:
At Sat, 12 Mar 2011 10:30:48 +0000, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
Can't reproduced with my trees. Could you try the GIT trees below instead?
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-driver-build.git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
OK, so I should have explained it a bit better - tho' in actual fact my fixes wont really help much....
I was using the trees @
git://git.alsa-project.org/alsa-driver.git and git://git.alsa-project.org/alsa-kernel.git
I tried cloning the repos you suggested and ran the script and all was well.
The problem I generally encountered was that as time passes (as it has since the last time I used my clones) and you do a git pull, the patches that are needed change.
When these change, the file alsa-driver/includes/sound/.includes (which is generated by alsa-driver/includes/sound/Makefile) is *not* updated. Therefore, the patch information is bogus and incorrect.
Really the build script needs to rm that file or the Makefile has to be able to update it accordingly.
I also run into the same problem when trying to chase down a regression (a pre-bisect checks). I was not able to rebuild the older drivers easily without rm'ing the above .includes file. Obviously even with the two patches I attached previously, it only papers over the problem as the .include file is simply out of date. Correcting the .include file should avoid the need for my changes.
Am I missing a trick here or is it part of the bi-secting process?
Also please see my other mail about *how* to do a bisect here - while keeping alsa-driver and alsa-kernel in sync....
In an ideal world I need to downgrade to 1.0.23 or 1.0.22 of ALSA to check to see if the problem still existed, but can't find a super easy way to do that (other than perhaps just building myself a really old kernel from my distro's VCS).
Col
At Mon, 14 Mar 2011 13:16:43 +0000, Colin Guthrie wrote:
'Twas brillig, and Takashi Iwai at 14/03/11 09:43 did gyre and gimble:
At Sat, 12 Mar 2011 10:30:48 +0000, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
Can't reproduced with my trees. Could you try the GIT trees below instead?
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/alsa-driver-build.git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
OK, so I should have explained it a bit better - tho' in actual fact my fixes wont really help much....
I was using the trees @
git://git.alsa-project.org/alsa-driver.git and git://git.alsa-project.org/alsa-kernel.git
I tried cloning the repos you suggested and ran the script and all was well.
The problem I generally encountered was that as time passes (as it has since the last time I used my clones) and you do a git pull, the patches that are needed change.
When these change, the file alsa-driver/includes/sound/.includes (which is generated by alsa-driver/includes/sound/Makefile) is *not* updated. Therefore, the patch information is bogus and incorrect.
But you did clean up before update, right? "make clean" should remove .includes file.
Really the build script needs to rm that file or the Makefile has to be able to update it accordingly.
I also run into the same problem when trying to chase down a regression (a pre-bisect checks). I was not able to rebuild the older drivers easily without rm'ing the above .includes file. Obviously even with the two patches I attached previously, it only papers over the problem as the .include file is simply out of date. Correcting the .include file should avoid the need for my changes.
Am I missing a trick here or is it part of the bi-secting process?
Also please see my other mail about *how* to do a bisect here - while keeping alsa-driver and alsa-kernel in sync....
Use alsa-kmirror.
Takashi
'Twas brillig, and Takashi Iwai at 14/03/11 13:21 did gyre and gimble:
At Mon, 14 Mar 2011 13:16:43 +0000,
When these change, the file alsa-driver/includes/sound/.includes (which is generated by alsa-driver/includes/sound/Makefile) is *not* updated. Therefore, the patch information is bogus and incorrect.
But you did clean up before update, right? "make clean" should remove .includes file.
Hmm, I probably didn't actually. :s
I guess the bisecting process etc. for this repos must be a bit different to other areas? Would I need a full make clean and recompile at each stage of a bisect (not that it takes all that long).
Really the build script needs to rm that file or the Makefile has to be able to update it accordingly.
I also run into the same problem when trying to chase down a regression (a pre-bisect checks). I was not able to rebuild the older drivers easily without rm'ing the above .includes file. Obviously even with the two patches I attached previously, it only papers over the problem as the .include file is simply out of date. Correcting the .include file should avoid the need for my changes.
Am I missing a trick here or is it part of the bi-secting process?
Also please see my other mail about *how* to do a bisect here - while keeping alsa-driver and alsa-kernel in sync....
Use alsa-kmirror.
Hmmm, OK. Any page describing how to do this anywhere? e.g. how to clone, bisect etc. on older versions of the drivers?
Trying to find out the details of how to debug and bisect alsa drivers seems to be pretty hard (and I don't consider myself a total noob here, tho' it feels like it!)
Thanks for any insights :)
Col
At Mon, 14 Mar 2011 15:06:30 +0000, Colin Guthrie wrote:
'Twas brillig, and Takashi Iwai at 14/03/11 13:21 did gyre and gimble:
At Mon, 14 Mar 2011 13:16:43 +0000,
When these change, the file alsa-driver/includes/sound/.includes (which is generated by alsa-driver/includes/sound/Makefile) is *not* updated. Therefore, the patch information is bogus and incorrect.
But you did clean up before update, right? "make clean" should remove .includes file.
Hmm, I probably didn't actually. :s
I guess the bisecting process etc. for this repos must be a bit different to other areas? Would I need a full make clean and recompile at each stage of a bisect (not that it takes all that long).
Yes. But bisecting is difficult with the combined tree.
Really the build script needs to rm that file or the Makefile has to be able to update it accordingly.
I also run into the same problem when trying to chase down a regression (a pre-bisect checks). I was not able to rebuild the older drivers easily without rm'ing the above .includes file. Obviously even with the two patches I attached previously, it only papers over the problem as the .include file is simply out of date. Correcting the .include file should avoid the need for my changes.
Am I missing a trick here or is it part of the bi-secting process?
Also please see my other mail about *how* to do a bisect here - while keeping alsa-driver and alsa-kernel in sync....
Use alsa-kmirror.
Hmmm, OK. Any page describing how to do this anywhere? e.g. how to clone, bisect etc. on older versions of the drivers?
It's not trivial because these are basically two individual trees. They aren't always in sync. alsa-driver tree is fixed once when some build errors are detected, for example. So, the only sane way would be to use alsa-kmirror. This is often still not trivial because of build breakage...
Nowadays usually the bisect is done inside the kernel tree.
Takashi
On Sat, 12 Mar 2011, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
The attached patch fixes it.
Hacking autoconf.h... make[1]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make -C sound prepare make[2]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make prepare2 make[3]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' cp ../../alsa-kernel/include/ac97_codec.h . patch -p0 -i ac97_codec.patch ac97_codec.h patching file ac97_codec.h Hunk #1 succeeded at 650 (offset 5 lines). cp ../../alsa-kernel/include/core.h . patch -p0 -i core.patch core.h patching file core.h cp ../../alsa-kernel/include/info.h . cp: `../../alsa-kernel/include/info.h' and `./info.h' are the same file
I don't see this error using 'alsa-compile.sh --git' on Fedora 14... Make sure that the alsa-driver tree is clean before build.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
'Twas brillig, and Jaroslav Kysela at 14/03/11 09:54 did gyre and gimble:
On Sat, 12 Mar 2011, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
The attached patch fixes it.
Hacking autoconf.h... make[1]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make -C sound prepare make[2]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make prepare2 make[3]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' cp ../../alsa-kernel/include/ac97_codec.h . patch -p0 -i ac97_codec.patch ac97_codec.h patching file ac97_codec.h Hunk #1 succeeded at 650 (offset 5 lines). cp ../../alsa-kernel/include/core.h . patch -p0 -i core.patch core.h patching file core.h cp ../../alsa-kernel/include/info.h . cp: `../../alsa-kernel/include/info.h' and `./info.h' are the same file
I don't see this error using 'alsa-compile.sh --git' on Fedora 14... Make sure that the alsa-driver tree is clean before build.
Both trees are clean.
They are clones from
git://git.alsa-project.org/alsa-driver.git and git://git.alsa-project.org/alsa-kernel.git
I'm trying Takashi's other repos, now but the sound-2.6 clone is taking about 2h and counting....
Also Jaroslav, are you the list admin? I've always send mails to this list via gmane, but as reply-all is the etiquette, I want to make sure I'm registered and such for posting. But the mailman admin page wont let me subscribe or send me password reminders (and thus wont let me unsubscribe to resubscribe either :s) Not sure how to deal with the chicken and egg problem (other than changing my email address which I'll probably do at some point soon for other reasons anyway).
Cheers
Col
On Mon, 14 Mar 2011, Colin Guthrie wrote:
'Twas brillig, and Jaroslav Kysela at 14/03/11 09:54 did gyre and gimble:
On Sat, 12 Mar 2011, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
The attached patch fixes it.
Hacking autoconf.h... make[1]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make -C sound prepare make[2]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make prepare2 make[3]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' cp ../../alsa-kernel/include/ac97_codec.h . patch -p0 -i ac97_codec.patch ac97_codec.h patching file ac97_codec.h Hunk #1 succeeded at 650 (offset 5 lines). cp ../../alsa-kernel/include/core.h . patch -p0 -i core.patch core.h patching file core.h cp ../../alsa-kernel/include/info.h . cp: `../../alsa-kernel/include/info.h' and `./info.h' are the same file
I don't see this error using 'alsa-compile.sh --git' on Fedora 14... Make sure that the alsa-driver tree is clean before build.
Both trees are clean.
They are clones from
git://git.alsa-project.org/alsa-driver.git and git://git.alsa-project.org/alsa-kernel.git
What's 'alsa-driver/include/sound/info.h' in your tree after the error? It's a symlink?
I tried compilation from both of my kmirror/kernel git repos and it looks OK.
Also Jaroslav, are you the list admin? I've always send mails to this list via gmane, but as reply-all is the etiquette, I want to make sure I'm registered and such for posting. But the mailman admin page wont let
I subscribed your address 'gmane@colin.guthr.ie' manually.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
At Mon, 14 Mar 2011 11:25:02 +0000, Colin Guthrie wrote:
'Twas brillig, and Jaroslav Kysela at 14/03/11 09:54 did gyre and gimble:
On Sat, 12 Mar 2011, Colin Guthrie wrote:
Hi,
After doing a "simple": git clone alsa-driver git clone alsa-kernel cd alsa-driver ./gitcompile --with-debug=full --with-isapnp=yes --with-sequencer=yes --with-moddir=updates/alsa:
The build bombed out pretty quickly with the following error.
The attached patch fixes it.
Hacking autoconf.h... make[1]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include' make -C sound prepare make[2]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' make prepare2 make[3]: Entering directory `/home/colin/Development/Personal/ALSA/alsa-driver/include/sound' cp ../../alsa-kernel/include/ac97_codec.h . patch -p0 -i ac97_codec.patch ac97_codec.h patching file ac97_codec.h Hunk #1 succeeded at 650 (offset 5 lines). cp ../../alsa-kernel/include/core.h . patch -p0 -i core.patch core.h patching file core.h cp ../../alsa-kernel/include/info.h . cp: `../../alsa-kernel/include/info.h' and `./info.h' are the same file
I don't see this error using 'alsa-compile.sh --git' on Fedora 14... Make sure that the alsa-driver tree is clean before build.
Both trees are clean.
They are clones from
git://git.alsa-project.org/alsa-driver.git and git://git.alsa-project.org/alsa-kernel.git
I'm trying Takashi's other repos, now but the sound-2.6 clone is taking about 2h and counting....
If you have another kernel git tree, you can clone more quickly via --reference option.
% git clone --reference /somewhere/linus-2.6.git ..../sound-2.6.git
Takashi
participants (3)
-
Colin Guthrie
-
Jaroslav Kysela
-
Takashi Iwai