При конвертировании файлов dia в другие форматы dia -n -t eps file.dia при подключении, например, по ssh, выдаётся ошибка \"cannot open display\", хотя показ заставки отключен (-n). Это делает невозможным использование dia в пакетном режиме, например, в Makefiles. PS В переводе есть опечатка \"Файл/НаСпечатать\" PPS Было удобно читать документацию в html из поставки, а не с сайта. --- ---
$ rpm -q dia dia-0.91-alt1 $ LC_ALL=C dia --version Dia version 0.91, compiled 12:07:15 Mar 19 2003 $ dia --version п▓п╣я─я│п╦я▐ Dia 0.91, я│п╨п╬п╪п©п╦п╩п╦я─п╬п╡п╟п╫п╬ 12:07:15 Mar 19 2003 $ make dia --nosplash -e vsftpd.eps vsftpd.dia (dia:14115): Gtk-WARNING **: cannot open display: make: *** [vsftpd.eps] Error 1 Это ужасно, и мне придется откатываться на более рабочую версию.
актуальна ли эта бага до сих пор? Если да - то dia кандидат в contrib.
Актуальна. [vyt@mail vyt]$ ssh vyt vyt@vyt.it.vzljot's password: Last login: Fri May 28 16:22:37 2004 from p [vyt@vyt vyt]$ dia -n -t eps alt.dia (dia:17342): Gtk-WARNING **: cannot open display: [vyt@vyt vyt]$ rpm -q dia dia-0.92-alt2
fixed in dia-0.93-alt3
$ rpm -q dia dia-0.94-alt5cvs20050205 Если установлена переменная окружения DISPLAY, то всё работает: $ set | grep DISPLAY DISPLAY=:0.0 $ dia -e file.png file.dia file.dia --> file.png Просто убираем переменную окружения DISPLAY $ unset DISPLAY; dia -e file.png file.dia В итоге полный ничего. png не создаётся. Программа выходит с кодом 0. Поиск в коде показал, что точка выхода расположена в app/app_procs.c:868
fixed in dia-0.94-alt6cvs20050313 (но проявился другой баг с SegFault при выходе)
(In reply to comment #7) > fixed in dia-0.94-alt6cvs20050313 > (но проявился другой баг с SegFault при выходе) это также не устраивает. Хоть png и создаётся, но, например, make рассматривает segfault как ошибку и прекращает работу. Так что samba (документация) по прежнему не собирается...
Кажется я понял, где собака порылась. Попробуйте такой патч: --- dia-0.94-orig/app/app_procs.c 2005-03-19 22:03:38 +0300 +++ dia-0.94/app/app_procs.c 2005-03-20 11:52:28 +0300 @@ -238,7 +238,8 @@ } diagdata = g_object_new (DIA_TYPE_DIAGRAM_DATA, NULL); - + g_object_ref(diagdata); + if (!inf->import_func(infname,diagdata,inf->user_data)) { g_error(_("%s error: need valid input file %s\n"), dia_message_filename(argv0), dia_message_filename(infname));
Спасибо, Владимир! applied in dia-0.94-alt7cvs*
исправлено