Find the answer to your Linux question:
Results 1 to 3 of 3
I'm trying to compile a kernel, and I'm getting an error message I can't make sense of. My kernel source is in /usr/src/linux, and I ran "make gconfig", selected what ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined! computer_freak_8's Avatar
    Join Date
    Sep 2008
    Location
    Des Moines, Iowa, USA
    Posts
    55

    Unhappy [SOLVED] Error about a file not existing in exported headers?


    I'm trying to compile a kernel, and I'm getting an error message I can't make sense of.

    My kernel source is in /usr/src/linux, and I ran "make gconfig", selected what I wanted, saved it, and then closed the window.
    Next I ran "make", which ran for a quite a while, scrolling loads of stuff past the screen.

    It then spit out an error. So, I tried to run "make" again. I have attached a text file with the last few lines of what it said (most of what I had on my terminal) - including the second "make" command.

    Here's the thing I don't get: The file does exist. But apparently it can't find it. I "cd" to "/usr/src/linux/include/asm", and then "ls". One of the results is "system.h".

    Any ideas?
    Attached Files Attached Files

  2. #2
    Just Joined! computer_freak_8's Avatar
    Join Date
    Sep 2008
    Location
    Des Moines, Iowa, USA
    Posts
    55

    Exclamation Oh...

    Gee, the "make" program is about as smart as me. (Not very.)

    I misread the error I was getting; the file it referred to did not exist.

    However, I copied it from another location, (actually the whole directory containing it,) and ended up with another file-not-found -type error. So, I copied it again. And again. And once more, and... Where did it go? Oh, look! Here's the problem:

    Code:
    root@multiboot:/usr/src/linux# cp -rf /usr/src/linux/usr/include/asm-x86/* /usr/src/linux/usr/include/asm/
    root@multiboot:/usr/src/linux# make
      CHK     include/linux/version.h
      CHK     include/linux/utsrelease.h
      CALL    scripts/checksyscalls.sh
      CHK     include/linux/compile.h
      CHK     include/linux/version.h
    make[2]: `scripts/unifdef' is up to date.
      REMOVE  include/asm/acpi_32.h
      REMOVE  include/asm/acpi_64.h
      REMOVE  include/asm/acpi.h
      REMOVE  include/asm/agp.h
      REMOVE  include/asm/alternative_32.h
      REMOVE  include/asm/alternative_64.h
      REMOVE  include/asm/alternative-asm.h
      REMOVE  include/asm/alternative.h
      REMOVE  include/asm/apic_32.h
      REMOVE  include/asm/apic_64.h
      REMOVE  include/asm/apicdef_32.h
      REMOVE  include/asm/apicdef_64.h
      REMOVE  include/asm/apicdef.h
      REMOVE  include/asm/apic.h
      REMOVE  include/asm/arch_hooks.h
      REMOVE  include/asm/asm-offsets.h
      REMOVE  include/asm/atomic_32.h
      REMOVE  include/asm/atomic_64.h
      REMOVE  include/asm/atomic.h <-- Right here!
      REMOVE  include/asm/bitops_32.h
      REMOVE  include/asm/bitops_64.h
      REMOVE  include/asm/bitops.h
      REMOVE  include/asm/bug.h
      REMOVE  include/asm/bugs.h
      REMOVE  include/asm/cacheflush.h
      REMOVE  include/asm/cache.h
      REMOVE  include/asm/calgary.h
      REMOVE  include/asm/calling.h
      REMOVE  include/asm/checksum_32.h
      REMOVE  include/asm/checksum_64.h
      REMOVE  include/asm/checksum.h
      REMOVE  include/asm/cmpxchg_32.h
      REMOVE  include/asm/cmpxchg_64.h
      REMOVE  include/asm/cmpxchg.h
      REMOVE  include/asm/compat.h
      REMOVE  include/asm/cpufeature_32.h
      REMOVE  include/asm/cpufeature_64.h
      REMOVE  include/asm/cpufeature.h
      REMOVE  include/asm/cpu.h
      REMOVE  include/asm/cputime.h
      REMOVE  include/asm/current_32.h
      REMOVE  include/asm/current_64.h
      REMOVE  include/asm/current.h
      REMOVE  include/asm/delay.h
      REMOVE  include/asm/desc_32.h
      REMOVE  include/asm/desc_64.h
      REMOVE  include/asm/desc_defs.h
      REMOVE  include/asm/desc.h
      REMOVE  include/asm/device.h
      REMOVE  include/asm/div64.h
      REMOVE  include/asm/dma_32.h
      REMOVE  include/asm/dma_64.h
      REMOVE  include/asm/dma.h
      REMOVE  include/asm/dma-mapping_32.h
      REMOVE  include/asm/dma-mapping_64.h
      REMOVE  include/asm/dma-mapping.h
      REMOVE  include/asm/dmi.h
      REMOVE  include/asm/dwarf2_32.h
      REMOVE  include/asm/dwarf2_64.h
      REMOVE  include/asm/dwarf2.h
      REMOVE  include/asm/e820_32.h
      REMOVE  include/asm/e820_64.h
      REMOVE  include/asm/edac.h
      REMOVE  include/asm/emergency-restart.h
      REMOVE  include/asm/fb.h
      REMOVE  include/asm/fixmap_32.h
      REMOVE  include/asm/fixmap_64.h
      REMOVE  include/asm/fixmap.h
      REMOVE  include/asm/floppy.h
      REMOVE  include/asm/fpu32.h
      REMOVE  include/asm/frame.h
      REMOVE  include/asm/futex_32.h
      REMOVE  include/asm/futex_64.h
      REMOVE  include/asm/futex.h
      REMOVE  include/asm/gart.h
      REMOVE  include/asm/genapic_32.h
      REMOVE  include/asm/genapic_64.h
      REMOVE  include/asm/genapic.h
      REMOVE  include/asm/geode.h
      REMOVE  include/asm/hardirq_32.h
      REMOVE  include/asm/hardirq_64.h
      REMOVE  include/asm/hardirq.h
      REMOVE  include/asm/highmem.h
      REMOVE  include/asm/hpet.h
      REMOVE  include/asm/hw_irq_32.h
      REMOVE  include/asm/hw_irq_64.h
      REMOVE  include/asm/hw_irq.h
      REMOVE  include/asm/hypertransport.h
      REMOVE  include/asm/i387_32.h
      REMOVE  include/asm/i387_64.h
      REMOVE  include/asm/i387.h
      REMOVE  include/asm/i8253.h
      REMOVE  include/asm/i8259.h
      REMOVE  include/asm/ia32.h
      REMOVE  include/asm/ia32_unistd.h
      REMOVE  include/asm/ide.h
      REMOVE  include/asm/idle.h
      REMOVE  include/asm/intel_arch_perfmon.h
      REMOVE  include/asm/io_32.h
      REMOVE  include/asm/io_64.h
      REMOVE  include/asm/io_apic_32.h
      REMOVE  include/asm/io_apic_64.h
      REMOVE  include/asm/io_apic.h
      REMOVE  include/asm/io.h
      REMOVE  include/asm/iommu.h
      REMOVE  include/asm/ipi.h
      REMOVE  include/asm/irq_32.h
      REMOVE  include/asm/irq_64.h
      REMOVE  include/asm/irqflags_32.h
      REMOVE  include/asm/irqflags_64.h
      REMOVE  include/asm/irqflags.h
      REMOVE  include/asm/irq.h
      REMOVE  include/asm/irq_regs_32.h
      REMOVE  include/asm/irq_regs_64.h
      REMOVE  include/asm/irq_regs.h
      REMOVE  include/asm/k8.h
      REMOVE  include/asm/kdebug.h
      REMOVE  include/asm/kexec_32.h
      REMOVE  include/asm/kexec_64.h
      REMOVE  include/asm/kexec.h
      REMOVE  include/asm/kmap_types.h
      REMOVE  include/asm/kprobes_32.h
      REMOVE  include/asm/kprobes_64.h
      REMOVE  include/asm/kprobes.h
      REMOVE  include/asm/kvm_host.h
      REMOVE  include/asm/kvm_para.h
      REMOVE  include/asm/kvm_x86_emulate.h
      REMOVE  include/asm/lguest.h
      REMOVE  include/asm/lguest_hcall.h
      REMOVE  include/asm/linkage_32.h
      REMOVE  include/asm/linkage_64.h
      REMOVE  include/asm/linkage.h
      REMOVE  include/asm/local_32.h
      REMOVE  include/asm/local_64.h
      REMOVE  include/asm/local.h
      REMOVE  include/asm/mach_apic.h
      REMOVE  include/asm/math_emu.h
      REMOVE  include/asm/mc146818rtc_32.h
      REMOVE  include/asm/mc146818rtc_64.h
      REMOVE  include/asm/mc146818rtc.h
      REMOVE  include/asm/mca_dma.h
      REMOVE  include/asm/mca.h
      REMOVE  include/asm/mmsegment.h
      REMOVE  include/asm/mmu_context_32.h
      REMOVE  include/asm/mmu_context_64.h
      REMOVE  include/asm/mmu_context.h
      REMOVE  include/asm/mmu.h
      REMOVE  include/asm/mmx.h
      REMOVE  include/asm/mmzone_32.h
      REMOVE  include/asm/mmzone_64.h
      REMOVE  include/asm/mmzone.h
      REMOVE  include/asm/module_32.h
      REMOVE  include/asm/module_64.h
      REMOVE  include/asm/module.h
      REMOVE  include/asm/mpspec_32.h
      REMOVE  include/asm/mpspec_64.h
      REMOVE  include/asm/mpspec_def.h
      REMOVE  include/asm/mpspec.h
      REMOVE  include/asm/msidef.h
      REMOVE  include/asm/mutex_32.h
      REMOVE  include/asm/mutex_64.h
      REMOVE  include/asm/mutex.h
      REMOVE  include/asm/namei.h
      REMOVE  include/asm/nmi_32.h
      REMOVE  include/asm/nmi_64.h
      REMOVE  include/asm/nmi.h
      REMOVE  include/asm/nops_32.h
      REMOVE  include/asm/nops_64.h
      REMOVE  include/asm/nops.h
      REMOVE  include/asm/numa_32.h
      REMOVE  include/asm/numa_64.h
      REMOVE  include/asm/numa.h
      REMOVE  include/asm/numaq.h
      REMOVE  include/asm/paravirt.h
      REMOVE  include/asm/parport.h
      REMOVE  include/asm/pci_32.h
      REMOVE  include/asm/pci_64.h
      REMOVE  include/asm/pci-direct.h
      REMOVE  include/asm/pci.h
      REMOVE  include/asm/pda.h
      REMOVE  include/asm/percpu_32.h
      REMOVE  include/asm/percpu_64.h
      REMOVE  include/asm/percpu.h
      REMOVE  include/asm/pgalloc_32.h
      REMOVE  include/asm/pgalloc_64.h
      REMOVE  include/asm/pgalloc.h
      REMOVE  include/asm/pgtable-2level-defs.h
      REMOVE  include/asm/pgtable-2level.h
      REMOVE  include/asm/pgtable_32.h
      REMOVE  include/asm/pgtable-3level-defs.h
      REMOVE  include/asm/pgtable-3level.h
      REMOVE  include/asm/pgtable_64.h
      REMOVE  include/asm/pgtable.h
      REMOVE  include/asm/processor_32.h
      REMOVE  include/asm/processor_64.h
      REMOVE  include/asm/processor-cyrix.h
      REMOVE  include/asm/processor-flags.h
      REMOVE  include/asm/processor.h
      REMOVE  include/asm/proto.h
      REMOVE  include/asm/reboot_fixups.h
      REMOVE  include/asm/reboot.h
      REMOVE  include/asm/required-features.h
      REMOVE  include/asm/resume-trace_32.h
      REMOVE  include/asm/resume-trace_64.h
      REMOVE  include/asm/resume-trace.h
      REMOVE  include/asm/rio.h
      REMOVE  include/asm/rtc.h
      REMOVE  include/asm/rwlock.h
      REMOVE  include/asm/rwsem.h
      REMOVE  include/asm/scatterlist_32.h
      REMOVE  include/asm/scatterlist_64.h
      REMOVE  include/asm/scatterlist.h
      REMOVE  include/asm/seccomp_32.h
      REMOVE  include/asm/seccomp_64.h
      REMOVE  include/asm/seccomp.h
      REMOVE  include/asm/sections.h
      REMOVE  include/asm/segment_32.h
      REMOVE  include/asm/segment_64.h
      REMOVE  include/asm/segment.h
      REMOVE  include/asm/semaphore_32.h
      REMOVE  include/asm/semaphore_64.h
      REMOVE  include/asm/semaphore.h
      REMOVE  include/asm/serial.h
      REMOVE  include/asm/shmparam.h
      REMOVE  include/asm/smp_32.h
      REMOVE  include/asm/smp_64.h
      REMOVE  include/asm/smp.h
      REMOVE  include/asm/sparsemem_32.h
      REMOVE  include/asm/sparsemem_64.h
      REMOVE  include/asm/sparsemem.h
      REMOVE  include/asm/spinlock_32.h
      REMOVE  include/asm/spinlock_64.h
      REMOVE  include/asm/spinlock.h
      REMOVE  include/asm/spinlock_types.h
      REMOVE  include/asm/srat.h
      REMOVE  include/asm/stacktrace.h
      REMOVE  include/asm/string_32.h
      REMOVE  include/asm/string_64.h
      REMOVE  include/asm/string.h
      REMOVE  include/asm/suspend_32.h
      REMOVE  include/asm/suspend_64.h
      REMOVE  include/asm/suspend.h
      REMOVE  include/asm/swiotlb.h
      REMOVE  include/asm/sync_bitops.h
      REMOVE  include/asm/system_32.h
      REMOVE  include/asm/system_64.h
      REMOVE  include/asm/system.h
      REMOVE  include/asm/tce.h
      REMOVE  include/asm/therm_throt.h
      REMOVE  include/asm/thread_info_32.h
      REMOVE  include/asm/thread_info_64.h
      REMOVE  include/asm/thread_info.h
      REMOVE  include/asm/time.h
      REMOVE  include/asm/timer.h
      REMOVE  include/asm/timex.h
      REMOVE  include/asm/tlbflush_32.h
      REMOVE  include/asm/tlbflush_64.h
      REMOVE  include/asm/tlbflush.h
      REMOVE  include/asm/tlb.h
      REMOVE  include/asm/topology_32.h
      REMOVE  include/asm/topology_64.h
      REMOVE  include/asm/topology.h
      REMOVE  include/asm/tsc.h
      REMOVE  include/asm/uaccess_32.h
      REMOVE  include/asm/uaccess_64.h
      REMOVE  include/asm/uaccess.h
      REMOVE  include/asm/unaligned.h
      REMOVE  include/asm/unwind.h
      REMOVE  include/asm/user32.h
      REMOVE  include/asm/vga.h
      REMOVE  include/asm/vgtod.h
      REMOVE  include/asm/vic.h
      REMOVE  include/asm/vmi.h
      REMOVE  include/asm/vmi_time.h
      REMOVE  include/asm/voyager.h
      REMOVE  include/asm/xor_32.h
      REMOVE  include/asm/xor_64.h
      REMOVE  include/asm/xor.h
      CHECK   include/asm-generic/siginfo.h
      CHECK   include/asm-generic/resource.h
      CHECK   include/asm-generic/statfs.h
      CHECK   include/asm-generic/signal.h
      CHECK   include/asm-generic/poll.h
      CHECK   include/asm-generic/mman.h
      CHECK   include/asm-generic/ioctl.h
      CHECK   include/asm-generic/fcntl.h
      CHECK   include/asm-generic/errno.h
      CHECK   include/asm-generic/errno-base.h
      CHECK   include/asm/msgbuf.h
      CHECK   include/asm/mman.h
      CHECK   include/asm/mce.h
    /usr/src/linux/usr/include/asm/mce.h requires asm/atomic.h, which does not exist in exported headers
    make[3]: *** [/usr/src/linux/usr/include/asm/.check.mce.h] Error 1
    make[2]: *** [asm-x86] Error 2
    make[1]: *** [headers_check] Error 2
    make: *** [vmlinux] Error 2
    root@multiboot:/usr/src/linux#
    Will somebody please fill me in as to what's going on - or better yet, how to solve this problem?


    Thanks so much,
    computer_freak_8

  3. #3
    Just Joined! computer_freak_8's Avatar
    Join Date
    Sep 2008
    Location
    Des Moines, Iowa, USA
    Posts
    55

    Arrow That's why.

    Okay, it's official. I'm quite a bit less intelligent than the "make" program.

    It tried to warn me; I didn't notice.

    I ran "make menuconfig" this time, and when I was configuring all of the options I wanted, I noticed one that said something like "[ ] Optimize for space (Caution! May lead to broken compilers!)".
    I marked it to be compiled with this option, saved the ".config" file, and renamed it to ".config-savespace". Then, I change the option in question and saved the ".config" file, which I renamed to ".config-nosavespace". I extracted the kernel source package to two different folders. Then, I copied one of the renamed configuration files to one extracted directory, and the other to the other. I renamed both back to ".config", and ran a "make" command for each of the two extracted directories.

    The one that was optimized failed, but the one that wasn't optimized worked just fine.

    Conclusion: The "Optimize for space"-type option messed up the compiling process.


    Hope someone can benefit from this,
    computer_freak_8

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •