LINUX.ORG.RU

[c][gtk2]Нужна помощь

 


0

1

Я пишу программу вроде everest(ныне AIDA64), но под linux. Функционал пока скудный, но кое-что уже есть. Под ubuntu (вплоть до 11.04) все работает хорошо, но на fedora 15 во время выполнения функции cpu_information() возникают ошибки в разных частях libc(segfault`ы и просто зависания). Я потратил целый день, но так и не смог исправить ошибки.

git://github.com/inish777/HardInform.git - git-репозиторий.

Для работы нужны: cmake, libsensors4(в fedora - lm_sensors(-libs, -devel)), libnotify, ну и gtk+-2.0.

★★

а не легче sysfs парсить питоном?

dimon555 ★★★★★
()

>libsensors4

Владельцы thinkpad'ов смотрят с непониманием.

libnotify

Такие зависимости лучше делать опциональными.

fat_angel ★★★★★
()
Ответ на: комментарий от bk_

Ошибки каждый раз разные и в разных местах libc

netcat ★★
() автор топика

*посмотрел код*

Подумай-ка, что не стоит обращаться по нулевому указателю, если файл не найден:

if ((sysfs_max_cpu_freq_fp = fopen (sysfs_max_cpu_freq_path, "r")) == NULL)
         printf("%s %s\n", "Error opening", sysfs_max_cpu_freq_path);
while (fgets (line, MAXLEN, sysfs_max_cpu_freq_fp) != NULL)
...etc..
из той самой функции в cpu.c

Соответственно все, у кого не стоит модуль ядра acpi_cpufreq (и не имеют файла /sys/devices/system/cpu/cpu%d/cpufreq/cpuinfo_max_freq) получают сегфолт. Так что забей на эту строчку(Max Processor Speed in MHz), тем более, что этот модуль может часто давать явное 4.2.

И заодно жабер включи, я м.б в коммитеры попрошусь, если планируешь развивать проект.

Number_Seven
()

о - лучше туда хардварные тесты включи :) чтоб было также как на евересте
банчмарки всмысле

ae1234 ★★
()
Ответ на: комментарий от DELIRIUM

А, вон речь о чём..) Ну, API там не сильно изменилось, и всё deprecated ещё не скоро выкинут

yoghurt ★★★★★
()

В общем, сегодня с утречка поправил я код. Там ничего сложного, банальные выходы за пределы массива и недокуренные маны по sensors. И да, я не знаю, как оно могло работать на убунте.
Если надо, стучи за патчем.

Number_Seven
()
Ответ на: комментарий от Number_Seven

> Если надо, стучи за патчем.

Pull request, не?

pevzi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.