Portál AbcLinuxu, 30. dubna 2025 15:41

error: linux/config.h: není souborem ani adresářem

Tato hláška se objeví, když se pokusíte přeložit nějaký starší program. A z důvodu chyby se program nepřeloží.

Problém je ten, že soubor config.h byl jako zastaralý odstraněn z jádra (ve verzi 2.6.19-rc2). Chybu odstraníme tak, že místo něj použijeme soubor autoconf.h.

Jak to udělat? Jsou dvě možnosti:

Buďto vytvoříme symlink s názvem config.h, který bude ukazovat na soubor autoconf.h:

[root@soban include/linux]# ln -s autoconf.h config.h

nebo si vytvoříme vlastní config.h s následujícím obsahem:

#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H
/* This file is no longer in use and kept only for backward compatibility.
 * autoconf.h is now included via -imacros on the commandline
 */
#warning Including config.h is deprecated.
#include <linux/autoconf.h>
#if !defined (__KERNEL__) && !defined(__KERNGLUE__)
#error including kernel header in userspace; use the glibc headers instead!
#endif
#endif

A kde ten soubor má být? V adresáři se zdrojáky kernelu, většinou /usr/src/linux/include/linux/.

Dokument vytvořil: Petr Šobáň, 9.11.2006 22:42 | Poslední úprava: David Watzke, 31.1.2007 12:13 | Další přispěvatelé: Robert Krátký | Historie změn | Zobrazeno: 1291×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.