[linux-dvb] User compile of Hg version broken

Trent Piepho xyzzy at speakeasy.org
Wed Apr 26 23:31:44 CEST 2006

On Wed, 26 Apr 2006, Mauro Carvalho Chehab wrote:
> Em Ter, 2006-04-25 =E0s 16:54 -0700, Trent Piepho escreveu:
> > On Tue, 25 Apr 2006, Mauro Carvalho Chehab wrote:
> > I didn't need write access to the kernel sources to use make *config be=
> > this change.
> Before this change, the user should go first to kernel dir, do a make
> *config, to generate the required files to build menu. While this is not
> an issue to advanced users, it is not good to newbies.

So now you download a second copy of the kernel source, install that,
and figure out how to get the Hg version to look at it instead of the
system source it finds automatically?  That seems like even more
trouble than going to the system kernel and doing a make xxxconfig
first.  I like Michael Krufky's suggestion, add a command to build the
kernel conf system to the v4l-dvb makefile, but don't make it
automatic.  Test for *conf and if it's not there print this:

The kernel build system has not been compiled for the kernel source
tree in $(KDIR)
You can run 'make xconfig' from within your kernel sources, or run
'make build-system' from here to compile the necessary progams.  You
will need write access to the kernel source tree to do this.

Even if it worked, I just don't like the idea of one package's build
system automatically changing things somewhere else.

> > Fixing this still doesn't let *conf build, there is something else wron=
g too.
> What's happening? Just compiling without needing, or something else is
> broken? What kernel version?

Kernel 2.6.12.  Even if I'm root, it tries to compile without needing
to, and when it does, it doesn't work:

[root at t2 v4l-dvb]# make xconfig
make -C /home/xyzzy/v4l-dvb/v4l xconfig
make[1]: Entering directory `/home/xyzzy/v4l-dvb/v4l'
creating symbolic links...
make -C /lib/modules/2.6.12-12mdkcustom/build srctree=3D/lib/modules/2.6.12=
-12mdkcustom/build HOSTCXX=3Dg++ HOSTCC=3Dcc -I. CONFIG_SHELL=3D/bin/sh -f =
/lib/modules/2.6.12-12mdkcustom/build/scripts/Makefile.build obj=3Dscripts/=
kconfig qconf-target=3D1 scripts/kconfig/qconf
make[2]: Entering directory `/usr/src/linux-2.6.12-12mdk'
  cc -Wp,-MD,scripts/kconfig/.conf.o.d        -c -o scripts/kconfig/conf.o =
[warnings deleted]
  cc -Wp,-MD,scripts/kconfig/.kconfig_load.o.d        -c -o scripts/kconfig=
/kconfig_load.o scripts/kconfig/kconfig_load.c
  cc -Wp,-MD,scripts/kconfig/.kxgettext.o.d        -c -o scripts/kconfig/kx=
gettext.o scripts/kconfig/kxgettext.c
  cc -Wp,-MD,scripts/kconfig/.mconf.o.d        -c -o scripts/kconfig/mconf.=
o scripts/kconfig/mconf.c
[more warnings]
scripts/kconfig/mconf.c:1045: error: 'LC_ALL' undeclared (first use in this=
scripts/kconfig/mconf.c:1045: error: (Each undeclared identifier is reporte=
d only once
scripts/kconfig/mconf.c:1045: error: for each function it appears in.)
make[2]: *** [scripts/kconfig/mconf.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.6.12-12mdk'
make[1]: *** [xconfig] Error 2
make[1]: Leaving directory `/home/xyzzy/v4l-dvb/v4l'
make: *** [xconfig] Error 2

First, it doesn't need to compile anything, I already did a make
xconfig in the kernel dir.  Second, I did make xconfig in the v4l-dvb
dir, but it's trying to compile mconf.c; it doesn't need mconf.c
except for menuconfig.  Third, mconf.c won't compile when v4l-dvb
tries to compile it.  If I run make menuconfig from the kernel dir, it
works fine.

More information about the linux-dvb mailing list