Re: atk 'missing symbols' problem since gnome-3-14

2014-09-25 Thread Piñeiro

On 09/25/2014 04:42 PM, John Emmas wrote:
> Is this a suitable place for flagging up problems with libatk?  Do
> please let me know if it has a dedicated mailing list somewhere.

As atk is an accessibility module, usually this is discussed on
gnome-accessibility-de...@gnome.org. There is not enough traffic to
justify specific atk, at-spi2, etc mailing lists.

> I couldn't find one.  In the meantime

I don't think that people would mind to talk about this here.

>
> I've been building libatk (with MSVC) for many years.  I build from
> the sources in Git and typically, I synchronize with whichever branch
> is the current stable branch (until very recently, this was
> "gnome-3-12" in the case of libatk).
>
> Then (a few days ago) gnome-3-14 got released as the new stable
> branch.  Since then, I can't seem to build it properly with MSVC.
> Technically, it does actually build - but the following symbols seem
> to be missing now from the built DLL:-
>
>atk_coord_type_get_type
>atk_layer_get_type
>atk_role_get_type
>atk_relation_type_get_type
>atk_state_type_get_type
>atk_text_attribute_get_type
>atk_text_boundary_get_type
>atk_text_clip_type_get_type
>
> There may be others too - but those are the immediately obvious ones. 
> Version 2.12 (i.e. gnome-3-12) used to generate a module definition
> for the linker (which helpfully contained the above symbols) but
> version 2.14 (gnome-3-14) doesn't use any module definition file AFAICT.  

Yes, it was a change done during this cycle (at the beginning).  This
was the bug:
https://bugzilla.gnome.org/show_bug.cgi?id=728031

One of the advantages (among others) was that we didn't need to manually
maintain the .symbols file (error prone). The other advantage is that we
were more aligned to what gtk and clutter were doing.

> And unless I'm missing something, the above symbols have nothing to
> mark them as dllexport.  

Those symbols are already marked as any other symbol
(ATK_AVAILABLE_IN_XXX). And symbols like them (enum based) are also
treated in the same way on gtk. Not sure why is just a problem with atk.

> Nevertheless, they get called from atkmm (and hence, MSVC complains
> that it can't find them).  It's possible that something's gone awry at
> my end but I just wondered if this is known about?  Thanks.

I don't have too much experience with MSVC, CCing Chun-wei Fan, that has
more experience with MSVC, and did this work.

BR

-- 

Alejandro Piñeiro

___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: atk 'missing symbols' problem since gnome-3-14

2014-09-25 Thread Fan Chun-wei

Hello John,

Sorry for the bunch of bad english and info here (late night reply here 
for me):


-glib-mkenums.h should read glib-mkenums (which is a PERL script)
-"Edi atk-enum-types.h to include config.h..." should read "Edit 
atk-enum-types.c to include config.h..."

-"put a ATK_AVAILABLE_IN_ALL" should be "put ATK_AVAILABLE_IN_ALL"

Please make sure your config.h(.win32) is up-to-date, as _ATK_EXTERN is 
defined in there to do the __declspec(dllexport) work.


With blessings.

Fan Chun-wei 於 2014/9/26 01:38 寫道:

Hello John,

I was able to get these symbols from the atk-2.14.0 release tarball 
from the GNOME FTP, and was able to build atkmm without any problems.


Probably you will need to look at your atk/atk-enum-types.h and 
atk/atk-enum-types.c-these symbols are indeed annotated in 
atk-enum-types.h, which is a generated file that is generated by 
glib-mkenums.h and included in the release tarball during 'make 
dist'.  You can either:


-Re-generate atk-enum-types.h/atk-enum-types.c by deducing the process 
from atk/Makefile.am  Notice that that rule changed a bit during the 
last dev cycle because we are using __declspec (dllexport)
-Grab the atk-2.14.0 tarball which contains atk-enum-types.h and 
atk-enum-types.c which the correct decorations
-Edi atk-enum-types.h to include config.h before everything else, and 
put a ATK_AVAILABLE_IN_ALL before the prototypes in atk-enum-types.h


Then re-do your build.  These symbols should be exported then.

Hope this helps, with blessings.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: atk 'missing symbols' problem since gnome-3-14

2014-09-25 Thread Fan Chun-wei

Hello John,

I was able to get these symbols from the atk-2.14.0 release tarball from 
the GNOME FTP, and was able to build atkmm without any problems.


Probably you will need to look at your atk/atk-enum-types.h and 
atk/atk-enum-types.c-these symbols are indeed annotated in 
atk-enum-types.h, which is a generated file that is generated by 
glib-mkenums.h and included in the release tarball during 'make dist'.  
You can either:


-Re-generate atk-enum-types.h/atk-enum-types.c by deducing the process 
from atk/Makefile.am  Notice that that rule changed a bit during the 
last dev cycle because we are using __declspec (dllexport)
-Grab the atk-2.14.0 tarball which contains atk-enum-types.h and 
atk-enum-types.c which the correct decorations
-Edi atk-enum-types.h to include config.h before everything else, and 
put a ATK_AVAILABLE_IN_ALL before the prototypes in atk-enum-types.h


Then re-do your build.  These symbols should be exported then.

Hope this helps, with blessings.
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


atk 'missing symbols' problem since gnome-3-14

2014-09-25 Thread John Emmas
Is this a suitable place for flagging up problems with libatk?  Do 
please let me know if it has a dedicated mailing list somewhere.  I 
couldn't find one.  In the meantime


I've been building libatk (with MSVC) for many years.  I build from the 
sources in Git and typically, I synchronize with whichever branch is the 
current stable branch (until very recently, this was "gnome-3-12" in the 
case of libatk).


Then (a few days ago) gnome-3-14 got released as the new stable branch.  
Since then, I can't seem to build it properly with MSVC. Technically, it 
does actually build - but the following symbols seem to be missing now 
from the built DLL:-


   atk_coord_type_get_type
   atk_layer_get_type
   atk_role_get_type
   atk_relation_type_get_type
   atk_state_type_get_type
   atk_text_attribute_get_type
   atk_text_boundary_get_type
   atk_text_clip_type_get_type

There may be others too - but those are the immediately obvious ones.  
Version 2.12 (i.e. gnome-3-12) used to generate a module definition for 
the linker (which helpfully contained the above symbols) but version 
2.14 (gnome-3-14) doesn't use any module definition file AFAICT.  And 
unless I'm missing something, the above symbols have nothing to mark 
them as dllexport.  Nevertheless, they get called from atkmm (and hence, 
MSVC complains that it can't find them).  It's possible that something's 
gone awry at my end but I just wondered if this is known about?  Thanks.


John
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re: [Help] Error when Glib cross compiled without the support of "_POSIX_THREADS"

2014-09-25 Thread Ryan Lortie
hi,

On Thu, Sep 25, 2014, at 02:29, Lele MA wrote:
> Does it mean the system doesn't define "_POSIX_THREADS"?
> If so, can I still use the glib in the Mini-OS without the support of
> "_POSIX_THREADS"?

Without knowing too much about this MiniOS: GLib has a hard dependency
on POSIX threads.  It is not possible to build GLib without threading
support.

If MiniOS lacks threads, then you will not be able to use GLib there,
without substantial modification.

I hope this helps to clarify things.

Cheers
___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list


Re:[Help] Error when Glib cross compiled without the support of "_POSIX_THREADS"

2014-09-25 Thread Lele MA
Hi all,


I simply comment the line "#include" in glib.h and 
it goes well. It seems it can include the head file successfully.

But when I write some simple codes use the glib:

 //main.c
 #include 

 gint   i, rc;
 GHashTable *h;
 h = g_hash_table_new (NULL, NULL);

it yields " undefined reference to `g_hash_table_new' ". It can find the 
'GHashTable' definition but cannot find the 'g_hash_table_new', where all of 
them are included indirectly in .


Have you anyone come across similar error when cross compiling the glib?


Lele Ma





在 2014-09-25 14:29:11,"Lele MA"  写道:

Hi all,

I am trying to cross compile Glib into xen stubdom (based on Mini-OS), which 
has only the libc support from newlib. The cross root directory is 
'/cross-root-x86_64/x86_64-xen-elf/'

I add the 'cross-glib' target in Makefile and the cross compile and install is 
succeed. The Makefile rules like this:


TARGET_CPPFLAGS += -isystem 
$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/glib-2.0  

TARGET_CPPFLAGS += -isystem 
$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/glib-2.0/include


 .PHONY: cross-glib
 cross-glib: glib-$(GLIB_VERSION) $(NEWLIB_STAMPFILE)
   ( cd $< && \
CC_FOR_TARGET="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" 
./configure --prefix=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf --verbose 
--host=$(GNU_TARGET_ARCH)-xen-elf && \
$(MAKE) DESTDIR= && \
$(MAKE) DESTDIR= install )

Then I write programs to include , like this:

//file: main.c
#include 
#include 
#include 
int main(void) {
sleep(2);
printf("Hello, world!\n");
return 0;
}

But when cross compiled, it yields:

cross-root-x86_64/x86_64-xen-elf/include/glib-2.0/glib/deprecated/gthread.h:162:5:
 error: unknown type name ‘pthread_t’
make[1]: *** [main.o] Error 1

I find pthread_t is defined in , which is included in 'pthread.h':
  #if defined(_POSIX_THREADS)
  #include 
  #include 
  #include 

Does it mean the system doesn't define "_POSIX_THREADS"?
If so, can I still use the glib in the Mini-OS without the support of 
"_POSIX_THREADS"?

Any advice will be appreciated!

Lele Ma



___
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list