Skip to content
This repository has been archived by the owner on Feb 26, 2020. It is now read-only.

Gentoo SPL emerge fails with Cannot find UTS_RELEASE #91

Closed
enlightend opened this issue Mar 30, 2012 · 7 comments
Closed

Gentoo SPL emerge fails with Cannot find UTS_RELEASE #91

enlightend opened this issue Mar 30, 2012 · 7 comments

Comments

@enlightend
Copy link

I'm trying to build it in a esxi vm with the latest 3.2.12 kernel.
Earlier in the emerge it does detect the version (likely with other methods then UTS_RELEASE)

I saw a ticket from 2 years ago stating the same problem, in there it was noted this UTS_RELEASE moves around.

Seems another fix is needed.

@behlendorf
Copy link
Contributor

Can you post the exact failure message.

@enlightend
Copy link
Author

Here's the build log:

 * Package:    sys-kernel/spl-9999
 * Repository: gentoo
 * Maintainer: ryao@cs.stonybrook.edu floppym@gentoo.org
 * USE:        amd64 elibc_glibc kernel_linux userland_GNU
 * FEATURES:   ccache sandbox
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     3.2.12-gentoo
 * Checking for suitable kernel configuration options...
 [ ok ]
>>> Unpacking source...
GIT update -->
   repository:               git://github.com/zfsonlinux/spl.git
   at the commit:            8920c6918a984a9624c853460fe00e9a200bbd48
   branch:                   master
   storage directory:        "/usr/portage/distfiles/egit-src/spl.git"
   checkout type:            bare repository
Cloning into /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999...
done.
Branch branch-master set up to track remote branch master from origin.
Switched to a new branch 'branch-master'
>>> Unpacked to /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999
>>> Source unpacked in /var/tmp/portage/sys-kernel/spl-9999/work
>>> Preparing source in /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 ...
 * Autoreconfiguring '/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999' ...
 * Running libtoolize --copy --force --install --automake ...
 [ ok ]
 * Running aclocal -I config ...
 [ ok ]
 * Running autoconf -I config ...
 [ ok ]
 * Running autoheader -I config ...
 [ ok ]
 * Running automake --add-missing --copy --foreign ...
 [ ok ]
 * Running elibtoolize in: spl-9999/config/
 *   Applying portage/1.2.0 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.2.6 patch ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999"
 * econf: updating spl-9999/config/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating spl-9999/config/config.guess with /usr/share/gnuconfig/config.guess
/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-dependency-tracking --docdir=/usr/share/doc/spl-9999 --bindir=/bin --sbindir=/sbin --with-config=all --with-linux=/usr/src/linux --with-linux-obj=/usr/src/linux --disable-debug
checking metadata... yes
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking whether to enable maintainer-specific portions of Makefiles... no
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of x86_64-pc-linux-gnu-gcc... none
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by x86_64-pc-linux-gnu-gcc... /usr/x86_64-pc-linux-gnu/bin/ld
checking if the linker (/usr/x86_64-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/x86_64-pc-linux-gnu/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... x86_64-pc-linux-gnu-objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... x86_64-pc-linux-gnu-ar
checking for archiver @FILE support... @
checking for x86_64-pc-linux-gnu-strip... x86_64-pc-linux-gnu-strip
checking for x86_64-pc-linux-gnu-ranlib... x86_64-pc-linux-gnu-ranlib
checking command to parse /usr/bin/nm -B output from x86_64-pc-linux-gnu-gcc object... ok
checking for sysroot... no
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if x86_64-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... no
checking for x86_64-pc-linux-gnu-gcc option to produce PIC... -fPIC -DPIC
checking if x86_64-pc-linux-gnu-gcc PIC flag -fPIC -DPIC works... yes
checking if x86_64-pc-linux-gnu-gcc static flag -static works... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... yes
checking if x86_64-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the x86_64-pc-linux-gnu-gcc linker (/usr/x86_64-pc-linux-gnu/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking spl license... GPL
checking linux distribution... gentoo
checking default package type... tgz
checking whether rpm is available... no
checking whether rpmbuild is available... no
checking whether dpkg is available... no
checking whether dpkg-buildpackage is available... no
checking whether alien is available... no
checking spl config... all
checking kernel source directory... /usr/src/linux
checking kernel build directory... /usr/src/linux
checking kernel source version... Not found
configure: error: *** Cannot find UTS_RELEASE definition.

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/config.log
 * ERROR: sys-kernel/spl-9999 failed (configure phase):
 *   econf failed
 *
 * Call stack:
 *          ebuild.sh, line   85:  Called src_configure
 *        environment, line 4346:  Called autotools-utils_src_configure
 *        environment, line  560:  Called econf '--docdir=/usr/share/doc/spl-9999' '--bindir=/bin' '--sbindir=/sbin' '--with-config=all' '--with-linux=/usr/src/linux' '--with-linux-obj=/usr/src/linux' '--disable-debug'
 *   phase-helpers.sh, line  467:  Called die
 * The specific snippet of code:
 *                      die "econf failed"
 *
 * If you need support, post the output of 'emerge --info =sys-kernel/spl-9999',
 * the complete build log and the output of 'emerge -pqv =sys-kernel/spl-9999'.
 * The complete build log is located at '/var/tmp/portage/sys-kernel/spl-9999/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-kernel/spl-9999/temp/environment'.
 * S: '/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999'

@behlendorf
Copy link
Contributor

I'm not particularly familiar with Gentoo, but you'll want to verify that the kernel development packages are installed. That can lead to this type of failure.

@enlightend
Copy link
Author

Yes, they are. Just finished several compiles on the kernel, stripping away as much as I could to make it as barebones and optimized for a VM as possible.

But after reading the buglist in the zfs tree, I think I'll just run my Solaris VM to play with ZFS, at least for a while longer.

ZFS for Linux is starting to look great, but still needs some time.

@enlightend
Copy link
Author

ebuild at gentoo seems to be maintained by nicks: floppym and mr_bones_

I know Pendor and gentoofan used to have "the" portage overlays for zfsonlinux (before it was added to the main tree), so maybe one of them is maintaining the maintree ebuilds and this issue is something for them.

@ryao
Copy link
Contributor

ryao commented Apr 18, 2012

@enlightend Doing make -C /usr/src/linux modules_prepare should resolve this issue.

@ivan
Copy link

ivan commented Jul 20, 2012

I had this problem with emerge running with FEATURES=userpriv; emerge spl could not not read the files in /usr/src/linux that it needed. I had to either chown -R root:portage or chmod -R a+rX.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants