--- John Koshi <jkoshi@xxxxxxxxx> wrote: > > Hi, > > Does anyone have a quick answer for this question? > > Thanks > > > --- John Koshi <jkoshi@xxxxxxxxx> wrote: > > > Date: Wed, 23 Aug 2006 16:44:02 -0700 (PDT) > > From: John Koshi <jkoshi@xxxxxxxxx> > > Subject: Question on gtk library dependencies > > To: gtk-list@xxxxxxxxx > > > > > > Hello, > > > > Sorry about the long-winded explanation below, but it > > gives a clear picture about a concern I have. > > > > I was building a simple gtk application for ipaq h6300 > > under Familiar 0.8.4 , and had to do the following: > > > > 1) Install gtk+-dev_2.6.7-r1_arm.ipk > > 2) Install libglib-2.0-dev_2.6.4-r0_arm.ipk > > 3) Install pango-dev_1.8.1-r2_arm.ipk > > 4) Install libatk-1.0-dev_1.9.0-r0_arm.ipk > > > > I had to fix some of the sym links, provide the linker > > with the library path, and then the build worked and > > tested OK. > > > > I later tried to install the "Roadmap" application, from > > http://sourceforge.net/projects/roadmap/ (the package is > > roadmap_1.0.12_arm.ipk). For it's dependencies, I had to > > install gpsd_2.20-r2_arm.ipk, and libgps10_2.20-r2_arm.ipk. > > > > The remaining dependency for Roadmap to install correctly > > is libgtk2.0-0. > > > > Looking at the libraries, I see libgtk-x11-2.0.so.0.600.10 > > is already present. Will there be a conflict if I now get > > the package libgtk2.0-0 from Familiar? > > > > My concern is that libgtk2.0-0 and it's several dependencies > > (ie:libgcc1, libglib2.0-0, liblango1.0-0, libatk0, etc), all > > appear to be earlier versions than what I now have installed > > on my ipaq, and I may end with a mess if I do install it. > > > > Thanks in advance for your help. > > > > regards, > > John > > > > > > _______________________________________________ > > gtk-list@xxxxxxxxx > http://mail.gnome.org/mailman/listinfo/gtk-list > Have a look into my tool (see signature), though it is not intended for ipaq. The piece of info you need is represented by this part of the data structure describing targets to be built: targets => { libjpeg => do{ my $target_basename = 'jpegsrc.v6b'; $libjpeg_hash_ref = { base_urls => ['ftp://ftp.uu.net/graphics/jpeg'], target_basename => $target_basename, configure_args => '--enable-shared', pre_configure_sub => sub { my %this_sub_args = @_; my $info_marker = $this_sub_args{info_marker}; my $error_marker = $this_sub_args{error_marker}; my $cmdline_args_hash_ref = $this_sub_args{cmdline_args_hash_ref}; my $system_wrapper_sub = $this_sub_args{system_wrapper_sub}; my $wrong_dir = "${$cmdline_args_hash_ref}{build_prefix}/jpeg-6b"; unless(rename($wrong_dir => $this_sub_args{target_build_dir})) { warn "$error_marker could not rename $wrong_dir => $this_sub_args{target_build_dir}\n"; return 1; } 0; # the returned value }, # sub # pre_configure_sub pre_make_sub => sub { my %this_sub_args = @_; my $info_marker = $this_sub_args{info_marker}; my $error_marker = $this_sub_args{error_marker}; my $system_wrapper_sub = $this_sub_args{system_wrapper_sub}; my $target_build_dir = $this_sub_args{target_build_dir}; my $makefile = "$target_build_dir/Makefile"; my $original_makefile = "$makefile.original"; if( &{$system_wrapper_sub} ( $info_marker, "\\cp -p $makefile $original_makefile" ) != 0 ) { warn "$error_marker could not back up Makefile\n"; return 1; } open(my $rfh, $makefile) or do{ warn "$error_marker cannot open '$makefile' file for reading\n"; return 1; }; my @buffer = <$rfh>; close($rfh); ######################### foreach my $line(@buffer) ######################### { $line =~ s|(/install\s+)|$1 -D |; } # foreach my $line(@buffer) open(my $wfh, '>', $makefile) or do{ warn "$error_marker could not open '$makefile' foe writing\n"; return 1; }; print $wfh @buffer; close($wfh); 0; # the returned value } # sub # pre_make_sub } }, # do # libjpeg zlib => do{ $zlib_hash_ref = { base_urls => \@_sf_zlib_mirrors, major_ver => '1', minor_ver => '2', micro_ver => '3', configure_args => '--shared' } }, # do # zlib freetype => do{ $freetype_hash_ref = { base_urls => \@_sf_freetype_mirrors, major_ver => '2', minor_ver => '2', micro_ver => '1', depends_on => { targets => { zlib => $zlib_hash_ref } # targets } # depends_on } }, # do # freetype ... targets => { 'gtk+' => do{ my $major_ver = '2'; my $minor_ver = '8'; #my $minor_ver = '10'; $gtk_plus_hash_ref = { base_urls => &{$_gnome_c_urls_sub} ( 'gtk+', # $target, $major_ver, # $major_ver, $minor_ver, # $minor_ver ), major_ver => $major_ver, minor_ver => $minor_ver, micro_ver => '20', #micro_ver => '1', depends_on => { targets => { libjpeg => $libjpeg_hash_ref, libtiff => $libtiff_hash_ref, atk => do{ my $major_ver = '1'; my $minor_ver = '12'; $atk_hash_ref = { base_urls => &{$_gnome_c_urls_sub} ( 'atk', # $target, $major_ver, # $major_ver, $minor_ver # $minor_ver ), major_ver => $major_ver, minor_ver => $minor_ver, micro_ver => '1', depends_on => { targets => { glib => do{ my $major_ver = '2'; my $minor_ver = '12'; $glib_hash_ref = { base_urls => &{$_gnome_c_urls_sub} ( 'glib', # $target, $major_ver, # $major_ver, $minor_ver # $minor_ver ), major_ver => $major_ver, minor_ver => $minor_ver, micro_ver => '2', }; } # do # glib } # targets } # depends_on } }, # do # atk cairo => do{ $cairo_hash_ref = { base_urls => ["http://cairographics.org/releases"], major_ver => '1', minor_ver => '2', micro_ver => '2', depends_on => { targets => { libpng => $libpng_hash_ref, freetype => $freetype_hash_ref, } # targets } # depends_on } }, # do # cairo pango => do{ my $major_ver = '1'; my $minor_ver = '14'; $pango_hash_ref = { base_urls => &{$_gnome_c_urls_sub} ( 'pango', # $target, $major_ver, # $major_ver, $minor_ver # $minor_ver ), major_ver => $major_ver, minor_ver => $minor_ver, micro_ver => '0', depends_on => { targets => { glib => $glib_hash_ref, cairo => $cairo_hash_ref } } # depends_on } # pango } # do # pango } # targets } # depends_on } # 'gtk+' }, # do # 'gtk+' } # targets The answer I am giving you is for latest gtk+ versions - if you want earlier ones the answer may be different and I do not have it. If you want to build things manually, you have to start from the most right-indented ones. --Sergei. Applications From Scratch: http://appsfromscratch.berlios.de/ __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list