Bug 2441 - can\'t work in batch mode without display
Summary: can\'t work in batch mode without display
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: dia (show other bugs)
Version: unstable
Hardware: all Linux
: P3 blocker
Assignee: Vitaly Lipatov
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-28 19:32 MSK by Vitaly A. Ostanin
Modified: 2005-04-17 20:37 MSD (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vitaly A. Ostanin 2003-03-28 19:32:46 MSK
При конвертировании файлов dia в другие форматы
dia -n -t eps file.dia
при подключении, например, по ssh, выдаётся ошибка
\"cannot open display\", хотя показ заставки отключен (-n).
Это делает невозможным использование dia в пакетном режиме, например, в Makefiles.

PS В переводе есть опечатка \"Файл/НаСпечатать\"
PPS Было удобно читать документацию в html из поставки, а не с сайта.
---

---

Comment 1 Dmitry V. Levin 2003-03-28 20:15:18 MSK
$ 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

Это ужасно, и мне придется откатываться на более рабочую версию.
Comment 2 Dmitry V. Levin 2003-03-28 20:15:18 MSK
$ 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

Это ужасно, и мне придется откатываться на более рабочую версию.
Comment 3 inger@altlinux.org 2004-06-03 16:54:21 MSD
актуальна ли эта бага до сих пор? 
Если да - то dia кандидат в contrib. 
 
Comment 4 Vitaly A. Ostanin 2004-06-03 18:47:43 MSD
Актуальна.

[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
Comment 5 Vitaly Lipatov 2004-06-20 19:26:59 MSD
fixed in dia-0.93-alt3 
Comment 6 Vladimir Lettiev 2005-02-17 14:47:33 MSK
$ 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
Comment 7 Vitaly Lipatov 2005-03-14 14:51:04 MSK
fixed in dia-0.94-alt6cvs20050313 
(но проявился другой баг с SegFault при выходе) 
Comment 8 Vladimir Lettiev 2005-03-18 12:23:25 MSK
(In reply to comment #7)
> fixed in dia-0.94-alt6cvs20050313 
> (но проявился другой баг с SegFault при выходе) 

это также не устраивает. Хоть png и создаётся, но, например, make рассматривает
segfault как ошибку и прекращает работу. Так что samba (документация) по
прежнему не собирается...
Comment 9 Vladimir Lettiev 2005-03-20 11:51:29 MSK
Кажется я понял, где собака порылась.
Попробуйте такой патч:

--- 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));
Comment 10 Vitaly Lipatov 2005-03-20 16:56:33 MSK
Спасибо, Владимир! 
applied in dia-0.94-alt7cvs*  
Comment 11 Vitaly Lipatov 2005-04-17 20:37:05 MSD
исправлено