[gtkmm] Re: [Anjuta-devel] Please..Help!!..static linking in Anjuta



The main problem here seems to be that the pango version on the host
machine is not compiled to support inbuild modules. I'm not sure how
this can be done or whether this is at all posible, but unless that is
done, you are better off building a dynamic executable and distributing
it along with the shared libraries it needs. For this, you'll need to
check which libraries are being loaded by the program (ldd and runtime
are both required) and then package them with the program. You'll also
need to set the LD_LIBRARY_PATH on the target machine to the directory
containing these shared libraries before running the program on the
target machine.

Note that my Pango knowledge is very limited so you're better off taking
this error to the pango M.L.

There also seems to be a glibc incompatibility problem to me. To the
best of my knowledge, you cannot link to glibc statically. The host
machine's glibc version seems to be 2.2.3. What is the glibc version on
your target machines ? You might want to ensure that they are the same
and try again.

Rgds,
Biswa.

On Sat, 2003-03-01 at 01:00, Vishal Modak wrote:
> 
> 
> >You can try 'ldd <Program Name>' to see which libraries is it
> >trying to
> >link with at run-time. Try it on both the host and target
> >machines.
> 
> here the ldd of my program ckm_gtkmm2 on host machine
> 
> compiler flag= -static
> linker flag=
> 
> [root alphacentauri src]# ldd ckm_gtkmm2_v1
>   libdl.so.2 => /lib/libdl.so.2 (0x4002d000)
>   libm.so.6 => /lib/libm.so.6 (0x40031000)
>   libc.so.6 => /lib/libc.so.6 (0x40053000)
>   /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> 
> 
> here the ldd of my program ckm_gtkmm2 on target machine
> 
> [vishal stars ~]$ ldd ckm_gtkmm2_v1
> ./ckm_gtkmm2_v1: /lib/libc.so.6: version `GLIBC_2.2.3' not found
> (required by ./ckm_gtkmm2_v1)
> ./ckm_gtkmm2_v1: /lib/libc.so.6: version `GLIBC_2.2' not found
> (required by ./ckm_gtkmm2_v1)
>   libdl.so.2 => /lib/libdl.so.2 (0x4001b000)
>   libm.so.6 => /lib/libm.so.6 (0x4001f000)
>   libc.so.6 => /lib/libc.so.6 (0x4003c000)
>   /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> 
> 
> now this when i give -all-static to the linker flag
> 
> on the target machine
> ----------------------------------------
> [vishal stars ~]$ ./ckm_gtkmm2
> 
> ckm_gtkmm2:6749): Gtk-WARNING **: locale not supported C library
> 
> ckm_gtkmm2:6749): Gdk-WARNING **: locale not supported by Xlib
> 
> (ckm_gtkmm2:6749): Gdk-WARNING **: can not set locale modifiers
> 
> ** (ckm_gtkmm2:6749): WARNING **: No builtin or dynamically loaded
> modules
> were found. Pango will not work correctly. This probably means
> there was an error in the creation of:
>    '/usr/local/etc/pango/pango.modules'
> You may be able to recreate this file by running
> pango-querymodules.
> 
> ** (ckm_gtkmm2:6749): WARNING **: Couldn't load font "Sans 10"
> falling back to "Sans 10"
> 
> ** (ckm_gtkmm2:6749): WARNING **: Couldn't load font "Sans 10"
> falling back to "Sans 10"
> 
> ** (ckm_gtkmm2:6749): WARNING **: All font failbacks failed!!!!
> 
> i tried the pango-querymodules but didnt work..
> 
> this the ldd of the the same program on host machine
> -----------------------------------------------------------------
> 
> 
> [root alphacentauri src]# ldd ckm_gtkmm2
>   not a dynamic executable
> 
> so can u please explain to me in detail exactly whats my
> problem..if its a locale problem of the target compiler..then how
> do i set the locale..if i want to run my static executable ..u i
> want my program to portable to any linux machine..will i have to
> write to a separte script..for it
> 
> thanking you
> 
> 
> Regards
> Vishal Modak
> Dept. of Computer and Information Science
> Univ. Of South Alabama
> Mobile, AL
> 
> 





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