Re: [Gtk-osx-devs] Gtk 64bit



On Jul 26, 2009, at 12:01 PM, John Ralls wrote:

>
> On Jul 26, 2009, at 10:26 AM, Adam Puleo wrote:
>
>> I would like to compile the package for 64bit.
>>
>> How would I go about doing this?
>>
>> I have tried setting the following env vars:
>> CFLAGS="-arch x86_64"
>> export CFLAGS
>> CPPFLAGS="-arch x86_64"
>> export CPPFLAGS
>> LDFLAGS="-arch x86_64"
>> export LDFLAGS
>>
>> I'm still getting a "file is not of required architecture".
>>
>> How do I force the jhbuild to build 64bit?
>>
>
> Never tried, but we should be able to work through this.
>
> What file is being complained about? At what stage? I haven't
> completely reviewed the quartz gtk, gdk, pango, and cairo code yet,
> but it's possible that there are parts that use Carbon, which might
> produce just that error at link time as Carbon doesn't support 64-bit.
>
> Are you setting the -arch x86_64 flags before doing anything else?
> (I.e., rm -rf ~/gtk, do the exports, then jhbuild bootstrap etc.)
>
> Have you looked at the compile commands in the output to make sure
> that the -arch flag is correctly passed to gcc, and that it's the only
> arch flag? (That's important, because if gcc gets two arch flags, it
> will try to do a universal build. Glib and gtk+ can't be built
> universal that way (they use assembly); they have to be built
> separately for each architecture and lipo-ed together.)
>
> Regards,
> John Ralls
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Gtk-osx-devs mailing list
> Gtk-osx-devs lists sourceforge net
> https://lists.sourceforge.net/lists/listinfo/gtk-osx-devs

Hello John,

Here are the commands:
rm -rf gtk
rm -rf Source

CFLAGS="-arch x86_64"
export CFLAGS
CPPFLAGS="-arch x86_64"
export CPPFLAGS
LDFLAGS="-arch x86_64"
export LDFLAGS

sh gtk-osx-build-setup.sh
jhbuild bootstrap

Received this error:
libtool: link: gcc -dynamiclib  -o libltdl/.libs/libltdl.7.dylib   
libltdl/loaders/.libs/libltdl_libltdl_la-preopen.o libltdl/.libs/ 
libltdl_libltdl_la-lt__alloc.o libltdl/.libs/libltdl_libltdl_la- 
lt_dlloader.o libltdl/.libs/libltdl_libltdl_la-lt_error.o  
libltdl/.libs/libltdl_libltdl_la-ltdl.o libltdl/.libs/ 
libltdl_libltdl_la-slist.o libltdl/.libs/argz.o libltdl/.libs/ 
libltdlS.o  libltdl/.libs/libltdl.lax/dlopen.a/dlopen.o   -L/Users/ 
apuleo/gtk/inst/lib  -arch x86_64 -Wl,-headerpad_max_install_names   - 
install_name  /Users/apuleo/gtk/inst/lib/libltdl.7.dylib - 
compatibility_version 10 -current_version 10.0 -Wl,-single_module
ld warning: in libltdl/.libs/libltdlS.o, file is not of required  
architecture
Undefined symbols:
   "_lt_libltdl_LTX_preloaded_symbols", referenced from:
       _lt_dlinit in libltdl_libltdl_la-ltdl.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[2]: *** [libltdl/libltdl.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Error during phase build of libtool: ########## Error running  
make   *** [4/12]

Think I found the command that built libltdlS:
libtool: link: (cd libltdl/.libs && gcc -O2 -gstabs+3 -std=gnu89 -c - 
fno-builtin  -fno-common -DPIC "libltdlS.c")

Looks like it's missing the arch flag...

When it compiled gettext the arch flag was there.

Thanks,
-adam





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]