Перейти к содержанию

Как добавить заголовочныe файлы в Linux?


Paddington

Рекомендуемые сообщения

Файл нашелся в

/usr/src/linux-headers-3.2.0-4-686-pae/include/config/hid/pid.h
/usr/src/linux-headers-3.2.0-4-common/include/linux/pid.h

Запускаю gcc с опцией -l/usr/src/linux-headers-3.2.0-4-common/include/, выдает fatal error: linux/pid.h: Нет такого файла или каталога.

Ссылка на комментарий
Поделиться на другие сайты

Можно кусочек кода, который этот хедер включает? -I должно было помочь, странно.

Может, кавычки? Если там #include "linux/pid.h", попробуйте заменить на #include <linux/pid.h>. Особенность gcc, насколько помню.

Изменено пользователем vit9696
Ссылка на комментарий
Поделиться на другие сайты

Показать код:

 

/*sample.c*/
#include <linux/sched.h>
#include <linux/pid.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main (int argc, char ** argv)
{	
	return 0;
}
# Makefile

sample: sample.c
	gcc -o sample sample.c -l/usr/src/linux-headers-3.2.0-4-common/include/
clean:
	rm -f *.o sample

 

 

Ссылка на комментарий
Поделиться на другие сайты

Ясно. Попробуй заменить (хедеры инклудятся -I, либы -L, опечатка):

gcc -o sample sample.c -l/usr/src/linux-headers-3.2.0-4-common/include/

на 

gcc -I/usr/src/linux-headers-3.2.0-4-common/include/ sample.c -o sample
Изменено пользователем vit9696
Ссылка на комментарий
Поделиться на другие сайты

Теперь вот что пишет:

gcc -I/usr/src/linux-headers-3.2.0-4-common/include/ sample.c -o sample
In file included from /usr/src/linux-headers-3.2.0-4-common/include/linux/rcupdate.h:36:0,
                 from /usr/src/linux-headers-3.2.0-4-common/include/linux/pid.h:4,
                 from sample.c:2:
/usr/src/linux-headers-3.2.0-4-common/include/linux/types.h:13:2: warning: #warning "Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" [-Wcpp]
In file included from /usr/src/linux-headers-3.2.0-4-common/include/linux/rcupdate.h:37:0,
                 from /usr/src/linux-headers-3.2.0-4-common/include/linux/pid.h:4,
                 from sample.c:2:
/usr/src/linux-headers-3.2.0-4-common/include/linux/cache.h:5:23: fatal error: asm/cache.h: Нет такого файла или каталога
compilation terminated.
Ссылка на комментарий
Поделиться на другие сайты

Честно говоря, что-то очень специфичное вы пытаетесь сделать. Варнинг говорит, что хедеры ядра вы не так подключаете, так как я с ними никогда не работал, посоветовать правильный способ не могу. По поводу cache.h — что-то вроде:

/usr/src/linux-headers-3.2.0-4-common/arch/x86/include/

 надо в пути добавить.

Ссылка на комментарий
Поделиться на другие сайты

По поводу cache.h — что-то вроде:

gcc -I/usr/src/linux-headers-3.2.0-4-common/include -I/usr/src/linux-headers-3.2.0-4-common/arch/x86/include/ sample.c -o sample

Так?

Ссылка на комментарий
Поделиться на другие сайты

Ну, по аналогии с предыдущим файлом же. Ищешь в поиске, добавляешь. Хотя, имхо, странно всё это занятие ><

Ссылка на комментарий
Поделиться на другие сайты

Мне нужна функция find_task_by_vpid (/usr/src/linux-headers-3.2.0-4-common/include/linux/sched.h) или подобная.

gcc -I/usr/src/linux-headers-3.2.0-4-common/include/ sample.c -o sample

При таком запуске gcc почему-то ее не находит.

Я хотел использовать find_get_pid (/usr/src/linux-headers-3.2.0-4-common/include/linux/pid.h).

 

Ну, по аналогии с предыдущим файлом же.

Как несколько путей добавить? Как в моем сообщении или по-другому? :rolleyes:

 

А вообще это все нужно для того, чтобы вывести имена файлов, используемых процессом. Может, есть что-нибудь попроще?

Изменено пользователем Paddington
Ссылка на комментарий
Поделиться на другие сайты

1) В системе много sched.h, поэтому надо убедиться, что инклудится именно тот, что нужен. Стоит проверить PATH gcc

Согласно ссылке http://gcc.gnu.org/ml/gcc-help/2007-09/msg00205.html
Можно заюзать что-то вроде

`gcc -print-prog-name=cc1` -v

и посмотреть, инклудится ли тот sched.h, что содержит прототип для find_task_by_vpid.

2) Да, именно так пути добавляются. Честно говоря, это в справке написано :rolleyes: 

3) Ну а по проблеме: http://www.cyberciti.biz/faq/howto-linux-get-list-of-open-files/ не?

  • Согласен 1
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • armandu
      От armandu
      Вирус-шифровальщик зашифровал файлы и добавил к ним расширение ELONS. В приложении логи анализа системы и архив с зашифрованными файлами и требованием. Буду признателен за любую помощь!
      Зашифр. файлы.zip Addition.txt FRST.txt
    • LiSenya
      От LiSenya
      Вирус-шифровальщик зашифровал файлы и добавил к ним расширение ELONS.
      Прилагаю логи: txt файл, архив который зашифровали, зашифрованную JSON и оригинальную.
      Так же ссылка на вирустотл: VirusTotal - File - 35a2666e8267886eba8b049a6801a59b2db817e73a0956bda6257b90038ab411
      Будем очень признательны за любую помощь!
       
      Архив запаролен. Пароль в ЛС
       
      шифрФайлы.rar
    • leksstav
      От leksstav
      Всех приветствую !
       
      Подскажите пожалуйста, для KESL 12.0.0.6672 под Alt Linux x64 какой качать дистрибутив агента ?
      Запутался, ткните пожалуйста ссылкой на агента для Kesl 12.0.0.6672 под Alt Linux архитектура x64.
      Оказывается в новом дистрибутиве ФСТЭК версия теперь отсутствует дистрибутив агента.
    • zhenius123
      От zhenius123
      У нас ksc 15.1 стоит на debian. Пытаюсь состыковать его с Active Directory на Windows server 2019.
      Добавил  в "Обнаружение устройств и развертывание / Обнаружение устройств / Контроллеры доменов / Параметры опроса" ip адрес контроллера домена и учетную запись. 
      Жму "Начать опрос", пробегает зеленая полоска на 100 %, пропадает и никакой информации не появляется. 
      Нет никаких ошибок или сообщений. Как понять что происходит? Если ошибка, то где взять хотя бы информацию о том какая это ошибка?
      Контроллер домена пингуется и порты доступны.

    • leksstav
      От leksstav
      Всех приветствую !

      Подскажите куда копать в плане устранения ошибки.

      Имеем на борту:

      1) Alt-Linux-server-10.2
      2) mariadb-server-10.6.19

      При пустом файле my.cnf mysql запускается с таким логом:
       
      2024-10-28 12:22:16 0 [Note] Starting MariaDB 10.6.19-MariaDB-alt1 source revision server_uid Zv4jGM3BmfGDe4+uFbWEwRNyfm0= as process 4957 2024-10-28 12:22:16 0 [Note] Plugin 'InnoDB' is disabled. 2024-10-28 12:22:16 0 [Note] Plugin 'FEEDBACK' is disabled. 2024-10-28 12:22:16 0 [Note] Starting MariaDB 10.6.19-MariaDB-alt1 source revision server_uid Zv4jGM3BmfGDe4+uFbWEwRNyfm0= as process 5426 2024-10-28 12:22:16 0 [Note] InnoDB: Compressed tables use zlib 1.3.1 2024-10-28 12:22:16 0 [Note] InnoDB: Number of pools: 1 2024-10-28 12:22:16 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions 2024-10-28 12:22:16 0 [Note] InnoDB: Using Linux native AIO 2024-10-28 12:22:16 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728 2024-10-28 12:22:16 0 [Note] InnoDB: Completed initialization of buffer pool 2024-10-28 12:22:16 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=13571,13571 2024-10-28 12:22:16 0 [Note] InnoDB: To recover: 3 pages 2024-10-28 12:22:16 0 [Note] InnoDB: 128 rollback segments are active. 2024-10-28 12:22:16 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" 2024-10-28 12:22:16 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2024-10-28 12:22:16 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2024-10-28 12:22:16 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB. 2024-10-28 12:22:16 0 [Note] InnoDB: 10.6.19 started; log sequence number 33097; transaction id 4 2024-10-28 12:22:16 0 [Note] InnoDB: Loading buffer pool(s) from /db/ib_buffer_pool 2024-10-28 12:22:16 0 [Note] Plugin 'FEEDBACK' is disabled. 2024-10-28 12:22:16 0 [Note] InnoDB: Cannot open '/db/ib_buffer_pool' for reading: No such file or directory 2024-10-28 12:22:16 0 [Note] /usr/sbin/mysqld: ready for connections. Version: '10.6.19-MariaDB-alt1' socket: '/mysql.sock' port: 0 (ALT p10) 2024-10-28 12:23:29 0 [Note] /usr/sbin/mysqld (initiated by: unknown): Normal shutdown 2024-10-28 12:23:29 0 [Note] InnoDB: FTS optimize thread exiting. 2024-10-28 12:23:29 0 [Note] InnoDB: Starting shutdown... 2024-10-28 12:23:29 0 [Note] InnoDB: Dumping buffer pool(s) to /db/ib_buffer_pool 2024-10-28 12:23:29 0 [Note] InnoDB: Buffer pool(s) dump completed at 241028 12:23:29 2024-10-28 12:23:30 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" 2024-10-28 12:23:30 0 [Note] InnoDB: Shutdown completed; log sequence number 33109; transaction id 4 2024-10-28 12:23:30 0 [Note] /usr/sbin/mysqld: Shutdown complete  
      Со страницы https://support.kaspersky.ru/ksc-linux/15/210277 беру новое содержимое для my.cnf
       
      sort_buffer_size=10M join_buffer_size=100M join_buffer_space_limit=300M join_cache_level=8 tmp_table_size=512M max_heap_table_size=512M key_buffer_size=200M innodb_buffer_pool_size=100 innodb_thread_concurrency=20 innodb_flush_log_at_trx_commit=0 innodb_lock_wait_timeout=300 max_allowed_packet=32M max_connections=151 max_prepared_stmt_count=12800 table_open_cache=60000 table_open_cache_instances=4 table_definition_cache=60000 optimizer_prune_level=0 optimizer_search_depth=8  
      И далее получаю следующий лог mysql
       
      2024-10-28 12:23:30 0 [Note] Starting MariaDB 10.6.19-MariaDB-alt1 source revision server_uid Zv4jGM3BmfGDe4+uFbWEwRNyfm0= as process 5539 2024-10-28 12:23:30 0 [Note] Plugin 'InnoDB' is disabled. 2024-10-28 12:23:30 0 [Note] Plugin 'FEEDBACK' is disabled. 2024-10-28 12:23:30 0 [Warning] 'innodb-thread-concurrency' was removed. It does nothing now and exists only for compatibility with old my.cnf files. 2024-10-28 12:23:30 0 [Note] Starting MariaDB 10.6.19-MariaDB-alt1 source revision server_uid Zv4jGM3BmfGDe4+uFbWEwRNyfm0= as process 6008 2024-10-28 12:23:30 0 [Warning] option 'innodb-buffer-pool-size': unsigned value 512 adjusted to 2097152 2024-10-28 12:23:30 0 [ERROR] InnoDB: innodb_page_size=16384 requires innodb_buffer_pool_size >= 5MiB current 2MiB 2024-10-28 12:23:30 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2024-10-28 12:23:30 0 [Note] Plugin 'FEEDBACK' is disabled. 2024-10-28 12:23:30 0 [Warning] 'innodb-thread-concurrency' was removed. It does nothing now and exists only for compatibility with old my.cnf files. 2024-10-28 12:23:30 0 [ERROR] Unknown/unsupported storage engine: InnoDB 2024-10-28 12:23:30 0 [ERROR] Aborting  
×
×
  • Создать...