LINUX.ORG.RU

История изменений

Исправление micronekodesu, (текущая версия) :

Тебе нужны следующие пакеты (ну, с зависимостями само собой)

dh-autoreconf
libgtk-3-dev
liblightdm-gobject-dev

Запускаешь autogen.sh (выполняется без ошибок), потом configure (выполняется без ошибок), потом make, который свалится вот с этим

src/callbacks.c: In function ‘handle_password’:
src/callbacks.c:55:9: error: too many arguments to function ‘lightdm_greeter_respond’
         lightdm_greeter_respond(app->greeter, password_text, NULL);
         ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/lightdm-gobject-1/lightdm.h:14:0,
                 from src/callbacks.c:3:
/usr/include/lightdm-gobject-1/lightdm/greeter.h:136:6: note: declared here
 void lightdm_greeter_respond (LightDMGreeter *greeter, const gchar *response);
      ^~~~~~~~~~~~~~~~~~~~~~~
Makefile:559: recipe for target 'src/lightdm_mini_greeter-callbacks.o' failed
make[1]: *** [src/lightdm_mini_greeter-callbacks.o] Error 1
make[1]: Leaving directory '/home/username/lightdm-mini-greeter/lightdm-mini-greeter'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Про это есть issue. Соотстветственно открываешь ./src/callbacks.c, там ищешь по lightdm_greeter_respond (это 55 строка), меняешь строку на

#ifdef LIGHTDMGT1192
lightdm_greeter_respond(app->greeter, password_text, NULL);
#elseif 
lightdm_greeter_respond(app->greeter, password_text);
#endif

Запускаешь make опять, получаешь

src/callbacks.c: In function ‘handle_password’:
src/callbacks.c:53:22: error: unused variable ‘password_text’ [-Werror=unused-variable]
         const gchar *password_text =
                      ^~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:559: recipe for target 'src/lightdm_mini_greeter-callbacks.o' failed
make[1]: *** [src/lightdm_mini_greeter-callbacks.o] Error 1
make[1]: Leaving directory '/home/username/lightdm-mini-greeter/lightdm-mini-greeter'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Правишь Makefile - на 330 строке добавляешь -Wno-unused-variable чтоб получилось что-то типа

AM_CFLAGS = -g -Wall -Wno-unused-variable -O3 --std=c11 -Wextra -Werror --std=c11 -pedantic \

Ну и дальше прочие аргументы, я тут только одну строку привел.

Запускаешь make опять, получаешь

src/utils.c: In function ‘begin_authentication_as_default_user’:
src/utils.c:27:9: error: too many arguments to function ‘lightdm_greeter_authenticate’
         lightdm_greeter_authenticate(app->greeter, default_user, NULL);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/lightdm-gobject-1/lightdm.h:14:0,
                 from src/utils.c:2:
/usr/include/lightdm-gobject-1/lightdm/greeter.h:128:6: note: declared here
 void lightdm_greeter_authenticate (LightDMGreeter *greeter, const gchar *username);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:601: recipe for target 'src/lightdm_mini_greeter-utils.o' failed
make[1]: *** [src/lightdm_mini_greeter-utils.o] Error 1
make[1]: Leaving directory '/home/username/lightdm-mini-greeter/lightdm-mini-greeter'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Подобное мы уже видели раньше, идешь в src/utils.c, на 22 строке применяешь известный костыль по аналогии с lightdm_greeter_respond - меняешь lightdm_greeter_authenticate(app->greeter, default_user, NULL); на

#ifdef LIGHTDMGT1192
	lightdm_greeter_authenticate(app->greeter, default_user, NULL);
#elseif 
	lightdm_greeter_authenticate(app->greeter, default_user);
#endif

Запускаешь make опять. На этот раз все выполняется без ошибок.

Запускаешь sudo make install, это все раскатывается, перегружаешься, ловишь кучу проблем и опять ставишь ОС с нуля.

Исходная версия micronekodesu, :

Тебе нужны следующие пакеты

dh-autoreconf
libgtk-3-dev
liblightdm-gobject-dev

Запускаешь autogen.sh (выполняется без ошибок), потом configure (выполняется без ошибок), потом make, который свалится вот с этим

src/callbacks.c: In function ‘handle_password’:
src/callbacks.c:55:9: error: too many arguments to function ‘lightdm_greeter_respond’
         lightdm_greeter_respond(app->greeter, password_text, NULL);
         ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/lightdm-gobject-1/lightdm.h:14:0,
                 from src/callbacks.c:3:
/usr/include/lightdm-gobject-1/lightdm/greeter.h:136:6: note: declared here
 void lightdm_greeter_respond (LightDMGreeter *greeter, const gchar *response);
      ^~~~~~~~~~~~~~~~~~~~~~~
Makefile:559: recipe for target 'src/lightdm_mini_greeter-callbacks.o' failed
make[1]: *** [src/lightdm_mini_greeter-callbacks.o] Error 1
make[1]: Leaving directory '/home/username/lightdm-mini-greeter/lightdm-mini-greeter'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Про это есть issue. Соотстветственно открываешь ./src/callbacks.c, там ищешь по lightdm_greeter_respond (это 55 строка), меняешь строку на

#ifdef LIGHTDMGT1192
lightdm_greeter_respond(app->greeter, password_text, NULL);
#elseif 
lightdm_greeter_respond(app->greeter, password_text);
#endif

Запускаешь make опять, получаешь

src/callbacks.c: In function ‘handle_password’:
src/callbacks.c:53:22: error: unused variable ‘password_text’ [-Werror=unused-variable]
         const gchar *password_text =
                      ^~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:559: recipe for target 'src/lightdm_mini_greeter-callbacks.o' failed
make[1]: *** [src/lightdm_mini_greeter-callbacks.o] Error 1
make[1]: Leaving directory '/home/username/lightdm-mini-greeter/lightdm-mini-greeter'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Правишь Makefile - на 330 строке добавляешь -Wno-unused-variable чтоб получилось что-то типа

AM_CFLAGS = -g -Wall -Wno-unused-variable -O3 --std=c11 -Wextra -Werror --std=c11 -pedantic \

Ну и дальше прочие аргументы, я тут только одну строку привел.

Запускаешь make опять, получаешь

src/utils.c: In function ‘begin_authentication_as_default_user’:
src/utils.c:27:9: error: too many arguments to function ‘lightdm_greeter_authenticate’
         lightdm_greeter_authenticate(app->greeter, default_user, NULL);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/lightdm-gobject-1/lightdm.h:14:0,
                 from src/utils.c:2:
/usr/include/lightdm-gobject-1/lightdm/greeter.h:128:6: note: declared here
 void lightdm_greeter_authenticate (LightDMGreeter *greeter, const gchar *username);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Makefile:601: recipe for target 'src/lightdm_mini_greeter-utils.o' failed
make[1]: *** [src/lightdm_mini_greeter-utils.o] Error 1
make[1]: Leaving directory '/home/username/lightdm-mini-greeter/lightdm-mini-greeter'
Makefile:383: recipe for target 'all' failed
make: *** [all] Error 2

Подобное мы уже видели раньше, идешь в src/utils.c, на 22 строке применяешь известный костыль по аналогии с lightdm_greeter_respond - меняешь lightdm_greeter_authenticate(app->greeter, default_user, NULL); на

#ifdef LIGHTDMGT1192
	lightdm_greeter_authenticate(app->greeter, default_user, NULL);
#elseif 
	lightdm_greeter_authenticate(app->greeter, default_user);
#endif

Запускаешь make опять. На этот раз все выполняется без ошибок.

Запускаешь sudo make install, это все раскатывается, перегружаешься, ловишь кучу проблем и опять ставишь ОС с нуля.