hbgtk libxhbgtk

14/04/2010

Al hacer un script sobre el sistema de compilacion de Hbgtk para
determinar la causa de los warnigs, para tratar de entender que es lo
quee es lo que esta sucediendo y porque compila de maenra incorrecta la
libreria libxhbgtk, encontre que eite un parametro que no esta
definido y que marca el error en casi todo el proceso.


un ejemplo:

gcc -DPACKAGE_NAME=\"xbgtk\" -DPACKAGE_TARNAME=\"xbgtk\"
-DPACKAGE_VERSION=\"0\.5\" "-DPACKAGE_STRING=\"xbgtk 0.5\""
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"xbgt\k\" -DVERSION=\"0.5\"
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1\
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
-DHAVE_STRINGS_H=1 -DHAV\E_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_BIND\_TEXTDOMAIN_CODESET=1
-I. -I. -I/usr/include/ksos -I/usr/include/gtk-2.0
-I\/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/inc\lude/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/inclu\de/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/lib\glade-2.0 -I/usr/include/gtk-2.0
-I/usr/include/libxml2 -I/usr/lib/gtk-2.0/incl\ude
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr\/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/in\clude/freetype2
-I/usr/include/libpng12 -g -O2 -c xbgobject.c -MT xbgobject.lo \-MD
-MP -MF .deps/xbgobject.TPlo -fPIC -DPIC -o .libs/xbgobject.o^M
xbgobject.c:33: aviso: se usa �HB_FUN_HB_APARAMS� pero nunca se
define^M

observece la ultima linea.


otros tipo de warning

Could not write method AtkObject.connect_property_change_handler: No
ArgType fo\r 'AtkPropertyChangeHandler*'^M
Could not write method AtkObject.notify_state_change: No ArgType for
'AtkState'\^M
Warning: generating old-style constructor for atk_no_op_object_new^M
Warning: generating old-style constructor for atk_relation_new^M
Could not write constructor for AtkRelation: No ArgType for
'AtkObject**'^M
Could not write method AtkRelation.get_target: No ArgType for
'GPtrArray*'^M
Could not write method AtkStateSet.add_states: No ArgType for
'AtkStateType*'^M
Could not write method AtkStateSet.contains_states: No ArgType for
'AtkStateType
Could not write function add_focus_tracker: No ArgType for
'AtkEventListener'^M
Could not write function focus_tracker_init: No ArgType for
'AtkEventListenerIn\it'^M
Could not write function add_global_event_listener: No ArgType for
'GSignalEmis\sionHook'^M
Could not write function add_key_event_listener: No ArgType for
'AtkKeySnoopFunction

mas warnings

Could not write method GdkEvent.get_state: No ArgType for
'GdkModifierType*'
Could not write method GdkEvent.get_coords: No ArgType for
'gdouble*'^M
Could not write method GdkEvent.get_root_coords: No ArgType for
'gdouble*'^M
Could not write method GdkEvent.get_axis: No ArgType for 'gdouble*'^M
Could not write method GdkFont.text_width_wc: No ArgType for
'const-GdkWChar*'
Could not write method GdkFont.char_width_wc: No ArgType for
'GdkWChar'
Could not write method GdkFont.extents: No ArgType for 'gint*'^M
Could not write method GdkFont.text_extents_wc: No ArgType for
'const-GdkWChar*\'
Could not write method GdkFont.string_extents: No ArgType for
'gint*'
Could not write method GdkRectangle.union: No ArgType for 'void'^M
Warning: generating old-style constructor for gdk_colormap_new^M
Could not write method GdkDevice.get_state: No ArgType for
'gdouble*'

Could not write method GdkFont.string_extents: No ArgType for
'gint*'
Could not write method GdkRectangle.union: No ArgType for 'void'
Warning: generating old-style constructor for gdk_colormap_new
Could not write method GdkDevice.get_state: No ArgType for
'gdouble*'
Could not write method GdkDevice.get_history: No ArgType for
'GdkTimeCoord***'
Could not write method GdkDevice.get_axis: No ArgType for 'gdouble*'^M
Could not write getter for GdkDevice.axes: No ArgType for
'GdkDeviceAxis*'
Could not write getter for GdkDevice.keys: No ArgType for
'GdkDeviceKey*'
Warning: generating old-style constructor for gdk_display_open^M
Could not write method GdkDisplay.list_devices: No ArgType for
'GList*'
Could not write method GdkDisplay.add_client_message_filter: No
ArgType for 'Gd\kFilterFunc'
Could not write method GdkDisplay.get_pointer: No ArgType for
'GdkScreen**'
Could not write method GdkDisplay.get_pointer: No ArgType for
'GdkScreen**'
Could not write method GdkDisplay.get_window_at_pointer: No ArgType
for 'gint*'
Could not write method GdkDisplay.set_pointer_hooks: No ArgType for
'const-GdkD\isplayPointerHooks*'^M
Could not write method GdkDisplay.store_clipboard: No ArgType for
'GdkAtom*'
Could not write method GdkDisplay.store_clipboard: No ArgType for
'GdkAtom*'
Could not write method GdkDisplay.get_maximal_cursor_size: No ArgType
for 'guin\t*'
Could not write method GdkDisplayManager.list_displays: No ArgType for
'GSList*\'
Could not write method GdkDrawable.set_data: No ArgType for
'gpointer'^M
Could not write method GdkDrawable.get_data: No ArgType for
'gpointer'^M
Could not write method GdkDrawable.get_size: No ArgType for 'gint*'^M
Could not write method GdkDrawable.draw_polygon: No ArgType for
'GdkPoint*'^M
Could not write method GdkDrawable.draw_text_wc: No ArgType for
'const-GdkWChar\*'^M
Could not write method GdkDrawable.draw_points: No ArgType for
'GdkPoint*'^M
Could not write method GdkDrawable.draw_segments: No ArgType for
'GdkSegment*'^\M
Could not write method GdkDrawable.draw_lines: No ArgType for
'GdkPoint*'^M
Could not write method GdkDrawable.get_clip_region: No ArgType for
'GdkRegion*'\^M
Could not write method GdkDrawable.get_visible_region: No ArgType for
'GdkRegio\n*'^M
Could not write method GdkDrawable.new_gc: No ArgType for
'GdkGCValues*'^M

como se puede ver existe una inmensa cantidad de errores, el problema es
que aun no entiendo quien ni donde se generan, pues he estado buscando
en sources por las variables y funciones a que se refieren los error y
no aparecen , tampoco en el include ni en codegen.

Observando bien, me he dado cuenta que estos errores tiene que ver con
las invocacinones a los procesos atk.c, gtk.c, pango y phyton esto si
es un problema porque alli , practicamente no se puede hacer nada
el problema es mas severo en gdk.c en este si que presenta problemas.

ejemplo:

Could not write method GtkWidget.list_accel_closures: No ArgType for
'GList*'^M
Could not write method GtkWidget.region_intersect: No ArgType for
'GdkRegion*'^\M
Could not write method GtkWidget.get_size_request: No ArgType for
'gint*'^M
Could not write method GtkWidget.get_pointer: No ArgType for 'gint*'
Could not write method GtkWidget.translate_coordinates: No ArgType for
'gint*'
Could not write method GtkWidget.style_get_property: No ArgType for
'GValue*'
Could not write method GtkWidget.style_get_valist: No ArgType for
'va_list'
Could not write method GtkWidget.style_get: varargs functions not
supported
Could not write method GtkWidget.path: No ArgType for 'guint*'^M
Could not write method GtkWidget.class_path: No ArgType for 'guint*'^M
Could not write method GtkWidget.list_mnemonic_labels: No ArgType for
'GList*'^
Could not write virtual accessor method
GtkWidget.dispatch_child_properties_cha\nged: list index out of
range
Could not write virtual accessor method GtkWidget.show: list index out
of range\
Could not write virtual accessor method GtkWidget.show_all: list index
out of r\ange
Could not write virtual accessor method GtkWidget.hide: list index out
of range\

y mas errores

Could not write virtual accessor method GtkWidget.grab_focus: list
index out of\ range
Could not write virtual accessor method GtkWidget.focus: list index
out of rang\e
Could not write virtual accessor method GtkWidget.event: list index
out of rang\e^
Could not write virtual accessor method GtkWidget.button_press_event:
list inde\x out of range
Could not write virtual accessor method
GtkWidget.button_release_event: list in\dex out of range
Could not write virtual accessor method GtkWidget.scroll_event: list
index out \of range
Could not write virtual accessor method GtkWidget.motion_notify_event:
list ind\ex out of range
Could not write virtual accessor method GtkWidget.delete_event: list
index out \of range
Could not write virtual accessor method GtkWidget.destroy_event: list
index out\ of range

Could not write constructor for GtkCList: No ArgType for 'gchar*[]'
Could not write method GtkCList.get_text: No ArgType for 'gchar**'
Could not write method GtkCList.get_pixmap: No ArgType for
'GdkPixmap**'
Could not write method GtkCList.get_pixtext: No ArgType for
'gchar**'
Could not write method GtkCList.prepend: No ArgType for 'gchar*[]'
Could not write method GtkCList.append: No ArgType for 'gchar*[]'
Could not write method GtkCList.insert: No ArgType for 'gchar*[]'
Could not write method GtkCList.set_row_data: No ArgType for
'gpointer'
Could not write method GtkCList.set_row_data_full: No ArgType for
'gpointer'
Could not write method GtkCList.get_row_data: No ArgType for
'gpointer'
Could not write method GtkCList.find_row_from_data: No ArgType for
'gpointer'


La lista es inmensa, lo curioso es que termina diciendo que logro
crear las librerias de hbgtk, aunque como ya dije antriormente no
funcionan


Encontre en gtk,defs hay una referencia a a los errores que no dejan
que el programa de apliacion funcione es una declaricion tipo funcion
asi:


(define-function gtk_file_folder_get_type
(c-name "gtk_file_folder_get_type")
(return-type "GType")
)

los tres errores son iguales, es como si esta definicion de funcion
tubiera algun error, lo curioso es que en la compilacion de la
libreria lbixhbgtk no muestra ningun problema asociado a esto sino a
otras cosas.


EStube buscando otras alternativas pues con estas lo veo muy
complicado,encontre a wxHarbour, viene para varias plataformas y
distintos set graficos, Wigwets,X11,GTK.
descargue los 3.
Con el de Widgets, no encontre como compilarlo, pues dice que
busque el sistema de compilacion en wxHarbour/sampes y aplique make all
pero el sistema dice que alli no hay nada para hacer, y efectivamtne
el directorio esta lleno pero de ejemplos, para ponerlo a funcinar el
sistema solicita que tenga widgets 2.6.0 minimo instalado, lo
descargue del sistema pero sigue igual.

Probe con wxGTK, solicita que se tenga el GTK+ instalado, como ya
lo tenia por los anteriores ensayos procedi a configurar el sistema
con ./configure
El sistema aborto, indicando que faltaban unas clase asiciadas a
sockets,por pura suerte habia acabado de leer en otra pagina que esta
version tenia un bug asociado de Glib, por lo que habia que bajar un
parche llamado
gsockgtk.cpp
y que habia que grabrlos en wxharbor/src/gtk
asi lo hice y pace por alto la advertencia de que el archivo ya
existia, ejecture nuevamente el proceso de ./configure y termino bien,
luego le di make y se demoroa com 5 minutos pero tambien termino bien,
luego make instal y mostro el siguient mesnaje:


*********************************************************

The installation of wxWidgets is finished. On certain
platforms (e.g. Linux) you'll now have to run ldconfig
if you installed a shared library and also modify the
LD_LIBRARY_PATH (or equivalent) environment variable.

wxWidgets comes with no guarantees and doesn't claim
to be suitable for any purpose.

Read the wxWidgets Licence on licencing conditions.

*********************************************************
eefctue el comando ldconfig para actualizacion de librerias
y tambien lo ejecuto bien.

Algo muy importante es que esta version es de 2009.

Comentarios

Entradas populares