LINUX.ORG.RU

make error


0

2

Всем привет.

Такой вопрос...

Пытался скомпилить gtkmm-2.10.11 чтобы засунуть потом в пакет

./configure --prefix=/usr прошло без ошибок

а когда выполнил команду

make

то во время компиляции вылетила ошибка

типа: invalid conversion from 'gchar**' to const 'gchar**'

что это может быть?



Последнее исправление: ekso (всего исправлений: 1)

ошибка в файле исходного кода
хотя возможны просто слишком строгие флаги компилятора,
или пакет собирался со старой версией компилятора успешно, а новая версия gcc с теми же флагами предьявляет более строгие требования к коду и вместо предупреждения выдает ошибку.

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

спасибо

если я выясню что компилировали этой же версией компилятора, то стоит с флагами поиграть или лучше не трогать?

ekso
() автор топика
Ответ на: комментарий от Sylvia

спасибо

если я выясню что компилировали этой же версией компилятора, то стоит с флагами поиграть или лучше не трогать?

ekso
() автор топика
Ответ на: комментарий от Sylvia

старую gtkmm???? имеется ввиду??? я если честно сильно не выбирал. просто пакеты никогда не собирал... решил попробовать...

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

recentinfo.cc: In member function 'bool Gtk::RecentInfo::get_application_info(const Glib::ustring&, Glib::StringArrayHandle&, guint&, time_t&) const':
recentinfo.cc:172: error: invalid conversion from 'gchar**' to 'const gchar**'
recentinfo.cc:172: error: initializing argument 3 of 'gboolean gtk_recent_info_get_application_info(GtkRecentInfo*, const gchar*, const gchar**, guint*, time_t*)'
make[5]: *** [recentinfo.lo] Error 1


попробуйте, потому что патчить старые ошибки... дело неблагодарное )

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

--- gtk/gtkmm/recentinfo.cc~   2009-01-20 17:33:35.000000000 +0100
+++ gtk/gtkmm/recentinfo.cc   2009-08-20 01:22:56.662814220 +0200
@@ -189,7 +189,7 @@

bool RecentInfo::get_application_info(const Glib::ustring& app_name, Glib::StringArrayHandle& app_exec, guint& count, time_t& time) const
{
- return gtk_recent_info_get_application_info(const_cast<GtkRecentInfo*>(gobj()), app_name.c_str(), const_cast<gchar**>((app_exec).data()), &(count), &(time));
+ return gtk_recent_info_get_application_info(const_cast<GtkRecentInfo*>(gobj()), app_name.c_str(), const_cast<const gchar**>((app_exec).data()), &(count), &(time));
}

Glib::ustring RecentInfo::last_application() const


патч, если все ж таки приспичило

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

конечно я сам не прогер с++ моё поле .net и flash но вот то что меня в час ночи консультировать девушка будет по таким вопросам я мало ожидал!!!

спасибо большое!!!

ekso
() автор топика
Ответ на: комментарий от Sylvia
--- gtk/gtkmm/recentinfo.cc~	2009-01-20 17:33:35.000000000 +0100
+++ gtk/gtkmm/recentinfo.cc	2009-08-20 01:22:56.662814220 +0200
@@ -189,7 +189,7 @@
 
 bool RecentInfo::get_application_info(const Glib::ustring& app_name, Glib::StringArrayHandle& app_exec, guint& count, time_t& time) const
 {
-  return gtk_recent_info_get_application_info(const_cast<GtkRecentInfo*>(gobj()), app_name.c_str(), const_cast<gchar**>((app_exec).data()), &(count), &(time));
+  return gtk_recent_info_get_application_info(const_cast<GtkRecentInfo*>(gobj()), app_name.c_str(), const_cast<const gchar**>((app_exec).data()), &(count), &(time));
 }
 
 Glib::ustring RecentInfo::last_application() const
Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

а еще пусть секретом не будет что в библиотеках не всегда стабильный API/ABI
поэтому в системе которая вышла сравнительно недавно, библиотеки 3-4 летней давности собирать нужно только по необходимости использовать именно старую версию,
во всех остальных случаях стоит брать последний стабильный релиз.


ну и раз дистрибутив Debian ,то gtkmm есть в репозиториях, можно и в виде исходников )

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

там в репозитории лежат версии еще новее типа 2.90 почему тогда ее не взять например??? есть противопоказания???

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

2.90
это подготовка к релизу версии 3.0

это версии для тестирования

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

всё... романтики больше нет... я то тут создал локальный репозиторий, хакером себя возомнил.... ))))))))

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

приобрели опыт,
некоторые ради этого ставят < на этом месте реклама других дистрибутивов >
в остальных же дистрибутивах с большими репозиториями обычно используют их )

а еще можно сделать apt-get source
и пересобрать пакет так как его собирали в дистрибутиве ) если очень хочется

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

понял, спасибо большое!!!

если бы программист было моей профессией я бы наверное тоже поставил себе какой нибудь страшный дистрибутив с красивым названием, а так как это хобби то придержу пыл)))

удобство прежде всего))) ну и всегда хочется узнать что-то новое!))поэтому мой дистрибутив меня вполне устраивает

ekso
() автор топика
Ответ на: комментарий от Sylvia

>стоит, особенно в плане опций -W

Бред, warnings не помешали бы сборке.
Тем более в первом посте явно error а не warning.
Можно предположить, что там передаётся -Werror,
тогда следовало добавить -Wno-error.

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

лень сейчас пересматривать man gcc
но есть некоторые -W ключики, которые делают из соответствующего предупреждения ошибку, а есть ключики превращающие ошибку в предупреждение,
хотя в случае gtkmm надо патчить ) или новую версию собирать, там просто -Wall стоит в флагах, сборке оно не мешает.

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