Build fails when Xsltproc not present
I found in building kmod 23 that because my system does not have Xsltproc installed, the build fails when it tries to use a null string as the Xsltproc program name to create the man pages.
I believe in that case, it should just skip building the man pages.
Or make 'configure' fail and suggest --disable-manpages.
Or make the make fail gracefully, telling you you don't have the tools necessary to create man pages and suggesting --disable-manpages.
Signature · 1 line
Bryan Henderson San Jose, California
Quoted 2 lines · Bryan Henderson
I believe in that case, it should just skip building the man pages.
We don't do auto-enabling/disabling.
Quoted 4 lines
Or make 'configure' fail and suggest --disable-manpages.
Or make the make fail gracefully, telling you you don't have the tools necessary to create man pages and suggesting --disable-manpages.
Failing on configure phase would be the desired solution. I'll take a look on this for next release, but if you have a patch ready it would be appreciated.
thanks
Lucas De Marchi
Quoted 7 lines · Lucas De Marchi
Quoted 2 lines · Bryan Henderson
I believe in that case, it should just skip building the man pages.
We don't do auto-enabling/disabling.
Quoted 8 lines
Quoted 4 lines
Or make 'configure' fail and suggest --disable-manpages.
Or make the make fail gracefully, telling you you don't have the tools necessary to create man pages and suggesting --disable-manpages.
Failing on configure phase would be the desired solution. I'll take a look on this for next release, but if you have a patch ready it would be appreciated.
Actually I did it on make because man pages are with the distributed tarball
Lucas De Marchi
Quoted 1 line
Actually I did it on make because man pages are with the distributed tarball
I'm not sure I understand this. Are you saying a person doesn't need Xsltproc to do a default build because the man pages are already built? Then I wonder why I encountered this problem. I had no reason to want to rebuild something that was distributed.
Signature · 1 line
Bryan Henderson San Jose, California
Quoted 6 lines · Bryan Henderson
Quoted 1 line
Actually I did it on make because man pages are with the distributed tarball
I'm not sure I understand this. Are you saying a person doesn't need Xsltproc to do a default build because the man pages are already built? Then I wonder why I encountered this problem. I had no reason to want to rebuild something that was distributed.
They are already built on the distributed tarball, those coming from
https://www.kernel.org/pub/linux/utils/kernel/kmod/
If you are building from the git repository then yes, you need xsltproc. I pushed this patch:
So now when building from git it will say xsltproc is missing
Lucas De Marchi
Quoted 4 lines
They are already built on the distributed tarball, those coming from
https://www.kernel.org/pub/linux/utils/kernel/kmod/
If you are building from the git repository then yes, you need xsltproc. I pushed this patch:
Well, I built from the tarball, which I still have and see contains e.g. man/kmod.8, and yet the build failed on me. I will try to reproduce it and see what happened, but looking at my local patch to the package, I see that I 1) used --disable-manpages and 2) modified libkmod/docs/Makefile.in to prevent that directory from building. There are no man pages in libkmod/docs/ .
Your change is still right, of course. The make files should be able to tolerate these null values.
Signature · 1 line
Bryan Henderson San Jose, California
Quoted 3 lines
Well, I built from the tarball, which I still have and see contains e.g. man/kmod.8, and yet the build failed on me. I will try to reproduce it and see what happened
OK, I figured it out.
'make clean' deletes the distributed man page files. Neither 'make clean' nor 'make distclean' should delete distributed files, but 'make maintainer-clean' should.
And while we're looking at clean, 'make clean' does _not_ delete the built files 'rmmod', etc. from the tools/ directory, and it should.
Signature · 1 line
Bryan Henderson San Jose, California