Re: [vdr] Unable to compile media_build_experimental drivers on Debian stable

2015-10-19 Thread Matthias Lötzke
Hello Helmut,

Helmut Auer wrote:
> To track this down go to the v4l directory and execute:
> 
> make -n links
> 
> which will show:
> echo creating symbolic links...
> find ../linux/drivers/media -name '*.[ch]' -type f -print0 | xargs -0n 255 ln 
> -sf --target-directory=.
> find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf 
> --target-directory=.
> find ../linux/drivers/staging -name '*.[ch]' -type f -print0 | xargs -0n 255 
> ln -sf --target-directory=.
> find ../linux/drivers/misc -name '*.[ch]' -type f -print0 | xargs -0n 255 ln 
> -sf --target-directory=.
> 
> execute the find commands to see which one fails for further information use: 
> ln -sfv

All of them fail. Unfortunately adding -v does not provide any
additional information.


find ../linux/drivers/media -name '*.[ch]' -type f -print0 | xargs -0n
255 ln -sfv --target-directory=.
xargs: ln: Zu viele Ebenen aus symbolischen Links


But I found a curious solution.
It works when I echo the xargs output and pipe it into sh.
So this patch resolves my problem:


--- media_build_experimental/v4l/Makefile  2015-10-19
21:59:34.0 +0200
+++ media_build_experimental-ml/v4l/Makefile   2015-10-19
22:11:20.0 +0200
@@ -262,10 +262,10 @@

 links::
@echo creating symbolic links...
-   @find ../linux/drivers/media -name '*.[ch]' -type f -print0 |
xargs -0n 255 ln -sf --target-directory=.
-   @find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n
255 ln -sf --target-directory=.
-   @find ../linux/drivers/staging -name '*.[ch]' -type f -print0 |
xargs -0n 255 ln -sf --target-directory=.
-   @find ../linux/drivers/misc -name '*.[ch]' -type f -print0 |
xargs -0n 255 ln -sf --target-directory=.
+   @find ../linux/drivers/media -name '*.[ch]' -type f -print0 |
xargs -0n 255 echo ln -sf --target-directory=. | sh
+   @find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n
255 echo ln -sf --target-directory=. | sh
+   @find ../linux/drivers/staging -name '*.[ch]' -type f -print0 |
xargs -0n 255 echo ln -sf --target-directory=. | sh
+   @find ../linux/drivers/misc -name '*.[ch]' -type f -print0 |
xargs -0n 255 echo ln -sf --target-directory=. | sh

 config-compat.h:: $(obj)/.version .myconfig scripts/make_config_compat.pl
perl scripts/make_config_compat.pl $(SRCDIR) $(obj)/.myconfig
$(obj)/config-compat.h


This is strange. Anyhow my VDR is up and running again.
Thanks for providing me a starting point to look at.


Best regards

Matthias

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Unable to compile media_build_experimental drivers on Debian stable

2015-10-18 Thread Helmut Auer

Am 18.10.2015 um 23:36 schrieb Matthias Lötzke:

Hello All,

I has been using http://linuxtv.org/hg/~endriss/media_build_experimental
for quite some time now. Until recently I never encountered a problem.
Now I can't build any more:


make -C /home/matthias/tmp/media_build_experimental/v4l
make[1]: Entering directory '/home/matthias/tmp/media_build_experimental/v4l'
scripts/make_makefile.pl
./scripts/make_myconfig.pl
perl scripts/make_config_compat.pl /lib/modules/3.16.0-4-amd64/source 
./.myconfig ./config-compat.h
creating symbolic links...
xargs: ln: Too many levels of symbolic links

^^

Makefile:264: recipe for target 'links' failed
make[1]: *** [links] Error 126
make[1]: Leaving directory '/home/matthias/tmp/media_build_experimental/v4l'
Makefile:28: recipe for target 'all' failed
make: *** [all] Error 2
build failed at ./build line 491.


I am using Debian stable with Kernel 3.16.0-4-amd64. Some hundreds maybe
thousands of symlinks are being created where the build fails.

Any solution or hint would be highly appreciated.


To track this down go to the v4l directory and execute:

make -n links

which will show:
echo creating symbolic links...
find ../linux/drivers/media -name '*.[ch]' -type f -print0 | xargs -0n 255 ln 
-sf --target-directory=.
find ../linux/sound -name '*.[ch]' -type f -print0 | xargs -0n 255 ln -sf 
--target-directory=.
find ../linux/drivers/staging -name '*.[ch]' -type f -print0 | xargs -0n 255 ln 
-sf --target-directory=.
find ../linux/drivers/misc -name '*.[ch]' -type f -print0 | xargs -0n 255 ln 
-sf --target-directory=.

execute the find commands to see which one fails for further information use:
ln -sfv
instead of
ln -sf

Regards
Helmut

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr