[GTK+/DirectFB-pxa320pro]테스트프로그램이 Aborted 발생하는 현상

bigparksh의 이미지

target board : pxa320-pro
kernel version : 2.6.24
library list : atk-1.19.3, cairo-1.4.10, DirectFB-1.0.1, fontconfig-2.4.2, freetype-2.3.5, glib-2.12.13, gtk+-2.10.14, jpeg-6b, libpng-1.2.19, libxml2-2.6.29, pango-1.16.4, zlib-1.2.3

현재 target board에 gtk+ directfb를 사용하기 위해 아래 사이트 내용을 참조하여 컴파일 완료하였으며, 샘플코드 테스중에 있습니다.
URL : http://www.directfb.org/wiki/index.php/Projects:GTK_on_DirectFB_for_Embedded_Systems

하지만 제가 제작한 helloworld 파일이 실행과 동시에 LCD화면만 한번 깜박거리고 "Aborted"발생하면서 바로 죽어 버립니다. 자세한 프로그램 로그는 아래와 같습니다.

=======================| DirectFB 1.0.1 |=======================
(c) 2001-2007 The DirectFB Organization (directfb.org)
(c) 2000-2004 Convergence (integrated media) GmbH
------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2008-04-25 17:15)
(*) Direct/Thread: Running 'VT Switcher' (CRITICAL, 805)...
(*) Direct/Thread: Running 'Keyboard Input' (INPUT, 807)...
(*) DirectFB/Input: Keyboard 0.9 (directfb.org)
(!) Direct/Modules: Could not open module directory `/opt/gtkdfb/usr/local/lib/directfb-1.0-0-pure/gfxdrivers'!
--> No such file or directory
(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(!) DirectFB/FBDev: Panning display failed (x=0 y=0 ywrap=0 vbl=0)!
--> Invalid argument
(*) Direct/Thread: Running 'EventBufferFeed' (MESSAGING, 808)...
(!) [ 803: 0.000] --> Caught signal 6 (unknown origin) <--
(!!!) *** WARNING [still objects in 'Layer Region Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Layer Context Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
(!!!) *** WARNING [setting window->stack = NULL] *** [default.c:2805 in wm_close_stack()]
(!!!) *** WARNING [still objects in 'Window Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
(!!!) *** WARNING [still objects in 'Surface Pool'] *** [object.c:231 in fusion_object_pool_destroy()]
Aborted

소스 내용은 window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 를 이용하여 window를 생성하고, 그곳에 button = gtk_button_new_with_label("Hello World"); 를 추가하는 프로그램입니다.
"Aborted"가 발생하는 위치를 확인 해보니, gtk_widget_show(button); 구문이라는 것을 확인 하였습니다.
gtk_widget_show(button); 를 제외할 경우 아무 이상없이 아무것도 없는 window가 출력되고 있습니다.
혹시 button 값이 NULL 인가 싶어 확인 해보니 정상적으로 생성되고 있었습니다.
board setting이 잘못된 것인지, library 제작이 잘못된 것인지 알수가 없어 막막한 사항입니다.(7일째 작업중ㅜㅜ)
언제 이문제가 해결될지.. 코피터질 직전입니다.

아래는 테스트 코드입니다.
{
GtkWidget *window;
GtkWidget *button;

gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Hello Buttons!");
gtk_window_set_default_size(GTK_WINDOW(window), 240,320);
g_signal_connect (G_OBJECT (window), "delete_event",
G_CALLBACK (delete_event), NULL);
button = gtk_button_new_with_label ("Hello World");

g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (hello), NULL);
gtk_container_add (GTK_CONTAINER (window), button);

gtk_widget_show(button); //Aborted가 발생하는 위치
gtk_widget_show(window);

gtk_main ();
}

참고로 컴파일시 적용한 옵션은 아래와 같습니다.
[DirectFB]
./configure --host=$HOST --build=$BUILD --prefix=$PREFIX \
--enable-debug-support=no --enable-fbdev=yes --enable-zlib=yes --enable-video4linux2=yes --enable-x11=no --enable-sdl=no --with-gfxdrivers=none LDFLAGS="-L$PREFIX/lib -ljpeg" CPPFLAGS="-I$PREFIX/include"

[GTK+]
./configure --host=$HOST --build=$BUILD --prefix=$PREFIX --with-gdktarget=directfb --without-libtiff --disable-glibtest --disable-largefile --disable-modules --with-included-loaders=jpeg,gif,png,xpm LDFLAGS="-L$PREFIX/lib -ljpeg" CPPFLAGS="-I$PREFIX/include"

bushi의 이미지

SIGABRT 가 어디서, 왜 날아가는지 알아보는 것부터 시작해보세요.

OTL

bigparksh의 이미지

제가 linux 환경에서의 개발 경험부족으로 인해 문제 해결부분에서 부족한 점이 많아 계속 질문드려 죄송합니다.
말씀하신 SIGABRT 즉 시그널 신호를 확인하라는 말씀 같은데, 정확히 어떻게 체크해야한다는 말씀이신지요.
지금 여기저기를 통해 검색중에 있긴 있는데, 다시 한번 자세한 설명 부탁드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.