[opensuse-buildservice] linux-libc-dev in ubuntu/debian repo project config

Hello, I'm using local obs instance to build ubuntu kernel packages. Currently I just take two tar.gz and dsc files from ubuntu repositories and commit them into build service package. At the beginning of build process, there is need to compile several tools to use on build machine (i.e. fixdep, scripts/basic/fixdep.c in kernel source tree). Last one requires include file linux/limits.h which should be provided by linux-libc-dev package. However this package is marked is Build-Essential, it's not installed in the build environment: ... installing libc6-dev dpkg: libc6-dev: dependency problems, but configuring anyway as you requested: libc6-dev depends on linux-libc-dev; however: Package linux-libc-dev is not installed. ... Currently as a workaround, I manually add this package into Build-Depends field of dsc file and thus able to complete kernel package build process. But I suppose it's a matter of project config for ubuntu/debian repositories. Is it possible to fix these configs? Here is a part of build log: ... make ARCH=i386 EXTRAVERSION=-27-generic CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=32 KBUILD_BUILD_VERSION="49" LOCALVERSION= O=/usr/src/packages/BUILD/debian/build/build-generic silentoldconfig prepare scripts make[1]: Entering directory `/usr/src/packages/BUILD' make[3]: Nothing to be done for `/usr/src/packages/BUILD/Makefile'. HOSTCC scripts/basic/fixdep In file included from /usr/include/bits/posix1_lim.h:157, from /usr/include/limits.h:145, from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/limits.h:122, from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/syslimits.h:7, from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/limits.h:11, from /usr/src/packages/BUILD/scripts/basic/fixdep.c:114: /usr/include/bits/local_lim.h:39:26: error: linux/limits.h: No such file or directory In file included from /usr/include/sys/socket.h:40, from /usr/include/netinet/in.h:25, from /usr/include/arpa/inet.h:23, from /usr/src/packages/BUILD/scripts/basic/fixdep.c:116: /usr/include/bits/socket.h:366:24: error: asm/socket.h: No such file or directory /usr/src/packages/BUILD/scripts/basic/fixdep.c: In function 'use_config': /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: error: 'PATH_MAX' undeclared (first use in this function) /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: error: (Each undeclared identifier is reported only once /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: error: for each function it appears in.) /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: warning: unused variable 's' /usr/src/packages/BUILD/scripts/basic/fixdep.c: In function 'parse_dep_file': /usr/src/packages/BUILD/scripts/basic/fixdep.c:304: error: 'PATH_MAX' undeclared (first use in this function) /usr/src/packages/BUILD/scripts/basic/fixdep.c:304: warning: unused variable 's' make[5]: *** [scripts/basic/fixdep] Error 1 make[4]: *** [scripts_basic] Error 2 make[3]: *** [sub-make] Error 2 make[2]: *** [silentoldconfig] Error 2 make[1]: *** [sub-make] Error 2 make[1]: Leaving directory `/usr/src/packages/BUILD' make: *** [/usr/src/packages/BUILD/debian/stamps/stamp-prepare-tree-generic] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

Am Mittwoch, 19. Januar 2011, 19:48:06 schrieb Roman Valov:
Hello,
I'm using local obs instance to build ubuntu kernel packages. Currently I just take two tar.gz and dsc files from ubuntu repositories and commit them into build service package.
At the beginning of build process, there is need to compile several tools to use on build machine (i.e. fixdep, scripts/basic/fixdep.c in kernel source tree). Last one requires include file linux/limits.h which should be provided by linux-libc-dev package.
However this package is marked is Build-Essential, it's not installed in
what does Build-Essential mean ? Is it part of your prjconf ?
the build environment:
... installing libc6-dev dpkg: libc6-dev: dependency problems, but configuring anyway as you requested: libc6-dev depends on linux-libc-dev; however: Package linux-libc-dev is not installed. ...
Currently as a workaround, I manually add this package into Build-Depends field of dsc file and thus able to complete kernel package
well, if the package needs it, it is not a workaround, it is a fix, IMHO.
build process. But I suppose it's a matter of project config for ubuntu/debian repositories. Is it possible to fix these configs?
Here is a part of build log:
... make ARCH=i386 EXTRAVERSION=-27-generic CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=32 KBUILD_BUILD_VERSION="49" LOCALVERSION= O=/usr/src/packages/BUILD/debian/build/build-generic silentoldconfig prepare scripts make[1]: Entering directory `/usr/src/packages/BUILD' make[3]: Nothing to be done for `/usr/src/packages/BUILD/Makefile'. HOSTCC scripts/basic/fixdep In file included from /usr/include/bits/posix1_lim.h:157, from /usr/include/limits.h:145, from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/limits.h:122, from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/syslimits.h:7, from /usr/lib/gcc/i486-linux-gnu/4.4.3/include-fixed/limits.h:11, from /usr/src/packages/BUILD/scripts/basic/fixdep.c:114: /usr/include/bits/local_lim.h:39:26: error: linux/limits.h: No such file or directory In file included from /usr/include/sys/socket.h:40, from /usr/include/netinet/in.h:25, from /usr/include/arpa/inet.h:23, from /usr/src/packages/BUILD/scripts/basic/fixdep.c:116: /usr/include/bits/socket.h:366:24: error: asm/socket.h: No such file or directory /usr/src/packages/BUILD/scripts/basic/fixdep.c: In function 'use_config': /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: error: 'PATH_MAX' undeclared (first use in this function) /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: error: (Each undeclared identifier is reported only once /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: error: for each function it appears in.) /usr/src/packages/BUILD/scripts/basic/fixdep.c:204: warning: unused variable 's' /usr/src/packages/BUILD/scripts/basic/fixdep.c: In function 'parse_dep_file': /usr/src/packages/BUILD/scripts/basic/fixdep.c:304: error: 'PATH_MAX' undeclared (first use in this function) /usr/src/packages/BUILD/scripts/basic/fixdep.c:304: warning: unused variable 's' make[5]: *** [scripts/basic/fixdep] Error 1 make[4]: *** [scripts_basic] Error 2 make[3]: *** [sub-make] Error 2 make[2]: *** [silentoldconfig] Error 2 make[1]: *** [sub-make] Error 2 make[1]: Leaving directory `/usr/src/packages/BUILD' make: *** [/usr/src/packages/BUILD/debian/stamps/stamp-prepare-tree-generic] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 -- Adrian Schroeter SUSE Linux Products GmbH email: adrian@suse.de
-- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

В Пт., 21/01/2011 в 13:35 +0300, Adrian Schröter пишет:
Am Mittwoch, 19. Januar 2011, 19:48:06 schrieb Roman Valov:
should be provided by linux-libc-dev package.
However this package is marked is Build-Essential, it's not installed in
what does Build-Essential mean ?
Is it part of your prjconf ?
According to debian packaging policy build-essential is base set of packages needed to build other packages (and they're not required to be defined in debian/control file as explicit dependencies), more detailed: http://www.debian.org/doc/packaging-manuals/build-essential
Currently as a workaround, I manually add this package into Build-Depends field of dsc file and thus able to complete kernel package
well, if the package needs it, it is not a workaround, it is a fix, IMHO.
Hm. "linux-libc-dev" is a dependency of "libc6-dev". Last one is mentioned in build-essential package list pointed earlier. "libc6-dev" itself is installed but it's dependencies are not satisfied. libc6-dev is in turn a dependency of build-essential package and so, once somebody install build-essential meta-package on a native debian/ubuntu system -- linux-libc-dev will be installed due to dependencies. i.e. I see 'build-essential' is included in ubuntu 10.04 prjconf ( https://build.opensuse.org/project/prjconf?package=&project=Ubuntu:10.04 ): ... Required: build-essential ... but according to wiki, packages from "Required" are installed using dpkg without dependencies -- please fix me if I'm wrong. Actually build-essential is just a meta-package and it's major meaning is to install all dependent packages. On the other hand I see libc6-dev itself is installed, but I can't found this package mentioned in prjconf for Ubuntu 10.04. So it's unclear for me why libc6-dev is installed but it's dependency (linux-libc-dev) is not. Regards, Roman. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org

After some investigations I've found that linux-libc-dev is not installed because it's builded from linux source package and thus skipped by dependency expander. I've eliminated issue by adding "Keep: linux-libc-dev" to prjconf, but could it be added to global debian/ubuntu prjconfs? -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (2)
-
Adrian Schröter
-
Roman Valov