Reasonable to have compile kernel + source package?

Most modules require the kernel sources in order to compile, and I thought it would be nice to have the kernel sources used for the stock kernels available as a package. I know it's possible to use the abs or to download the kernel from kernel.org, but then you must go through the hassle of compiling the same kernel.
This isn't a big deal, just a nice kernel thing to have.
Any thoughts?

bardo wrote:Well, I don't use the provided PKGBUILD. The latest stable kernel is 2.6.11.11, our latest build is 2.6.11.10, at least in current. The last number increases as trivial fixes are inserted in the kernel tree, so they're not prone to vulnerabilities as other packages are. IMHO these shouldn't be treated as new releases, but as fixes, which is exactly what they are. Just like when someone releases a new build of a package. That's why the lesser minor was created, and why I think it should arrive faster than other packages in the stable repo.
This way I could get and compile my own source without discrepancies from the headers package, often needed by other packages. Otherwise, I should have a "stable" headers package and the latest full kernel sources providing kernel26. The source is not unstable by itself. It is what I do of it that makes it a risk. But this happens with many softwares, doesn't it?
What does that have to do with anything under discussion? We're talking about the kernel binary + kernel headers.  If you compile your own kernel of a different version, then OF COURSE your headers will be different, unless you install the headers with your new kernel as the PKGBUILD does - if you compile a new kernel because you feel the release speed isn't fast enough, do you really thing a new kernel-headers package is going to release any faster?
using the default arch package, the kernel binary and headers are provided.  If you want to compile your own kernel, fine, do that - just provide your own headers in that case - it's not hard.
bardo wrote:Another reason because I don't use that PKGBUILD is because abs doesn't work on my machine, but that's totally OT here
abs is a bash script... there's no possible way it could fail unless:
a) you don't have cvsup installed (abs will spit out a big fat error saying "install cvsup" if you don't)
b) you don't have a network connection
c) user error
hell, you don't need to use abs to build a package - "man makepkg"

Similar Messages

  • Newbie to Compiling - Kernel Source folder

    Hi everyone, I'm fairly new to Arch Linux and I'm absolutely loving it, it feels like the perfect distro to me.
    I have a quick question which I feel is easy to answer yet no matter how I search, I can never see a definitive answer - so basically I compiled my own custom kernel today in Arch which I'm running on right now.
    Everything is running great, though the only real reason I did it was for the learning experience. My question is, I compiled the kernel in my home directory, and what is left over now is the source folder itself which is around 600mb and I'm running a little short on space at the moment and I'm wondering, can I safely just delete this folder? Or, even after installing the kernel is it still somehow depending on this folder?
    I thought maybe like some program compiles I have done previously I could get rid of the source/build directory after completion but I'm sure I saw the Catalyst build module utilizing my kernel folder during it's build, so I'm not so sure now lol.
    Thanks in advance, I know I'm probably missing something completely. I'm happy to learn in any case.
    Last edited by ElderSnake (2010-12-09 11:46:08)

    Hi, I think you're absolutely right, in fact I was planning too but I guess in the end as I am actually using this system I thought I'd try do it this way for the pacman integration, but certainly sometime I should do it the manual way (though it doesn't seem much harder).
    Also on a side note, I installed v86d for the framebuffer support with Splashy, but when I update my mkinitcpio for my new kernel it says 'v86d' module not found during the rebuild process, but if I do it for my original kernel there is no issue. I guess I assumed any new modules I installed would automatically point to my current running kernel (the new one). But doesn't seem so.
    Any ideas?
    Last edited by ElderSnake (2010-12-09 22:22:36)

  • Compiling a driver, need assistance on kernel source configuration

    Hello BBS.
    I am compiling a module for the Asus PCE N53 wireless pci-e card. I have obtained the driver source, and followed the instructions, and have gotten to the point where I need assistance. The instructions requires the kernel source, i have successfully obtained and configured it using the Command line prompt, except for one feature. I need to enable the intel IPW2200 driver code in the kernel source for this driver. What procedure do I follow to enable it?

    > I know in face value, that my request may seem odd. I just need to use the source of the kernel, not a new kernel... I have found that what I am requesting... will fix the problem, based on a Gentoo solution: http://forums.gentoo.org/viewtopic-t-93 … art-0.html. Needing to know how to configure the kernel source to enable the intel driver still stands. The source I am using is the latest arch kernel source.
    ===============
    RT5592 Linux Driver quick start       
    ====================
    Check tools: 
    ====================
    *Before install driver, please check already install compile tool and  kernel source code
    1>Install compile tool
        $yum install gcc-c++
    2>check kernel source code exists /usr/src/kernels/ "kernel name"
        Download your kernel source code
        *http://www.kernel.org/pub/linux/kernel/        
        or
        $yum install kernel-devel
    ====================
    Build Instructions: 
    ====================
    1> $tar -jxvf DPO_GPL_RT5592STA_LinuxSTA_vx.x.x.x.tar.bz2
         go to "DPO_GPL_RT5592STA_LinuxSTA_vx.x.x.x" directory.
    2> In Makefile
         set the "MODE = STA" in Makefile and chose the TARGET to Linux by set "TARGET = LINUX"
         define the linux kernel source include file path LINUX_SRC
         modify to meet your need.
    3> In os/linux/config.mk
         define the GCC and LD of the target machine
         define the compiler flags CFLAGS
         modify to meet your need.
         ** Build for being controlled by NetworkManager or wpa_supplicant wext functions
             Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.
             => $wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d
         ** Build for being controlled by WpaSupplicant with Ralink Driver
             Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n'.
             => $wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf -d
    4> $make           
         # compile driver source code, need administrator.
         # To fix "error: too few arguments to function ¡¥iwe_stream_add_event"
            => $patch -i os/linux/sta_ioctl.c.patch os/linux/sta_ioctl.c
    5> $make install
         #install driver
         #copy RT2860STA.dat to /etc/Wireless/RT2860STA/RT2860STA.dat
    6>$vi /etc/rc.d/rc.local
         #input "ifconfig ra0 up"
        $reboot
    7> unload driver   
         $ifconfig ra0 down
         $rmmod rt5592sta
    ======
    Heres the output of my error, when I compile:
    =======
    make -C tools
    make[1]: Entering directory `/home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/tools'
    gcc -g bin2h.c -o bin2h
    make[1]: Leaving directory `/home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/tools'
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/tools/bin2h
    cp -f os/linux/Makefile.6 /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/Makefile
    make -C /home/white/linux-3.2.9 SUBDIRS=/home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux modules
    make[1]: Entering directory `/home/white/linux-3.2.9'
      WARNING: Symbol version dump /home/white/linux-3.2.9/Module.symvers
               is missing; modules will have no dependencies and modversions.
      CC [M]  /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.o
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2364:2: error: unknown field ‘private’ specified in initializer
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2364:2: warning: initialization from incompatible pointer type [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2364:2: warning: (near initialization for ‘rt28xx_iw_handler_def.get_wireless_stats’) [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2365:2: error: unknown field ‘num_private’ specified in initializer
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2365:2: warning: excess elements in struct initializer [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2365:2: warning: (near initialization for ‘rt28xx_iw_handler_def’) [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2366:2: error: unknown field ‘private_args’ specified in initializer
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2366:26: warning: excess elements in struct initializer [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2366:26: warning: (near initialization for ‘rt28xx_iw_handler_def’) [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2367:2: error: unknown field ‘num_private_args’ specified in initializer
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2367:2: warning: excess elements in struct initializer [enabled by default]
    /home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.c:2367:2: warning: (near initialization for ‘rt28xx_iw_handler_def’) [enabled by default]
    make[2]: *** [/home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux/../../os/linux/sta_ioctl.o] Error 1
    make[1]: *** [_module_/home/white/driver/DPO_GPL_RT5592STA_LinuxSTA_v2.6.0.0_20120326/os/linux] Error 2
    make[1]: Leaving directory `/home/white/linux-3.2.9'
    make: *** [LINUX] Error 2
    Last edited by confusedoldman (2012-12-25 20:14:34)

  • A PKGBUILD that helps you compile kernel from local source tree

    I don't know if someone did this beofore. Hours ago I wrote a PKGBUILD file for compiling kernel,
    it is different than the one from abs. It allows you
    compile a kernel from a exiting kernel source tree and leave it clean.
    honor the Archway, this means you have a clean filesystem
    It is acutally because I'm currently playing with The Eudyptula Challenge.
    and I'm tied our compress/decompress a kernel tree all the time. If you are kernel developer, you
    may also find it useful.
    The PKGBUILD file worked on my machine, I will add headers and docs later.
    Oh, almost forgot: here is my PKGBUILD:
    #So we will have a clean src tree
    pkgbase=linux-test
    _kernel_bin=kernel_build
    #the variable you have to provide
    _builddir=kernel_build
    kernel_src_dir='/home/developer/Courses/kernel-base'
    _srcname=kernel_tree
    #end the variable you have to provide
    pkgver=3.8.1
    pkgrel=1
    pkgdesc="The Linux kernel and modules"
    depends=('coreutils' 'linux-firmware' 'kmod' 'mkinitcpio>=0.7')
    makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc')
    optdepends=('crda: to set the correct wireless channels of your country')
    provides=("kernel26${_kernelname}=${pkgver}")
    conflicts=("kernel26${_kernelname}")
    replaces=("kernel26${_kernelname}")
    arch=('i686' 'x86_64')
    url="http://www.kernel.org/"
    license=('GPL2')
    source=(#if we provide this, means kernel compile progress is already done
    "${_kernel_bin}.tar.xz"
    'linux.preset'
    sha256sums=('65847bc847344434657db729d2dde4a408e303ea29ae1409520cecee8da6fc3d'
    '2c2e8428e2281babcaf542e246c2b63dea599abb7ae086fa482081580f108a98')
    #this one strip the linux off
    _kernelname=${pkgbase#linux}
    prepare() {
    #XXX:checked
    #build dir has to be the same as kernel_bin files, then builddir is created
    #automatically by tar
    if [ "${kernel_src_dir}" == "" ];then
    return 1
    fi
    #provide kernel source tree for compile and move modules
    ln -s ${kernel_src_dir} ${srcdir}/${_srcname}
    mkdir -p "${srcdir}/${_srcname}"
    #we need to check here if there exist kernel bin files
    if [ "${_kernel_bin}" == "" ]; then
    make O="${srcdir}/${_builddir}" menuconfig
    fi
    build() {
    #XXX:checked
    cd "${srcdir}/${_srcname}"
    #we need to check here if there exist kernel bin files
    if [ "${_kernel_bin}" == "" ]; then
    #return 1
    make O="${srcdir}/${_builddir}" bzImage modules
    fi
    #otherwise this step is done already done
    _package() {
    #we dont need to worry about mkinitcpio, depmod thing, They are done by
    #install script, we need to provide a preset and install file instead.
    #we build kernel objs on _builddir, and install them in pkgdir
    #install binary files, this means we have a compiled binary tree
    cd "${srcdir}/${_srcname}"
    #echo "$(pwd)"
    KARCH=x86
    install=linux.install
    # get kernel version
    _kernver="$(make O="${srcdir}/${_builddir}" kernelrelease)"
    _kernver=$(echo "${_kernver}" | sed -n 2p -)
    #strip the -dirty away
    _kernver=${_kernver%-*}
    _basekernel=${_kernver%%-*}
    _basekernel=${_basekernel%.*}
    mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot}
    make O="${srcdir}/${_builddir}" INSTALL_MOD_PATH="${pkgdir}" modules_install
    cp "${srcdir}/${_builddir}"/arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}"
    # set correct depmod command for install
    cp -f "${startdir}/${install}" "${startdir}/${install}.pkg"
    true && install=${install}.pkg
    sed -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/" -i "${startdir}/${install}"
    sed "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/" -i "${startdir}/${install}"
    # install mkinitcpio preset file for kernel
    install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
    sed \
    -e "1s|'linux.*'|'${pkgbase}'|" \
    -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \
    -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \
    -i "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset"
    # remove build and source links
    rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
    # remove the firmware
    rm -rf "${pkgdir}/lib/firmware"
    # gzip -9 all modules to save 100MB of space
    find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \;
    # make room for external modules
    ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules"
    # add real version for building modules and running depmod from post_install/upgrade
    mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}"
    echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version"
    # Now we call depmod...
    #echo "Call Depmod"
    cp "${srcdir}/${_builddir}/System.map" System.map
    depmod -b "${pkgdir}" -F System.map "${_kernver}"
    #echo "Called Depmod"
    # move module tree /lib -> /usr/lib
    mkdir -p "${pkgdir}/usr"
    mv "${pkgdir}/lib" "${pkgdir}/usr/"
    # add vmlinux
    install -D -m644 "${srcdir}/${_builddir}/"vmlinux "${pkgdir}/usr/lib/modules/${_kernver}/build/vmlinux"
    pkgname=("${pkgbase}")
    for _p in ${pkgname[@]}; do
    eval "package_${_p}() {
    _package${_p#${pkgbase}}
    done
    and here is the address of it on github
    Last edited by xedchou (2014-12-23 12:41:55)

    Based on the title alone I almost reflexively binned this thread.  Please rename this thread to *something* relating to what you're actually posting.

  • Can user have compile privilege to schema packages?

    Currently we have all objects including packages and procedures under schema type account in our database. When developers need to add new procedures or make changes in existing they normally login as schema account in Development Database. Is it possible to use regular user account and give some sort of privileges to make changes in procedures from different account? If yes what kind privileges should I assign to users accounts?

    When developers need to add new procedures or make changes in existing they
    normally login as schema account in Development Database.What's wrong with that? Well I can think of a couple of things, but nothing that would make me feel granting CREATE ANY PROCEDURE to Joe Programmer was a good idea.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • Script to download source packages

    Hi there,
    I've made a Bash script "getsrc.sh" which download easily and quickly source packages from AUR or ABS (dependencies : yaourt and makepkg). The idea is just to do in one command, something we usually do in several commands (I use yaourt -G, then makepkg -o). Example :
    /home/ehmicky $ getsrc gnome-terminal
    /tmp/gnome-terminal/src/gnome-terminal-3.2.1 $ ls
    aclocal.m4 AUTHORS ChangeLog ChangeLog.pre-2-23 ChangeLog.README config.guess
    config.h.in config.sub configure configure.ac COPYING depcomp
    gnome-doc-utils.make gnome-terminal.desktop.in.in HACKING help install-sh ltmain.sh
    Makefile.am Makefile.in missing mkinstalldirs NEWS omf.make
    po README src xmldocs.make
    It's just a Bash script you need to source in your ~/.bashrc if you want to use :
    source /path/to/getsrc.sh
    I didn't package it cause I'm new to Archlinux and still uncomfortable with the packaging procedure right now.
    I'm really not sure this might be useful for anyone (it might probably be useless indeed). I guess there are already alternatives doing just the same thign, but since while googling for it, I didn't bump into them, I thought I could post this script just in case.
    Do getsrc -h for usage.
    Here is the script file :
    #!/bin/bash
    #============================================================================
    # NAME : getsrc
    # DESCRIPTION : Download source packages from ABS or AUR.
    # AUTHOR AND COPYRIGHT : ehmicky <ehmickyy at hotmail dot fr>
    # LICENSE : GPL3, see end of file
    # DEPENDENCIES : yaourt makepkg
    # USAGE : getsrc PACKAGE_NAME...
    # INSTALLATION : this file needs to be sourced (e.g. "source
    # getsrc.sh") in your ~/.bashrc
    # VARIABLES :
    # SourceDir : directory where to download the source package (default :
    # current directory)
    # VERSION : 1.1 (13/03/2012)
    # CHANGELOG : 1.1
    # * Supressed output
    # * Fix getopts bug
    # 1.0
    # * First release
    #============================================================================
    #Must define a function so it doesn't spawn a new subshell, and so we can
    #change the current directory of the caller
    getsrc()
    #Define this variable to change the download directory for source packages
    #(default is the current directory)
    local SourceDir="/tmp/MyTemp"
    #Verify dependencies
    test_command()
    while (( $# ))
    do
    if ! type "$1" &> /dev/null
    then
    echo "Error: $1 is not installed." >&2
    return 1
    fi
    shift
    done
    test_command yaourt makepkg
    #Script options : see help message for more info
    local makepkg_options="#"
    OPTIND=1
    while getopts ":hr" Opt
    do
    case "$Opt" in
    h)
    echo "getsrc: Download source packages from ABS or AUR
    Usage: $0 [OPTION]... PACKAGE_NAME...
    -r Use this option if you're root.
    -h Prints this help message.
    E-mail bug reports to: <ehmickyy at hotmail dot fr>"
    return ;;
    r)
    local makepkg_options="--asroot" ;;
    echo "Error: -$OPTARG is not a valid option." >&2
    return 1 ;;
    esac
    done
    shift $(( OPTIND - 1 ))
    local _SourceDir="${SourceDir:-.}"
    if [[ $UID -eq 0 && "$makepkg_options" != *"--asroot"* ]]
    then
    echo "Error: when root, please use the -r flag." >&2
    return 1
    fi
    #Process every argument from command line
    while (( $# ))
    do
    local PreviousDir="$PWD"
    #Go in the source package download directory
    [[ -d "$_SourceDir" ]]\
    || mkdir -p "$_SourceDir"
    if [[ ! -d "$_SourceDir" ]]
    then
    echo "Error: cannot create directory $_SourceDir" >&2
    cd "$PreviousDir"
    return 1
    fi
    cd "$_SourceDir"
    #Download the ABS of the package
    yaourt -G "$1" > /dev/null 2>&1
    #Check is the ABS has been downloaded
    if [[ ! -d "$1" ]]
    then
    echo "Error: $1 is not a valid package name" >&2
    local RelatedPackages="$( yaourt --color -Ss "$1"\
    | sed -n 'h;n;p;g;p'\
    | tac) "
    [[ "$RelatedPackages" =~ ^\ *$ ]]\
    || echo -e "Maybe you meant:\n$RelatedPackages" >&2
    cd "$PreviousDir"
    return 1
    fi
    #Download the source package from the ABS
    cd "$1"
    if ! makepkg -o "$makepkg_options" > /dev/null 2>&1
    then
    echo "Error: could not download source package" >&2
    rm -r "$_SourceDir/$1"
    cd "$PreviousDir"
    return 1
    fi
    #Goes to the root of the source package
    [[ -d "src/" ]]\
    || return
    cd "src/"
    local FinalSourceDir="$( find -mindepth 1 -maxdepth 1 -type d )"
    [[ -d "$FinalSourceDir" ]]\
    && cd "$FinalSourceDir"
    #Process next argument
    shift
    done
    # GNU GENERAL PUBLIC LICENSE
    # Version 3, 29 June 2007
    # Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
    # Everyone is permitted to copy and distribute verbatim copies
    # of this license document, but changing it is not allowed.
    # Preamble
    # The GNU General Public License is a free, copyleft license for
    # software and other kinds of works.
    # The licenses for most software and other practical works are designed
    # to take away your freedom to share and change the works. By contrast,
    # the GNU General Public License is intended to guarantee your freedom to
    # share and change all versions of a program--to make sure it remains free
    # software for all its users. We, the Free Software Foundation, use the
    # GNU General Public License for most of our software; it applies also to
    # any other work released this way by its authors. You can apply it to
    # your programs, too.
    # When we speak of free software, we are referring to freedom, not
    # price. Our General Public Licenses are designed to make sure that you
    # have the freedom to distribute copies of free software (and charge for
    # them if you wish), that you receive source code or can get it if you
    # want it, that you can change the software or use pieces of it in new
    # free programs, and that you know you can do these things.
    # To protect your rights, we need to prevent others from denying you
    # these rights or asking you to surrender the rights. Therefore, you have
    # certain responsibilities if you distribute copies of the software, or if
    # you modify it: responsibilities to respect the freedom of others.
    # For example, if you distribute copies of such a program, whether
    # gratis or for a fee, you must pass on to the recipients the same
    # freedoms that you received. You must make sure that they, too, receive
    # or can get the source code. And you must show them these terms so they
    # know their rights.
    # Developers that use the GNU GPL protect your rights with two steps:
    # (1) assert copyright on the software, and (2) offer you this License
    # giving you legal permission to copy, distribute and/or modify it.
    # For the developers' and authors' protection, the GPL clearly explains
    # that there is no warranty for this free software. For both users' and
    # authors' sake, the GPL requires that modified versions be marked as
    # changed, so that their problems will not be attributed erroneously to
    # authors of previous versions.
    # Some devices are designed to deny users access to install or run
    # modified versions of the software inside them, although the manufacturer
    # can do so. This is fundamentally incompatible with the aim of
    # protecting users' freedom to change the software. The systematic
    # pattern of such abuse occurs in the area of products for individuals to
    # use, which is precisely where it is most unacceptable. Therefore, we
    # have designed this version of the GPL to prohibit the practice for those
    # products. If such problems arise substantially in other domains, we
    # stand ready to extend this provision to those domains in future versions
    # of the GPL, as needed to protect the freedom of users.
    # Finally, every program is threatened constantly by software patents.
    # States should not allow patents to restrict development and use of
    # software on general-purpose computers, but in those that do, we wish to
    # avoid the special danger that patents applied to a free program could
    # make it effectively proprietary. To prevent this, the GPL assures that
    # patents cannot be used to render the program non-free.
    # The precise terms and conditions for copying, distribution and
    # modification follow.
    # TERMS AND CONDITIONS
    # 0. Definitions.
    # "This License" refers to version 3 of the GNU General Public License.
    # "Copyright" also means copyright-like laws that apply to other kinds of
    # works, such as semiconductor masks.
    # "The Program" refers to any copyrightable work licensed under this
    # License. Each licensee is addressed as "you". "Licensees" and
    # "recipients" may be individuals or organizations.
    # To "modify" a work means to copy from or adapt all or part of the work
    # in a fashion requiring copyright permission, other than the making of an
    # exact copy. The resulting work is called a "modified version" of the
    # earlier work or a work "based on" the earlier work.
    # A "covered work" means either the unmodified Program or a work based
    # on the Program.
    # To "propagate" a work means to do anything with it that, without
    # permission, would make you directly or secondarily liable for
    # infringement under applicable copyright law, except executing it on a
    # computer or modifying a private copy. Propagation includes copying,
    # distribution (with or without modification), making available to the
    # public, and in some countries other activities as well.
    # To "convey" a work means any kind of propagation that enables other
    # parties to make or receive copies. Mere interaction with a user through
    # a computer network, with no transfer of a copy, is not conveying.
    # An interactive user interface displays "Appropriate Legal Notices"
    # to the extent that it includes a convenient and prominently visible
    # feature that (1) displays an appropriate copyright notice, and (2)
    # tells the user that there is no warranty for the work (except to the
    # extent that warranties are provided), that licensees may convey the
    # work under this License, and how to view a copy of this License. If
    # the interface presents a list of user commands or options, such as a
    # menu, a prominent item in the list meets this criterion.
    # 1. Source Code.
    # The "source code" for a work means the preferred form of the work
    # for making modifications to it. "Object code" means any non-source
    # form of a work.
    # A "Standard Interface" means an interface that either is an official
    # standard defined by a recognized standards body, or, in the case of
    # interfaces specified for a particular programming language, one that
    # is widely used among developers working in that language.
    # The "System Libraries" of an executable work include anything, other
    # than the work as a whole, that (a) is included in the normal form of
    # packaging a Major Component, but which is not part of that Major
    # Component, and (b) serves only to enable use of the work with that
    # Major Component, or to implement a Standard Interface for which an
    # implementation is available to the public in source code form. A
    # "Major Component", in this context, means a major essential component
    # (kernel, window system, and so on) of the specific operating system
    # (if any) on which the executable work runs, or a compiler used to
    # produce the work, or an object code interpreter used to run it.
    # The "Corresponding Source" for a work in object code form means all
    # the source code needed to generate, install, and (for an executable
    # work) run the object code and to modify the work, including scripts to
    # control those activities. However, it does not include the work's
    # System Libraries, or general-purpose tools or generally available free
    # programs which are used unmodified in performing those activities but
    # which are not part of the work. For example, Corresponding Source
    # includes interface definition files associated with source files for
    # the work, and the source code for shared libraries and dynamically
    # linked subprograms that the work is specifically designed to require,
    # such as by intimate data communication or control flow between those
    # subprograms and other parts of the work.
    # The Corresponding Source need not include anything that users
    # can regenerate automatically from other parts of the Corresponding
    # Source.
    # The Corresponding Source for a work in source code form is that
    # same work.
    # 2. Basic Permissions.
    # All rights granted under this License are granted for the term of
    # copyright on the Program, and are irrevocable provided the stated
    # conditions are met. This License explicitly affirms your unlimited
    # permission to run the unmodified Program. The output from running a
    # covered work is covered by this License only if the output, given its
    # content, constitutes a covered work. This License acknowledges your
    # rights of fair use or other equivalent, as provided by copyright law.
    # You may make, run and propagate covered works that you do not
    # convey, without conditions so long as your license otherwise remains
    # in force. You may convey covered works to others for the sole purpose
    # of having them make modifications exclusively for you, or provide you
    # with facilities for running those works, provided that you comply with
    # the terms of this License in conveying all material for which you do
    # not control copyright. Those thus making or running the covered works
    # for you must do so exclusively on your behalf, under your direction
    # and control, on terms that prohibit them from making any copies of
    # your copyrighted material outside their relationship with you.
    # Conveying under any other circumstances is permitted solely under
    # the conditions stated below. Sublicensing is not allowed; section 10
    # makes it unnecessary.
    # 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
    # No covered work shall be deemed part of an effective technological
    # measure under any applicable law fulfilling obligations under article
    # 11 of the WIPO copyright treaty adopted on 20 December 1996, or
    # similar laws prohibiting or restricting circumvention of such
    # measures.
    # When you convey a covered work, you waive any legal power to forbid
    # circumvention of technological measures to the extent such circumvention
    # is effected by exercising rights under this License with respect to
    # the covered work, and you disclaim any intention to limit operation or
    # modification of the work as a means of enforcing, against the work's
    # users, your or third parties' legal rights to forbid circumvention of
    # technological measures.
    # 4. Conveying Verbatim Copies.
    # You may convey verbatim copies of the Program's source code as you
    # receive it, in any medium, provided that you conspicuously and
    # appropriately publish on each copy an appropriate copyright notice;
    # keep intact all notices stating that this License and any
    # non-permissive terms added in accord with section 7 apply to the code;
    # keep intact all notices of the absence of any warranty; and give all
    # recipients a copy of this License along with the Program.
    # You may charge any price or no price for each copy that you convey,
    # and you may offer support or warranty protection for a fee.
    # 5. Conveying Modified Source Versions.
    # You may convey a work based on the Program, or the modifications to
    # produce it from the Program, in the form of source code under the
    # terms of section 4, provided that you also meet all of these conditions:
    # a) The work must carry prominent notices stating that you modified
    # it, and giving a relevant date.
    # b) The work must carry prominent notices stating that it is
    # released under this License and any conditions added under section
    # 7. This requirement modifies the requirement in section 4 to
    # "keep intact all notices".
    # c) You must license the entire work, as a whole, under this
    # License to anyone who comes into possession of a copy. This
    # License will therefore apply, along with any applicable section 7
    # additional terms, to the whole of the work, and all its parts,
    # regardless of how they are packaged. This License gives no
    # permission to license the work in any other way, but it does not
    # invalidate such permission if you have separately received it.
    # d) If the work has interactive user interfaces, each must display
    # Appropriate Legal Notices; however, if the Program has interactive
    # interfaces that do not display Appropriate Legal Notices, your
    # work need not make them do so.
    # A compilation of a covered work with other separate and independent
    # works, which are not by their nature extensions of the covered work,
    # and which are not combined with it such as to form a larger program,
    # in or on a volume of a storage or distribution medium, is called an
    # "aggregate" if the compilation and its resulting copyright are not
    # used to limit the access or legal rights of the compilation's users
    # beyond what the individual works permit. Inclusion of a covered work
    # in an aggregate does not cause this License to apply to the other
    # parts of the aggregate.
    # 6. Conveying Non-Source Forms.
    # You may convey a covered work in object code form under the terms
    # of sections 4 and 5, provided that you also convey the
    # machine-readable Corresponding Source under the terms of this License,
    # in one of these ways:
    # a) Convey the object code in, or embodied in, a physical product
    # (including a physical distribution medium), accompanied by the
    # Corresponding Source fixed on a durable physical medium
    # customarily used for software interchange.
    # b) Convey the object code in, or embodied in, a physical product
    # (including a physical distribution medium), accompanied by a
    # written offer, valid for at least three years and valid for as
    # long as you offer spare parts or customer support for that product
    # model, to give anyone who possesses the object code either (1) a
    # copy of the Corresponding Source for all the software in the
    # product that is covered by this License, on a durable physical
    # medium customarily used for software interchange, for a price no
    # more than your reasonable cost of physically performing this
    # conveying of source, or (2) access to copy the
    # Corresponding Source from a network server at no charge.
    # c) Convey individual copies of the object code with a copy of the
    # written offer to provide the Corresponding Source. This
    # alternative is allowed only occasionally and noncommercially, and
    # only if you received the object code with such an offer, in accord
    # with subsection 6b.
    # d) Convey the object code by offering access from a designated
    # place (gratis or for a charge), and offer equivalent access to the
    # Corresponding Source in the same way through the same place at no
    # further charge. You need not require recipients to copy the
    # Corresponding Source along with the object code. If the place to
    # copy the object code is a network server, the Corresponding Source
    # may be on a different server (operated by you or a third party)
    # that supports equivalent copying facilities, provided you maintain
    # clear directions next to the object code saying where to find the
    # Corresponding Source. Regardless of what server hosts the
    # Corresponding Source, you remain obligated to ensure that it is
    # available for as long as needed to satisfy these requirements.
    # e) Convey the object code using peer-to-peer transmission, provided
    # you inform other peers where the object code and Corresponding
    # Source of the work are being offered to the general public at no
    # charge under subsection 6d.
    # A separable portion of the object code, whose source code is excluded
    # from the Corresponding Source as a System Library, need not be
    # included in conveying the object code work.
    # A "User Product" is either (1) a "consumer product", which means any
    # tangible personal property which is normally used for personal, family,
    # or household purposes, or (2) anything designed or sold for incorporation
    # into a dwelling. In determining whether a product is a consumer product,
    # doubtful cases shall be resolved in favor of coverage. For a particular
    # product received by a particular user, "normally used" refers to a
    # typical or common use of that class of product, regardless of the status
    # of the particular user or of the way in which the particular user
    # actually uses, or expects or is expected to use, the product. A product
    # is a consumer product regardless of whether the product has substantial
    # commercial, industrial or non-consumer uses, unless such uses represent
    # the only significant mode of use of the product.
    # "Installation Information" for a User Product means any methods,
    # procedures, authorization keys, or other information required to install
    # and execute modified versions of a covered work in that User Product from
    # a modified version of its Corresponding Source. The information must
    # suffice to ensure that the continued functioning of the modified object
    # code is in no case prevented or interfered with solely because
    # modification has been made.
    # If you convey an object code work under this section in, or with, or
    # specifically for use in, a User Product, and the conveying occurs as
    # part of a transaction in which the right of possession and use of the
    # User Product is transferred to the recipient in perpetuity or for a
    # fixed term (regardless of how the transaction is characterized), the
    # Corresponding Source conveyed under this section must be accompanied
    # by the Installation Information. But this requirement does not apply
    # if neither you nor any third party retains the ability to install
    # modified object code on the User Product (for example, the work has
    # been installed in ROM).
    # The requirement to provide Installation Information does not include a
    # requirement to continue to provide support service, warranty, or updates
    # for a work that has been modified or installed by the recipient, or for
    # the User Product in which it has been modified or installed. Access to a
    # network may be denied when the modification itself materially and
    # adversely affects the operation of the network or violates the rules and
    # protocols for communication across the network.
    # Corresponding Source conveyed, and Installation Information provided,
    # in accord with this section must be in a format that is publicly
    # documented (and with an implementation available to the public in
    # source code form), and must require no special password or key for
    # unpacking, reading or copying.
    # 7. Additional Terms.
    # "Additional permissions" are terms that supplement the terms of this
    # License by making exceptions from one or more of its conditions.
    # Additional permissions that are applicable to the entire Program shall
    # be treated as though they were included in this License, to the extent
    # that they are valid under applicable law. If additional permissions
    # apply only to part of the Program, that part may be used separately
    # under those permissions, but the entire Program remains governed by
    # this License without regard to the additional permissions.
    # When you convey a copy of a covered work, you may at your option
    # remove any additional permissions from that copy, or from any part of
    # it. (Additional permissions may be written to require their own
    # removal in certain cases when you modify the work.) You may place
    # additional permissions on material, added by you to a covered work,
    # for which you have or can give appropriate copyright permission.
    # Notwithstanding any other provision of this License, for material you
    # add to a covered work, you may (if authorized by the copyright holders of
    # that material) supplement the terms of this License with terms:
    # a) Disclaiming warranty or limiting liability differently from the
    # terms of sections 15 and 16 of this License; or
    # b) Requiring preservation of specified reasonable legal notices or
    # author attributions in that material or in the Appropriate Legal
    # Notices displayed by works containing it; or
    # c) Prohibiting misrepresentation of the origin of that material, or
    # requiring that modified versions of such material be marked in
    # reasonable ways as different from the original version; or
    # d) Limiting the use for publicity purposes of names of licensors or
    # authors of the material; or
    # e) Declining to grant rights under trademark law for use of some
    # trade names, trademarks, or service marks; or
    # f) Requiring indemnification of licensors and authors of that
    # material by anyone who conveys the material (or modified versions of
    # it) with contractual assumptions of liability to the recipient, for
    # any liability that these contractual assumptions directly impose on
    # those licensors and authors.
    # All other non-permissive additional terms are considered "further
    # restrictions" within the meaning of section 10. If the Program as you
    # received it, or any part of it, contains a notice stating that it is
    # governed by this License along with a term that is a further
    # restriction, you may remove that term. If a license document contains
    # a further restriction but permits relicensing or conveying under this
    # License, you may add to a covered work material governed by the terms
    # of that license document, provided that the further restriction does
    # not survive such relicensing or conveying.
    # If you add terms to a covered work in accord with this section, you
    # must place, in the relevant source files, a statement of the
    # additional terms that apply to those files, or a notice indicating
    # where to find the applicable terms.
    # Additional terms, permissive or non-permissive, may be stated in the
    # form of a separately written license, or stated as exceptions;
    # the above requirements apply either way.
    # 8. Termination.
    # You may not propagate or modify a covered work except as expressly
    # provided under this License. Any attempt otherwise to propagate or
    # modify it is void, and will automatically terminate your rights under
    # this License (including any patent licenses granted under the third
    # paragraph of section 11).
    # However, if you cease all violation of this License, then your
    # license from a particular copyright holder is reinstated (a)
    # provisionally, unless and until the copyright holder explicitly and
    # finally terminates your license, and (b) permanently, if the copyright
    # holder fails to notify you of the violation by some reasonable means
    # prior to 60 days after the cessation.
    # Moreover, your license from a particular copyright holder is
    # reinstated permanently if the copyright holder notifies you of the
    # violation by some reasonable means, this is the first time you have
    # received notice of violation of this License (for any work) from that
    # copyright holder, and you cure the violation prior to 30 days after
    # your receipt of the notice.
    # Termination of your rights under this section does not terminate the
    # licenses of parties who have received copies or rights from you under
    # this License. If your rights have been terminated and not permanently
    # reinstated, you do not qualify to receive new licenses for the same
    # material under section 10.
    # 9. Acceptance Not Required for Having Copies.
    # You are not required to accept this License in order to receive or
    # run a copy of the Program. Ancillary propagation of a covered work
    # occurring solely as a consequence of using peer-to-peer transmission
    # to receive a copy likewise does not require acceptance. However,
    # nothing other than this License grants you permission to propagate or
    # modify any covered work. These actions infringe copyright if you do
    # not accept this License. Therefore, by modifying or propagating a
    # covered work, you indicate your acceptance of this License to do so.
    # 10. Automatic Licensing of Downstream Recipients.
    # Each time you convey a covered work, the recipient automatically
    # receives a license from the original licensors, to run, modify and
    # propagate that work, subject to this License. You are not responsible
    # for enforcing compliance by third parties with this License.
    # An "entity transaction" is a transaction transferring control of an
    # organization, or substantially all assets of one, or subdividing an
    # organization, or merging organizations. If propagation of a covered
    # work results from an entity transaction, each party to that
    # transaction who receives a copy of the work also receives whatever
    # licenses to the work the party's predecessor in interest had or could
    # give under the previous paragraph, plus a right to possession of the
    # Corresponding Source of the work from the predecessor in interest, if
    # the predecessor has it or can get it with reasonable efforts.
    # You may not impose any further restrictions on the exercise of the
    # rights granted or affirmed under this License. For example, you may
    # not impose a license fee, royalty, or other charge for exercise of
    # rights granted under this License, and you may not initiate litigation
    # (including a cross-claim or counterclaim in a lawsuit) alleging that
    # any patent claim is infringed by making, using, selling, offering for
    # sale, or importing the Program or any portion of it.
    # 11. Patents.
    # A "contributor" is a copyright holder who authorizes use under this
    # License of the Program or a work on which the Program is based. The
    # work thus licensed is called the contributor's "contributor version".
    # A contributor's "essential patent claims" are all patent claims
    # owned or controlled by the contributor, whether already acquired or
    # hereafter acquired, that would be infringed by some manner, permitted
    # by this License, of making, using, or selling its contributor version,
    # but do not include claims that would be infringed only as a
    # consequence of further modification of the contributor version. For
    # purposes of this definition, "control" includes the right to grant
    # patent sublicenses in a manner consistent with the requirements of
    # this License.
    # Each contributor grants you a non-exclusive, worldwide, royalty-free
    # patent license under the contributor's essential patent claims, to
    # make, use, sell, offer for sale, import and otherwise run, modify and
    # propagate the contents of its contributor version.
    # In the following three paragraphs, a "patent license" is any express
    # agreement or commitment, however denominated, not to enforce a patent
    # (such as an express permission to practice a patent or covenant not to
    # sue for patent infringement). To "grant" such a patent license to a
    # party means to make such an agreement or commitment not to enforce a
    # patent against the party.
    # If you convey a covered work, knowingly relying on a patent license,
    # and the Corresponding Source of the work is not available for anyone
    # to copy, free of charge and under the terms of this License, through a
    # publicly available network server or other readily accessible means,
    # then you must either (1) cause the Corresponding Source to be so
    # available, or (2) arrange to deprive yourself of the benefit of the
    # patent license for this particular work, or (3) arrange, in a manner
    # consistent with the requirements of this License, to extend the patent
    # license to downstream recipients. "Knowingly relying" means you have
    # actual knowledge that, but for the patent license, your conveying the
    # covered work in a country, or your recipient's use of the covered work
    # in a country, would infringe one or more identifiable patents in that
    # country that you have reason to believe are valid.
    # If, pursuant to or in connection with a single transaction or
    # arrangement, you convey, or propagate by procuring conveyance of, a
    # covered work, and grant a patent license to some of the parties
    # receiving the covered work authorizing them to use, propagate, modify
    # or convey a specific copy of the covered work, then the patent license
    # you grant is automatically extended to all recipients of the covered
    # work and works based on it.
    # A patent license is "discriminatory" if it does not include within
    # the scope of its coverage, prohibits the exercise of, or is
    # conditioned on the non-exercise of one or more of the rights that are
    # specifically granted under this License. You may not convey a covered
    # work if you are a party to an arrangement with a third party that is
    # in the business of distributing software, under which you make payment
    # to the third party based on the extent of your activity of conveying
    # the work, and under which the third party grants, to any of the
    # parties who would receive the covered work from you, a discriminatory
    # patent license (a) in connection with copies of the covered work
    # conveyed by you (or copies made from those copies), or (b) primarily
    # for and in connection with specific products or compilations that
    # contain the covered work, unless you entered into that arrangement,
    # or that patent license was granted, prior to 28 March 2007.
    # Nothing in this License shall be construed as excluding or limiting
    # any implied license or other defenses to infringement that may
    # otherwise be available to you under applicable patent law.
    # 12. No Surrender of Others' Freedom.
    # If conditions are imposed on you (whether by court order, agreement or
    # otherwise) that contradict the conditions of this License, they do not
    # excuse you from the conditions of this License. If you cannot convey a
    # covered work so as to satisfy simultaneously your obligations under this
    # License and any other pertinent obligations, then as a consequence you may
    # not convey it at all. For example, if you agree to terms that obligate you
    # to collect a royalty for further conveying from those to whom you convey
    # the Program, the only way you could satisfy both those terms and this
    # License would be to refrain entirely from conveying the Program.
    # 13. Use with the GNU Affero General Public License.
    # Notwithstanding any other provision of this License, you have
    # permission to link or combine any covered work with a work licensed
    # under version 3 of the GNU Affero General Public License into a single
    # combined work, and to convey the resulting work. The terms of this
    # License will continue to apply to the part which is the covered work,
    # but the special requirements of the GNU Affero General Public License,
    # section 13, concerning interaction through a network will apply to the
    # combination as such.
    # 14. Revised Versions of this License.
    # The Free Software Foundation may publish revised and/or new versions of
    # the GNU General Public License from time to time. Such new versions will
    # be similar in spirit to the present version, but may differ in detail to
    # address new problems or concerns.
    # Each version is given a distinguishing version number. If the
    # Program specifies that a certain numbered version of the GNU General
    # Public License "or any later version" applies to it, you have the
    # option of following the terms and conditions either of that numbered
    # version or of any later version published by the Free Software
    # Foundation. If the Program does not specify a version number of the
    # GNU General Public License, you may choose any version ever published
    # by the Free Software Foundation.
    # If the Program specifies that a proxy can decide which future
    # versions of the GNU General Public License can be used, that proxy's
    # public statement of acceptance of a version permanently authorizes you
    # to choose that version for the Program.
    # Later license versions may give you additional or different
    # permissions. However, no additional obligations are imposed on any
    # author or copyright holder as a result of your choosing to follow a
    # later version.
    # 15. Disclaimer of Warranty.
    # THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
    # APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
    # HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
    # OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
    # IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
    # ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
    # 16. Limitation of Liability.
    # IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    # WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
    # THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
    # GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
    # USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
    # DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
    # PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
    # EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
    # SUCH DAMAGES.
    # 17. Interpretation of Sections 15 and 16.
    # If the disclaimer of warranty and limitation of liability provided
    # above cannot be given local legal effect according to their terms,
    # reviewing courts shall apply local law that most closely approximates
    # an absolute waiver of all civil liability in connection with the
    # Program, unless a warranty or assumption of liability accompanies a
    # copy of the Program in return for a fee.
    # END OF TERMS AND CONDITIONS
    # How to Apply These Terms to Your New Programs
    # If you develop a new program, and you want it to be of the greatest
    # possible use to the public, the best way to achieve this is to make it
    # free software which everyone can redistribute and change under these terms.
    # To do so, attach the following notices to the program. It is safest
    # to attach them to the start of each source file to most effectively
    # state the exclusion of warranty; and each file should have at least
    # the "copyright" line and a pointer to where the full notice is found.
    # <one line to give the program's name and a brief idea of what it does.>
    # Copyright (C) <year> <name of author>
    # This program is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    # This program is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    # You should have received a copy of the GNU General Public License
    # along with this program. If not, see <http://www.gnu.org/licenses/>.
    # Also add information on how to contact you by electronic and paper mail.
    # If the program does terminal interaction, make it output a short
    # notice like this when it starts in an interactive mode:
    # <program> Copyright (C) <year> <name of author>
    # This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    # This is free software, and you are welcome to redistribute it
    # under certain conditions; type `show c' for details.
    # The hypothetical commands `show w' and `show c' should show the appropriate
    # parts of the General Public License. Of course, your program's commands
    # might be different; for a GUI interface, you would use an "about box".
    # You should also get your employer (if you work as a programmer) or school,
    # if any, to sign a "copyright disclaimer" for the program, if necessary.
    # For more information on this, and how to apply and follow the GNU GPL, see
    # <http://www.gnu.org/licenses/>.
    # The GNU General Public License does not permit incorporating your program
    # into proprietary programs. If your program is a subroutine library, you
    # may consider it more useful to permit linking proprietary applications with
    # the library. If this is what you want to do, use the GNU Lesser General
    # Public License instead of this License. But first, please read
    # <http://www.gnu.org/philosophy/why-not-lgpl.html>.
    Last edited by ehmicky (2012-03-13 20:46:18)

    Here is the output of makepkg -s when I try to install packer:
    [tilley@take-kun packer]$ makepkg -s
    ==> Determining latest git revision...
      -> Version found: 20120509
    ==> Making package: packer 20120509-1 (Wed May  9 17:27:52 CDT 2012)
    ==> Checking runtime dependencies...
    ==> Installing missing dependencies...
    resolving dependencies...
    looking for inter-conflicts...
    Targets (2): jansson-2.3-1  jshon-20111222-1
    Total Download Size:    0.04 MiB
    Total Installed Size:   0.17 MiB
    Proceed with installation? [Y/n] y
    :: Retrieving packages from community...
    jansson-2.3-1-x86_64      30.5 KiB   150K/s 00:00 [######################] 100%
    jshon-20111222-1-x86_64    9.8 KiB   806K/s 00:00 [######################] 100%
    (2/2) checking package integrity                   [######################] 100%
    (2/2) loading package files                        [######################] 100%
    (2/2) checking for file conflicts                  [######################] 100%
    (2/2) checking available disk space                [######################] 100%
    (1/2) installing jansson                           [######################] 100%
    (2/2) installing jshon                             [######################] 100%
    ==> Checking buildtime dependencies...
    ==> Retrieving Sources...
    ==> Extracting Sources...
    ==> Entering fakeroot environment...
    ==> Starting build()...
    ==> Connecting to github GIT server....
    Cloning into 'packer'...
    error: Could not resolve host: (nil); No address associated with hostname while accessing https://github.com/bruenig/packer.git/info/refs
    fatal: HTTP request failed
    ==> ERROR: A failure occurred in build().
        Aborting...

  • Preferred way to compile kernel?

    After the discussion here:
    http://bbs.archlinux.org/viewtopic.php?t=4057&start=30
    I'm wondering which way most people use for compiling their kernel. I've used /usr/src because its simpler and makes me feel more in control.  Having an Arch package for the custom kernel has no real value, according to apeiro.  Plus, using /usr/src has the kernel headers in place automatically, useful for programs that need it. (This offset by the fact that the kernel package copies the necessary files into place anyway). However, using ABS has the advantage of automating a lot of the task using Arch systems, rather than, for example, a custom shell script. (I'm trying an ABS version right now, for comparison).
    Both methods are described in the wiki. I'm going to be cleaning up and expanding both shortly.
    I'm asking this question in order to semi-standardize the process. Some people might say that the Arch philosophy is "There is more than one way to do everything", but I believe we could also append "but there is a best way to do it and Arch suggests that way". Now I want to find out which way is best in this case.
    I'd be most interested in "I use xyz method because... [valid reason]" statements, rather than just "I use xyz".
    Dusty

    The 'abs' way was basically my idea - or at least the first wiki entry about it, I don't know if anyone tried it that way before. I thougt it could be a nice automatism, to have a proper kernel configuration once, tweak the PGKBUILD file, and after all is set up, all I had to change was the version number of the package/kernel source or change the config, and run makepkg then. I once made it switching from kernel24 to 26, using my own config. It worked fine. So, I thought it could be helpfull writing it to the wiki.
    But this idea has some disadvantages, too. F.e., if you compile a minor upgrade, you may construct a modules mess, as a lot of files are already existing. Therefore, all cases must be thoroughly considered and configurated. Kernel addicts would prefer to patch the kernel instead of fully refetch the source.
    After playing around with the idea for a while, I decided the work of configurating all possible eventuallities in compiling kernels by using abs was to difficult. Using the standard procedures seemed straight and easy to me.
    So I removed my 'arch way' section in the kernel compiling wiki. Nevertheless, another user started an abs kernel wiki, redevelopping and enhancing my idea.
    The idea is still attractive.

  • [SOLVED] error compiling from source Broadcom BCM70015 driver

    Hi,
    This is my first post.
    I have one HP Thin Client T5740 with Intel Atom 1.66 MHz, 1Gb RAM and Broadcom BCM70015 decoder card installed on it.
    I have install the last version of archlinux on T5740 and this working very well.
    Now, I want compile from source Broadcom BCM70015 but result this error when compiling libcrystalhd:
    ==> Continue building libcrystalhd-git ? [Y/n]
    ==> ------------------------------------------
    ==>
    ==> Building and installing package
    ==> ERROR: Missing package() function in /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/./PKGBUILD
    ==> ERROR: Makepkg was unable to build libcrystalhd-git.
    ==> Restart building libcrystalhd-git ? [y/N]
    ==> -----------------------------------------
    ==>
    Where is the problem
    Please help me. Thanks
    Last edited by Eugen1968 (2015-02-08 22:53:17)

    Thank you, for help.
    This is the full output :
    [eugen@HP-T5740 ~]$ yaourt crystalhd
    1 aur/crystalhd-firmware 20120110-2 (3)
    Crystal HD Video Decoder firmware
    2 aur/crystalhd-git 20130503-1 (10)
    Broadcom CrystalHD kernel module
    3 aur/crystalhd-snapshot 3.8.0-2 (0)
    Broadcom CrystalHD kernel module & library, tagged releases from Google Code SVN tree
    4 aur/gst-plugin-crystalhd-git 20120115-1 (4)
    Broadcom Crystal HD GST Plugin (Totem for instance) from git.wilsonet.com
    5 aur/libcrystalhd 20100703-3 (2)
    Broadcom Crystal HD library
    6 aur/libcrystalhd-git 20130503-2 (13)
    Broadcom CrystalHD library
    ==> Enter n of packages to be installed (ex: 1 2 3 or 1-3)
    ==> --------------------------------------------------------
    ==> 2
    ==> Downloading crystalhd-git PKGBUILD from AUR...
    bsdtar: Failed to set default locale
    x PKGBUILD
    x devinitFix.patch
    x crystalhd-git.install
    Comment by rhon (2013-04-20 12:58)
    Have you installed kernel headers ?
    Comment by rhon (2013-05-03 12:08)
    Patch is now included in package.
    Comment by binaryjay (2013-08-07 11:47)
    Is there a reason that after all of this time this is still only available in AUR, why isn't this module available in the package repository?
    Comment by rhon (2013-08-22 04:46)
    I guess it's because the package doesn't get enough votes.
    Comment by rhon (2013-09-26 20:36)
    Package is now orphan because I don't use the devices anymore, so I can't test the module.
    crystalhd-git 20130503-1 (Thu Feb 4 13:38:05 UTC 2010)
    This package is orphaned
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> y
    Please add $EDITOR to your environment variables
    for example:
    export EDITOR="vim" (in ~/.bashrc)
    (replace vim with your favorite editor)
    ==> Edit PKGBUILD with: nano
    ==> crystalhd-git dependencies:
    - linux>=3.0 (already installed)
    - autoconf (already installed)
    - make (already installed)
    - libcrystalhd-git (building from AUR)
    - linux-headers>=3.0 (package found)
    - git (package found)
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> y
    ==> crystalhd-git dependencies:
    - linux>=3.0 (already installed)
    - autoconf (already installed)
    - make (already installed)
    - libcrystalhd-git (building from AUR)
    - linux-headers>=3.0 (package found)
    - git (package found)
    ==> Edit crystalhd-git.install ? [Y/n] ("A" to abort)
    ==> -------------------------------------------------
    ==> y
    ==> Continue building crystalhd-git ? [Y/n]
    ==> ---------------------------------------
    ==>
    ==> Building and installing package
    ==> Install or build missing dependencies for crystalhd-git:
    resolving dependencies...
    looking for conflicting packages...
    Packages (3) perl-error-0.17022-1 git-2.2.2-1 linux-headers-3.18.4-1
    Total Download Size: 10.26 MiB
    Total Installed Size: 57.07 MiB
    :: Proceed with installation? [Y/n] y
    :: Retrieving packages ...
    linux-headers-3.18.4-1-i686 6.1 MiB 377K/s 00:17 [###########################################] 100%
    perl-error-0.17022-1-any 18.3 KiB 0.00B/s 00:00 [###########################################] 100%
    git-2.2.2-1-i686 4.1 MiB 538K/s 00:08 [###########################################] 100%
    (3/3) checking keys in keyring [###########################################] 100%
    (3/3) checking package integrity [###########################################] 100%
    (3/3) loading package files [###########################################] 100%
    (3/3) checking for file conflicts [###########################################] 100%
    (3/3) checking available disk space [###########################################] 100%
    (1/3) installing linux-headers [###########################################] 100%
    (2/3) installing perl-error [###########################################] 100%
    (3/3) installing git [###########################################] 100%
    Optional dependencies for git
    tk: gitk and git gui
    perl-libwww: git svn
    perl-term-readkey: git svn
    perl-mime-tools: git send-email
    perl-net-smtp-ssl: git send-email TLS support
    perl-authen-sasl: git send-email TLS support
    python2: various helper scripts
    subversion: git svn
    cvsps2: git cvsimport
    gnome-keyring: GNOME keyring credential helper
    ==> Downloading libcrystalhd-git PKGBUILD from AUR...
    bsdtar: Failed to set default locale
    x crystalhd-3cb6786-fix_typo.patch
    x crystalhd-3cb6786-crosscompiling-0.1.patch
    x crystalhd-3cb6786-lower_THRESHOLD_globals.patch
    x crystalhd-3cb6786-use_8_DMA_buffers.patch
    x PKGBUILD
    Comment by rudolf (2012-11-21 11:49)
    I'm orphaning the crystalhd-git and libcrystalhd-git, because I don't have the hardware anymore.
    Comment by rhon (2013-04-03 21:12)
    Updated with patches from Openelec (https://github.com/OpenELEC/OpenELEC.tv/tree/master/packages/multimedia/crystalhd/patches)
    Comment by rhon (2013-05-03 12:21)
    Instead of fetching patches from github, there are now in the package.
    Comment by rhon (2013-09-26 20:36)
    Package is now orphan because I don't use the devices anymore, so I can't test the module.
    Comment by Eugen1968 (2015-01-25 10:58)
    I want compile from source Broadcom BCM70015 but result this error when compiling libcrystalhd:
    == Continue building libcrystalhd-git ? [Y/n]
    == ------------------------------------------
    ==
    == Building and installing package
    == ERROR: Missing package() function in /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/./PKGBUILD
    == ERROR: Makepkg was unable to build libcrystalhd-git.
    == Restart building libcrystalhd-git ? [y/N]
    == -----------------------------------------
    ==
    libcrystalhd-git 20130503-2 (Thu Feb 4 13:38:37 UTC 2010)
    This package is orphaned
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> y
    ==> libcrystalhd-git dependencies:
    - gcc-libs (already installed)
    - git (already installed)
    - make (already installed)
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> y
    ==> libcrystalhd-git dependencies:
    - gcc-libs (already installed)
    - git (already installed)
    - make (already installed)
    ==> Continue building libcrystalhd-git ? [Y/n]
    ==> ------------------------------------------
    ==>
    ==> Building and installing package
    ==> Making package: libcrystalhd-git 20130503-2 (Sun Feb 1 14:04:15 UTC 2015)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
    -> Found crystalhd-3cb6786-crosscompiling-0.1.patch
    -> Found crystalhd-3cb6786-fix_typo.patch
    -> Found crystalhd-3cb6786-lower_THRESHOLD_globals.patch
    -> Found crystalhd-3cb6786-use_8_DMA_buffers.patch
    ==> Validating source files with md5sums...
    crystalhd-3cb6786-crosscompiling-0.1.patch ... Passed
    crystalhd-3cb6786-fix_typo.patch ... Passed
    crystalhd-3cb6786-lower_THRESHOLD_globals.patch ... Passed
    crystalhd-3cb6786-use_8_DMA_buffers.patch ... Passed
    ==> Extracting sources...
    ==> Entering fakeroot environment...
    ==> Starting package()...
    ==> Connecting to the GIT server....
    Cloning into 'crystalhd'...
    remote: Counting objects: 2006, done.
    remote: Compressing objects: 100% (385/385), done.
    remote: Total 2006 (delta 1351), reused 2006 (delta 1351)
    Receiving objects: 100% (2006/2006), 3.55 MiB | 347.00 KiB/s, done.
    Resolving deltas: 100% (1351/1351), done.
    Checking connectivity... done.
    patching file linux_lib/libcrystalhd/Makefile
    patching file linux_lib/libcrystalhd/libcrystalhd_fwdiag_if.cpp
    patching file linux_lib/libcrystalhd/libcrystalhd_priv.h
    patching file include/bc_dts_glob_lnx.h
    OBJFILES = libcrystalhd_if.o libcrystalhd_int_if.o libcrystalhd_fwcmds.o libcrystalhd_priv.o libcrystalhd_fwdiag_if.o libcrystalhd_fwload_if.o libcrystalhd_parser.o
    SRCFILES = libcrystalhd_if.cpp libcrystalhd_int_if.cpp libcrystalhd_fwcmds.cpp libcrystalhd_priv.cpp libcrystalhd_fwdiag_if.cpp libcrystalhd_fwload_if.cpp libcrystalhd_parser.cpp
    LNM = libcrystalhd.so.3.6 libcrystalhd.so.3
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_if.o libcrystalhd_if.cpp
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_int_if.o libcrystalhd_int_if.cpp
    libcrystalhd_int_if.cpp: In function 'BC_STATUS DtsDevMemRd(HANDLE, uint32_t*, uint32_t, uint32_t)':
    libcrystalhd_int_if.cpp:741:15: warning: variable 'IOcCode' set but not used [-Wunused-but-set-variable]
    uint32_t IOcCode,size_in_dword;
    ^
    libcrystalhd_int_if.cpp: In function 'BC_STATUS DtsDevMemWr(HANDLE, uint32_t*, uint32_t, uint32_t)':
    libcrystalhd_int_if.cpp:879:10: warning: passing NULL to non-pointer argument 8 of 'BOOL DtsDrvIoctl(HANDLE, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, BOOL)' [-Wconversion-null]
    NULL))
    ^
    libcrystalhd_int_if.cpp:824:15: warning: variable 'IOcCode' set but not used [-Wunused-but-set-variable]
    uint32_t IOcCode,size_in_dword;
    ^
    libcrystalhd_int_if.cpp: In function 'BC_STATUS DtsCopyRawDataToOutBuff(DTS_LIB_CONTEXT*, BC_DTS_PROC_OUT*, BC_DTS_PROC_OUT*)':
    libcrystalhd_int_if.cpp:1218:33: warning: variable 'srcHeightInPixels' set but not used [-Wunused-but-set-variable]
    uint32_t srcWidthInPixels = 0, srcHeightInPixels;
    ^
    libcrystalhd_int_if.cpp: In function 'BC_STATUS DtsCopyNV12ToYV12(DTS_LIB_CONTEXT*, BC_DTS_PROC_OUT*, BC_DTS_PROC_OUT*)':
    libcrystalhd_int_if.cpp:1283:29: warning: variable 'srcHeightInPixels' set but not used [-Wunused-but-set-variable]
    uint32_t srcWidthInPixels, srcHeightInPixels;
    ^
    libcrystalhd_int_if.cpp: In function 'BC_STATUS DtsCopyNV12(DTS_LIB_CONTEXT*, BC_DTS_PROC_OUT*, BC_DTS_PROC_OUT*)':
    libcrystalhd_int_if.cpp:1366:31: warning: variable 'srcHeightInPixels' set but not used [-Wunused-but-set-variable]
    uint32_t srcWidthInPixels=0, srcHeightInPixels;
    ^
    libcrystalhd_int_if.cpp: At global scope:
    libcrystalhd_int_if.cpp:1472:18: warning: 'BC_STATUS DtsCopy422ToYV12(uint8_t*, uint8_t*, const uint8_t*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)' defined but not used [-Wunused-function]
    static BC_STATUS DtsCopy422ToYV12(uint8_t *dstY, uint8_t *dstUV, const uint8_t *srcY, uint32_t srcWidth, uint32_t dstWidth, uint32_t height, uint32_t strideY, uint32_t strideUV)
    ^
    libcrystalhd_int_if.cpp:1675:18: warning: 'BC_STATUS DtsCopy420ToYV12(uint8_t*, uint8_t*, const uint8_t*, const uint8_t*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t)' defined but not used [-Wunused-function]
    static BC_STATUS DtsCopy420ToYV12(uint8_t *dstY, uint8_t *dstUV, const uint8_t *srcY, const uint8_t *srcUV, uint32_t srcWidth, uint32_t dstWidth, uint32_t height, uint32_t strideY, uint32_t strideUV)
    ^
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_fwcmds.o libcrystalhd_fwcmds.cpp
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_priv.o libcrystalhd_priv.cpp
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_fwdiag_if.o libcrystalhd_fwdiag_if.cpp
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_fwload_if.o libcrystalhd_fwload_if.cpp
    g++ -march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -c -o libcrystalhd_parser.o libcrystalhd_parser.cpp
    libcrystalhd_parser.cpp: In function 'BC_STATUS DtsAddH264SCode(HANDLE, uint8_t**, uint32_t*, uint64_t*)':
    libcrystalhd_parser.cpp:542:11: warning: variable 'pNALU' set but not used [-Wunused-but-set-variable]
    uint8_t *pNALU = NULL;
    ^
    libcrystalhd_parser.cpp:543:11: warning: variable 'ulNalSize' set but not used [-Wunused-but-set-variable]
    uint32_t ulNalSize = 0;
    ^
    g++ -D__LINUX_USER__ -I./ -I../../include -I../../include/link -O2 -Wall -fPIC -shared -fstrict-aliasing -msse2 -Wl,-soname,libcrystalhd.so.3 -pthread -o libcrystalhd.so.3.6 libcrystalhd_if.o libcrystalhd_int_if.o libcrystalhd_fwcmds.o libcrystalhd_priv.o libcrystalhd_fwdiag_if.o libcrystalhd_fwload_if.o libcrystalhd_parser.o
    ln -sf libcrystalhd.so.3.6 libcrystalhd.so
    ln -sf libcrystalhd.so.3.6 libcrystalhd.so.3
    mkdir -p /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/lib
    mkdir -p /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/lib/firmware
    mkdir -p /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd
    cp libcrystalhd_if.h /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/
    chmod 0644 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/libcrystalhd_if.h
    cp ../../include/bc_dts_defs.h /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/
    chmod 0644 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/bc_dts_defs.h
    cp ../../include/bc_dts_types.h /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/
    chmod 0644 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/bc_dts_types.h
    cp ../../include/libcrystalhd_version.h /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/
    chmod 0644 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/include/libcrystalhd/libcrystalhd_version.h
    cp ../../firmware/fwbin/70012/bcm70012fw.bin /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/lib/firmware/
    chmod 0644 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/lib/firmware/bcm70012fw.bin
    cp ../../firmware/fwbin/70015/bcm70015fw.bin /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/lib/firmware/
    chmod 0644 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/lib/firmware/bcm70015fw.bin
    install -m 755 libcrystalhd.so.3.6 /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/lib
    (cd /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/lib; ln -sf libcrystalhd.so.3.6 libcrystalhd.so)
    (cd /tmp/yaourt-tmp-eugen/aur-libcrystalhd-git/pkg/libcrystalhd-git/usr/lib; ln -sf libcrystalhd.so.3.6 libcrystalhd.so.3)
    ==> Tidying install...
    -> Purging unwanted files...
    -> Removing libtool files...
    -> Removing static library files...
    -> Compressing man and info pages...
    -> Stripping unneeded symbols from binaries and libraries...
    ==> Creating package "libcrystalhd-git"...
    -> Generating .PKGINFO file...
    -> Generating .MTREE file...
    -> Compressing package...
    ==> Leaving fakeroot environment.
    ==> Finished making: libcrystalhd-git 20130503-2 (Sun Feb 1 14:04:45 UTC 2015)
    ==> Continue installing libcrystalhd-git ? [Y/n]
    ==> [v]iew package contents [c]heck package with namcap
    ==> ---------------------------------------------------
    ==> y
    loading packages...
    resolving dependencies...
    looking for conflicting packages...
    Packages (1) libcrystalhd-git-20130503-2
    Total Installed Size: 3.67 MiB
    :: Proceed with installation? [Y/n] y
    (1/1) checking keys in keyring [###########################################] 100%
    (1/1) checking package integrity [###########################################] 100%
    (1/1) loading package files [###########################################] 100%
    (1/1) checking for file conflicts [###########################################] 100%
    (1/1) checking available disk space [###########################################] 100%
    (1/1) installing libcrystalhd-git [###########################################] 100%
    ==> Making package: crystalhd-git 20130503-1 (Sun Feb 1 14:04:59 UTC 2015)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
    -> Found devinitFix.patch
    ==> Validating source files with md5sums...
    devinitFix.patch ... Passed
    ==> Extracting sources...
    ==> Entering fakeroot environment...
    ==> Starting package()...
    ==> Connecting to the GIT server....
    Cloning into 'crystalhd'...
    remote: Counting objects: 2006, done.
    remote: Compressing objects: 100% (385/385), done.
    remote: Total 2006 (delta 1351), reused 2006 (delta 1351)
    Receiving objects: 100% (2006/2006), 3.55 MiB | 616.00 KiB/s, done.
    Resolving deltas: 100% (1351/1351), done.
    Checking connectivity... done.
    patching file driver/linux/crystalhd_cmds.c
    patching file driver/linux/crystalhd_lnx.c
    perl: warning: Setting locale failed.
    perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
    perl: warning: Falling back to the standard locale ("C").
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal --force
    perl: warning: Setting locale failed.
    perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
    perl: warning: Falling back to the standard locale ("C").
    perl: warning: Setting locale failed.
    perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
    perl: warning: Falling back to the standard locale ("C").
    autoreconf: configure.ac: tracing
    autoreconf: configure.ac: not using Libtool
    autoreconf: running: /usr/bin/autoconf --force
    autoreconf: configure.ac: not using Autoheader
    autoreconf: configure.ac: not using Automake
    autoreconf: Leaving directory `.'
    checking for ld... ld
    configure: creating ./config.status
    config.status: creating ./Makefile
    make -C /lib/modules/3.18.4-1-ARCH/build SUBDIRS=/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux modules
    make[1]: Entering directory '/usr/lib/modules/3.18.4-1-ARCH/build'
    test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
    echo >&2; \
    echo >&2 " ERROR: Kernel configuration is invalid."; \
    echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
    echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
    echo >&2 ; \
    /bin/false)
    mkdir -p /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_versions ; rm -f /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_versions/*
    make -f ./scripts/Makefile.build obj=/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_lnx.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_lnx)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_lnx.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_lnx.c
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_lnx.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_lnx.o"; fi; fi;
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_misc.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_misc)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_misc.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_misc.c
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_misc.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_misc.o"; fi; fi;
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_cmds.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_cmds)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_cmds.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_cmds.c
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_cmds.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_cmds.o"; fi; fi;
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_hw.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_hw)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_hw.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_hw.c
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_hw.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_hw.o"; fi; fi;
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_linkfuncs.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_linkfuncs)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_linkfuncs.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_linkfuncs.c
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_linkfuncs.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_linkfuncs.o"; fi; fi;
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_fleafuncs.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_fleafuncs)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_fleafuncs.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.c
    /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.c: In function 'crystalhd_flea_set_power_state':
    /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.c:619:14: warning: 'regVal' may be used uninitialized in this function [-Wmaybe-uninitialized]
    if(!(regVal & BCHP_DDR23_CTL_REGS_0_CTL_STATUS_idle_MASK))
    ^
    /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.c:566:11: note: 'regVal' was declared here
    uint32_t regVal;
    ^
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.o"; fi; fi;
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd_flea_ddr.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd_flea_ddr)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_crystalhd_flea_ddr.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_flea_ddr.c
    if [ "-pg" = "-pg" ]; then if [ /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_flea_ddr.o != "scripts/mod/empty.o" ]; then ./scripts/recordmcount "/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_flea_ddr.o"; fi; fi;
    ld -m elf_i386 -r -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_lnx.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_misc.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_cmds.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_hw.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_linkfuncs.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_fleafuncs.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd_flea_ddr.o ; scripts/mod/modpost /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o
    WARNING: /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o(.init.text+0x292): Section mismatch in reference from the function chd_dec_pci_probe() to the function .exit.text:chd_pci_release_mem()
    The function __init chd_dec_pci_probe() references
    a function __exit chd_pci_release_mem().
    This is often seen when error handling in the init function
    uses functionality in the exit path.
    The fix is often to remove the __exit annotation of
    chd_pci_release_mem() so it may be used outside an exit section.
    WARNING: /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o(.init.text+0x47a): Section mismatch in reference from the function chd_dec_pci_probe() to the function .exit.text:chd_dec_release_chdev()
    The function __init chd_dec_pci_probe() references
    a function __exit chd_dec_release_chdev().
    This is often seen when error handling in the init function
    uses functionality in the exit path.
    The fix is often to remove the __exit annotation of
    chd_dec_release_chdev() so it may be used outside an exit section.
    WARNING: /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o(.data+0x10): Section mismatch in reference from the variable bc_chd_driver to the function .init.text:chd_dec_pci_probe()
    The variable bc_chd_driver references
    the function __init chd_dec_pci_probe()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
    (cat /dev/null; echo kernel//tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.ko;) > /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/modules.order
    make -f ./scripts/Makefile.modpost
    find /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -m -i ./Module.symvers -I /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/Module.symvers -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/Module.symvers -w -s -T -
    WARNING: /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o(.init.text+0x292): Section mismatch in reference from the function chd_dec_pci_probe() to the function .exit.text:chd_pci_release_mem()
    The function __init chd_dec_pci_probe() references
    a function __exit chd_pci_release_mem().
    This is often seen when error handling in the init function
    uses functionality in the exit path.
    The fix is often to remove the __exit annotation of
    chd_pci_release_mem() so it may be used outside an exit section.
    WARNING: /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o(.init.text+0x47a): Section mismatch in reference from the function chd_dec_pci_probe() to the function .exit.text:chd_dec_release_chdev()
    The function __init chd_dec_pci_probe() references
    a function __exit chd_dec_release_chdev().
    This is often seen when error handling in the init function
    uses functionality in the exit path.
    The fix is often to remove the __exit annotation of
    chd_dec_release_chdev() so it may be used outside an exit section.
    WARNING: /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o(.data+0x10): Section mismatch in reference from the variable bc_chd_driver to the function .init.text:chd_dec_pci_probe()
    The variable bc_chd_driver references
    the function __init chd_dec_pci_probe()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
    gcc -Wp,-MD,/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/.crystalhd.mod.o.d -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.9.2/include -I./arch/x86/include -Iarch/x86/include/generated -Iinclude -I./arch/x86/include/uapi -Iarch/x86/include/generated/uapi -I./include/uapi -Iinclude/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -maccumulate-outgoing-args -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -pg -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -D__KERNEL__ -DMODULE -I/lib/modules/3.18.4-1-ARCH/build/include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/link -I/tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/../../include/flea -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(crystalhd.mod)" -D"KBUILD_MODNAME=KBUILD_STR(crystalhd)" -DMODULE -c -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.mod.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.mod.c
    ld -r -m elf_i386 -T ./scripts/module-common.lds --build-id -o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.ko /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.o /tmp/yaourt-tmp-eugen/aur-crystalhd-git/src/crystalhd/driver/linux/crystalhd.mod.o
    make[1]: Leaving directory '/usr/lib/modules/3.18.4-1-ARCH/build'
    ==> Tidying install...
    -> Purging unwanted files...
    -> Removing libtool files...
    -> Removing static library files...
    -> Compressing man and info pages...
    -> Stripping unneeded symbols from binaries and libraries...
    ==> Creating package "crystalhd-git"...
    -> Generating .PKGINFO file...
    -> Adding install file...
    -> Generating .MTREE file...
    -> Compressing package...
    ==> Leaving fakeroot environment.
    ==> Finished making: crystalhd-git 20130503-1 (Sun Feb 1 14:05:44 UTC 2015)
    ==> Continue installing crystalhd-git ? [Y/n]
    ==> [v]iew package contents [c]heck package with namcap
    ==> ---------------------------------------------------
    ==> y
    loading packages...
    resolving dependencies...
    looking for conflicting packages...
    Packages (1) crystalhd-git-20130503-1
    Total Installed Size: 0.10 MiB
    :: Proceed with installation? [Y/n] y
    (1/1) checking keys in keyring [###########################################] 100%
    (1/1) checking package integrity [###########################################] 100%
    (1/1) loading package files [###########################################] 100%
    (1/1) checking for file conflicts [###########################################] 100%
    error: failed to commit transaction (conflicting files)
    crystalhd-git: /lib exists in filesystem
    Errors occurred, no packages were upgraded.
    ==> WARNING: Your packages are saved in /tmp/yaourt-tmp-eugen

  • [Solved] Cant install\compile certain AUR packages

    This is a brand new 32-bit build on my laptop. Everything is working great, but for some reason I cant get some AUR packages. I have Yaourt, pacman-color, and slock installed from AUR and working fine, but I cant get mpd-git or mplayer-svn installed? I have gcc, python installed and tried both root and user accounts. Not sure what is missing. This is a new dual core laptop so not sure why I am getting the CPU errors below?
    This is for mplayer-svn:
    ==> SVN checkout done or server timeout, updating build dir
    ==> Applying disabled-features patch...
    /var/abs/local/yaourtbuild/mplayer-svn/./PKGBUILD: line 56: patch: command not found
    Detected operating system: Linux
    Detected host architecture: i386
    Checking for host cc ... gcc
    Checking for cross compilation ... yes
    ./configure: line 1605: gcc: command not found
    ./configure: line 1610: gcc: command not found
    Checking for CPU vendor ... GenuineIntel (6:15:11)
    Checking for CPU type ... Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
    Checking for kernel support of mmx ... failed
    It seems that your kernel does not correctly support mmx.
    To use mmx extensions in MPlayer, you have to upgrade/recompile your kernel!
    Checking for kernel support of mmxext ... failed
    It seems that your kernel does not correctly support mmxext.
    To use mmxext extensions in MPlayer, you have to upgrade/recompile your kernel!
    Checking for kernel support of sse ... failed
    It seems that your kernel does not correctly support sse.
    To use sse extensions in MPlayer, you have to upgrade/recompile your kernel!
    Checking for kernel support of sse2 ... failed
    It seems that your kernel does not correctly support sse2.
    To use sse2 extensions in MPlayer, you have to upgrade/recompile your kernel!
    Checking for kernel support of ssse3 ... failed
    It seems that your kernel does not correctly support ssse3.
    To use ssse3 extensions in MPlayer, you have to upgrade/recompile your kernel!
    Checking for kernel support of cmov ... failed
    It seems that your kernel does not correctly support cmov.
    To use cmov extensions in MPlayer, you have to upgrade/recompile your kernel!
    Checking for mtrr support ... yes
    Checking for GCC & CPU optimization abilities ... CPU optimization disabled. CPU not recognized or your compiler is too old.
    error
    Checking for byte order ... failed to autodetect byte order, defaulting to little-endian
    Checking for extern symbol prefix ...
    Error: Symbol mangling check failed.
    Check "configure.log" if you do not understand why it failed.
    ==> ERROR: Build Failed.
    Aborting...
    Error: Makepkg was unable to build mplayer-svn package.
    This is for mpd-git:
    Looks like I need to set the path for gcc in here, but not sure how?
    configure: error: in `/tmp/yaourt-tmp-banshee/aur-mpd-git/mpd-git/src/mpd-build':
    configure: error: no acceptable C compiler found in $PATH
    See `config.log' for more details.
    make: *** No targets specified and no makefile found. Stop.
    ==> ERROR: Build Failed.
    Aborting...
    Error: Makepkg was unable to build mpd-git package.
    Last edited by banshee28 (2009-09-03 04:15:43)

    Allan wrote:
    You need to install the base-devel group (pacman -S base-devel).
    This is a bit weird though....
    Checking for cross compilation ... yes
    hopefully it goes away!
    Ah, I see all the apps in this group now! Not sure how I missed this? Was this in the wiki somwhere??
    Anyways,its getting further along now ....

  • Recompile a compiled kernel with ABS

    I had been compiling my own kernel with the traditional method for ages. Sometimes ago, I decided to try the ABS method, modifying properly a PKGBUILD for the kernels provided by arch. I now appreciate the provided automation and the ease in combining arch patches with the patches I need or like.
    After a deep personalization of the PKGBUILD, there is now only a feature of the old method I continue to miss. It is when I decide to change something in the configuration of a kernel I have already compiled, and I want to recompile it. If I do so with the traditional method, the previous compilation is somewaht "cached"  and only what is actually different is compiled again: thus, the recompilation time is apparently shorter than the time needed by the first compilation.
    I am not able to do the same with the ABS method. It seems that the directory with the kernel source into src/ is rewritten every time (i.e., the kernel package is untarred also when is already there). Moreover, I also need to delete completely src/ or part of his content, otherwise makepkg complains about patches already being there. Is there a way to avoid this behaviour, so to shorten the recompilation time?

    Yes, ccache drastically reduces recompilation times (for my kernel, from 30 min to 5 min). However, when you change just a couple of peripheric things in config, 5 minutes are too much. Anyway, thanks a lot.

  • 2.4.31 kernel source / .config

    Hi,
    Please forgive me if this is posted somewhere.
    I need to build that pesky new e1000 module from Intel and I can't find the
    2.4.31 .config for zfd 4.0.1 ir7 anywhere.
    Does anyone know where I can find it? I dont have a lot of time to spend
    on this, but I also don't want to replace this kernel with my own.
    Thanks,
    -Brian

    On Tue, 18 Jul 2006 18:19:47 GMT, [email protected] wrote:
    > Also, Do you know who has built the e1000 module for 2.4.31 or are you
    > assuming that someone has done it by now?
    I read it in another thread IIRC.. you don't really need the config files..
    From: [email protected]
    Ok, so I have gotten my boot disk to work following the process below,
    which is kind of a sampling of other peoples stuff out there, which I hope
    to give credit for when I'm all done here.....
    I have not tested the PXE boot, only the bootcd.iso
    Download the 2.4.22 Linux Kernel
    wget http://www.kernel.org/pub/linux/kern...2.4.22.tar.bz2
    unpack the Source
    tar xvfj linux-2.4.22.tar.bz2
    enter the directory created
    cd linux-2.4.22
    Download the 2.4.22-ac4 patch.
    wget http://www.kernel.org/pub/linux/kern...le/alan/linux-
    2.4/2.4.22/patch-2.4.22-ac4.bz2
    Uncompress the patch
    bunzip2 patch-2.4.22-ac4.bz2
    Download the Novell ZENworks Kernel Patch
    wget http://www.novell.com/coolsolutions/...dimgkrnlpatch-
    2.4.18-4.0-p1.tgz
    Unpack the file
    tar xvfz zfdimgkrnlpatch-2.4.18-4.0-p1.tgz
    Change the Kernel version
    sed 's/2.4.18/2.4.22/' <zenpatch-2.4.18-4.0-p1.patch > zenpatch-
    2.4.22.patch
    Apply the Patches
    patch -p0 < zenpatch-2.4.22.patch
    patch -p1 < patch-2.4.22-ac4
    Configure the Kernel
    make menuconfig
    I went in and did the following
    Processor Type and Features ->
    No to Math Emulation
    SCSI Support ->
    SCSI low-level drivers->
    Yes to SATA Support
    USB Support ->
    ---USB Human Interface Devices (HID)
    Yes to USB Human Interface Device (full HID) support
    Yes to HID input Layer Support (NEW)
    Exit and Save the configuration
    Run the following
    make clean ***Note Novell Recommends this***
    make dep
    make bzImage ***Note Case does matter on the I***
    make modules
    make modules_install
    Get the ZENDist package
    wget http://www.novell.com/coolsolutions/...ist-4.0-p1.tgz
    tar zxvf zendist-4.0-p1.tgz
    cd /usr/src/build
    ../buildImages.s
    Copy the 2.4.22 kernel and modules over to our build area....
    cp /usr/src/linux-2.4.22/arch/i386/boot/bzImage bootdisk/firstdisk/kernel
    cp -r /lib/modules/2.4.22-ac4 bootdisk/thirddisk/lib/modules
    Remove old stuff
    rm -rf bootdisk/thirddisk/lib/modules/2.4.18
    ../buildImages.s
    Copy the BroadCom Driver from the Forge site into
    the /build/bootdisk/thirddisk/lib/modules/2.4.22-ac4/kernel/drivers/net
    directory and then redo the
    ../buildImages.s
    This will add-in the BroadCom drivers for the GX280 computer.
    ***NOTE*** I had to run the GX280 SATA drive in Compatability mode in the
    BIOS, otherwise the drive did not show under the img dump ******
    I should also note here that the hdparm command does nto work with this.
    Imaging my Windows XP image took about 6 minutes though.
    I also did the 2.4.22 kernel because there is a compiled BroadCom driver
    on the Forge site.
    And from Roy Erez...
    So... SATA isn't supported by this trick on the Gx280 machines.
    The only way I could get SATA to work in "normal" (not "compatibility")
    mode in these machines was using the 2.4.28 kernel.
    As of kernel 2.4.27 SATA is merged into the kernel source tree so you
    don't need Alan Cox's patch to enable SATA.
    This only patches I applied to my kernel were the zen patch and a
    broadcom 57xx patch (had to change the version string in this one).
    Although ICH6 isn't yet fully supported it does work in a "Looks like
    ICH5" mode and I'm able to successfully take and put an image in "normal
    " sata mode.
    As to USB keyboard support - after trying several combinations I think
    it's better to compile HID support using HIDBP rather than the full HID
    layer - the only HID feature needed in the imaging environment is
    keyboard support and HIDBP handles it well enough.
    If you have already compiled drivers or have linux.2 please put them on
    http://forge.novell.com/modules/xfmo...ect/?zfdimgdrv
    Live BootCd and USB Disk from Mike Charles
    http://forge.novell.com/modules/xfmod/project/?imagingx
    eZie http://forge.novell.com/modules/xfmod/project/?ezie
    Marcus Breiden
    If you are asked to email me information please change -- to - in my e-mail
    address.
    The content of this mail is my private and personal opinion.
    http://www.edu-magic.net

  • Output Column does not have a matching source column in the schema

    Hi Everyone,
                           Can you please help me in this. Already an ETL is loading the data from AS400 TO SQL server. I need to add a new
    column. In the Source (OLEDB source) am pulling the data from AS400 using ADO.NET connection manager.
    New column is added in AS400. To bring the new column from AS400, I added column name in the query in OLEDB source. Test connection is good. In the Source editor, when I click on preview it gives me the values of the new column and if I click on build
    new query also it gives me values for the new column.
    After mapping the columns and refreshing the data in OLEDB destination, I don't see any errors or warnings.
    But when I start executing the package it throws me the below error.
     Error: The output column  (4659) does not have a matching source column in the schema.
    [SSIS.Pipeline] Error: "component  (2861)" failed validation and returned validation status "VS_NEEDSNEWMETADATA".
    I need suggestion on this.
    Thanks
    Veeresh

    Hi Veeresh,
    As per my understanding, this error happens when the OLE DB Source component cannot find the corresponding source column in the database table. Possible reason is the the column name in the external database table has changed or
    the column has been removed.
    To verify this issue, please go to the Advanced Editor for OLE DB Source Input and Output Properties tab to see the External columns and Output columns. To fix it, please refresh the data or recreate the Source.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Make dep never works in kernel source

    OK So.. i'm building the latest drm code from git to get Dave Airlie's source code for the R300 since he just dropped 5,000 line of source code out of the R300 tree using the Linus kernel git tree (i love unstable code) and in the DRI building guide, it says to run make dep against the kernel.
    So I go into the root of the kernel source in /usr/src (i know you should build kernels in the home directory) and as root I type in make dep and it says its uncessary at this time. Well... when would be a good time to run make dep? (lol!!)
    http://dri.freedesktop.org/wiki/Buildin … 5ae2efe516
    ^ Unless make dep is actually unecessary. If it is uncessary, i'll contact TimoJyrinki and tell him about it.
    Thank you for all your help.
    P.S. Please don't drop i686 support for 2 or 3 months because I'm getting an AMD64 processor really soon! ahaha.

    I run make && make modules_install (w/ clean when recompiling) as thats how I did it back when i used gentoo.
    I have my kernel compiled and installed and everything. so thats not an issue at all. (And only 1.1 MB)
    So if make dep is depreciated, whats the new command for make dep? I just want DRM working with airlied's new code for the r300 with the new kernel.
    Here is where I am right now:
    Mesa from git (r300) with heavy optimization flags (including -march=athlon=xp -fomit-frame-pointer- -s -O3)
    Custom kernel with GZIP compression of 1.1 MB installed, up and running
    To do:
    DRM via git running on custom kernel
    I recommend not testing what I am trying to do on a production environment.
    Thanks.
    P.S. I edited the CFLAGS and CXXFLAGS for the drm code as well and made it very optimized for my system.
    Last edited by Neo_The_User (2009-04-01 22:01:44)

  • Compile multiple source files

    sorry, this is maybe a newbie question.
    but iI have a problem compiling an application that use multiple sources files
    for exemple
    the class A is in the file 1
    the class B is in the file 2
    class A uses an instance of the class B
    class B uses an instance of the class A
    so i'm unable to compile these files coz each one tells me he doesn't know about the other
    Is there a way to define prototypes of class or fonctions before their use like in C/C++?
    Or is there another way i didn"t pay attention
    thanks all

    This is a minimal explanation of packages. For a full explanation of packages and how to compile and run Java programs, see this page:
    http://java.sun.com/j2se/1.4.2/docs/tooldocs/tools.html
    and read the Setting the Classpath and the How Classes are Found topics.
    Assume that your programs are part of a package named myapp, which is specified by this first line in each source file:
    package myapp;
    Also assume that directory (C:\java\work\) is listed in the CLASSPATH list of directories.
    Also assume that all your source files reside in this directory structure: C:\java\work\myapp\
    Then a statement to compile your source file named aProgram.java is:
    C:\java\work\>javac myapp\aProgram.java
    And a statement to run the program is:
    java myapp.aProgram
    (This can be issued from any directory, as Java will search for the program, starting the search from the classpath directories.)
    Explanation:
    Compiling
    A class is in a package if there is a package statement at the top of the class.
    The source file needs to be in a subdirectory structure. The subdirectory structure must match the package statement. The top subdirectory must be in the classpath directory.
    So, you generate a directory structure C:\java\work\myapp\ which is the [classpath directory + the package subdirectory structure], and place aProgram.java in it.
    Then from the classpath directory (C:\java\work\) use the command: javac myapp\aProgram.java
    Running
    Compiling creates a file, aProgram.class in the myapp directory.
    (The following is where people tend to get lost.)
    The correct name now, as far as java is concerned, is the combination of package name and class name: myapp.aProgram (note I omit the .class) If you don't use this name, java will complain that it can't find the class.
    To run a class that's NOT part of a package, you use the command: java SomeFile (assuming that SomeFile.class is in a directory that's listed in the classpath)
    To run a class that IS part of a package, you use the command java myapp.aProgram (Note that this is analogous to the command for a class not in a package, you just use the fully qualified name)

  • StackOverflowException compiling 8000 source file

    I am trying to compile a source file with ~8000 lines. It has many (hundreds) of static members (instances of that class), and methods containing conditional statements to take a string and return the instance of that name. This is generated code, so I do not think I can change it.
    Every time I try to compile it with Maven (Sun JDK 1.4.2_05) I get a java.lang.StackOverflowException. I have tried giving Maven more stack memory via the -Xss option (as much as 10m per thread), but that didn't help at all.
    I commented out 90% of the code and it works fine, so I know it is the size that is the problem.
    Has anyone had to deal with something like this before? If so, how did you fix it?

    Thank you to everyone who has replied. After some experimentation I discovered that the problem is not the 800+ static objects being created - it was the 1000's of lines of nested conditional statements. The generator has been modified to make if, if, if... instead of if, else-if, else-if, ... and all is well. :)
    I do not believe any sort of hard limit was reached, b/c Eclipse had no problem with the file. Also, one of our projects has a source file with 12k lines, and it works fine (though it has a different structure).
    I find it interesting that people are being so critical about the generator, especially since this is only one small piece of its modelling. The generator does far more than just create the key types and values.
    Furthermore, I don't understand the criticism of the code as-is. No, it's not something I'd write myself, nor would I wish to maintain such code - but no one has to! That's what the generator is for. If I want to add or delete a key type/value, I do so in the generator, and then regenerate the code.
    I also don't understand why anyone thinks this code is not object-oriented. Perhaps I just didn't explain it well. All classes representing key types extend AbstractDiscreteValue, so there's inheritance. The reason why all the values exist as static (and final) instances is b/c we never need more than one instance of each value, the values are known at generation time, and all instances are immutable.
    How would any of you construct such a class? Keep in mind that maintenance is not an issue, and most key types (probably 95% or more) have fewer than a dozen values.
    Anyway, thanks again for the help.

Maybe you are looking for