gcc не предлагает новое обновленное ядро

После того, как я вычислил свою Ubuntu 12.10 amd64 с ядром 3.5.X, он не заполняет некоторые очереди, и они исправили это в ядре 3.8.x, я обновил ядро ​​своей Ubuntu до v3.10-saucy с установкой deb файлы из основного архива Kernel и все прошло хорошо.

uname -r
3.10.0-031000-generic

И

sudo apt-get install linux-image-3.10.0-031000-generic 

говорит мне, что вещи уже установлены.

Но после того, как я пришел к компиляции своего кода на C с помощью gcc, он по-прежнему утверждает, что часть кода, которая должна работать на> 3.8.x, не объявлена!

Проблема в новом установленном заголовке ядра находится в

/usr/src/linux-headers-3.10.0-031000-generic/include/

, но /usr/include все еще содержит старые заголовки. Gcc все еще читает из / usr / include для заголовочных файлов. Затем я пришел с этим:

gcc --verbose -I /usr/src/linux-headers-3.10.0-031000-generic/include/ -o test.out test.c

In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:14:26: error: conflicting types for ‘fd_set’
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:220:0,
                 from /usr/include/net/if.h:26,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/select.h:76:5: note: previous declaration of ‘fd_set’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:15:25: error: conflicting types for ‘dev_t’
In file included from /usr/include/net/if.h:26:0,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/types.h:61:17: note: previous declaration of ‘dev_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:19:17: error: conflicting types for ‘nlink_t’
In file included from /usr/include/net/if.h:26:0,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/types.h:76:19: note: previous declaration of ‘nlink_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:25:26: error: conflicting types for ‘timer_t’
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:133:0,
                 from /usr/include/net/if.h:26,
                 from test.c:2:
/usr/include/time.h:104:19: note: previous declaration of ‘timer_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:45:26: error: conflicting types for ‘loff_t’
In file included from /usr/include/net/if.h:26:0,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/types.h:45:18: note: previous declaration of ‘loff_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:112:17: error: conflicting types for ‘u_int64_t’
In file included from /usr/include/net/if.h:26:0,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/types.h:204:1: note: previous declaration of ‘u_int64_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:113:17: error: conflicting types for ‘int64_t’
In file included from /usr/include/net/if.h:26:0,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/types.h:198:1: note: previous declaration of ‘int64_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:134:23: error: conflicting types for ‘blkcnt_t’
In file included from /usr/include/net/if.h:26:0,
                 from test.c:2:
/usr/include/x86_64-linux-gnu/sys/types.h:236:20: note: previous declaration of ‘blkcnt_t’ was here
In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/kernel.h:6:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/skbuff.h:17,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_ether.h:23,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:20,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from test.c:3:
/usr/src/linux-headers-3.10.0-031000-generic/include/linux/linkage.h:7:25: fatal error: asm/linkage.h: No such file or directory
compilation terminated.

Затем я сделал:

gcc -nostdinc -I /usr/src/linux-headers-3.10.0-031000-generic/include/

, чтобы не дать gcc доступ /usr/include. Но он снова заявляет, что некоторые включаемые файлы, такие как <net/if.h>, не найдены, и удаляя эти заголовочные файлы, он также дает некоторую другую не найденную ерунду внутри найденных включаемых файлов.

Если <net/if.h> относится к библиотеке c, это может быть правильным, потому что заставьте gcc не читать другие включаемые папки. Но он сообщает о некоторых не найденных внутри <linux/if_tun.h>

In file included from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/types.h:5:0,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/uapi/linux/if_tun.h:19,
                 from /usr/src/linux-headers-3.10.0-031000-generic/include/linux/if_tun.h:18,
                 from penvpn-multithread-udp.c:3:

Итак, как я могу преодолеть это?

2
задан 7 July 2013 в 16:04

0 ответов

Другие вопросы по тегам:

Похожие вопросы: