LinuxForum.Fans
Тема

Не собирается gdk-pixbuf

Автор: yars 40 сообщений 12451 просмотров
#249997
Silencer написал:

Новое ванильное это гуд, а кде я не жду, крысу пользую.

Новой крысы в current еще нет, но сегодня с ней появились иксы, так что ждать новой слаки уже наверное недолго

#250037

дабы не плодить новые сабжи: не собирается gtk+-2.24.10:

text

/usr/lib/libXfixes.so /usr/local/lib/libatk-1.0.so /usr/lib/libcairo.so /usr/lib/libpixman-1.so /usr/lib/libpng14.so /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libxcb.so /usr/lib/libXau.so /usr/lib/libXdmcp.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libgio-2.0.so /usr/local/lib/libgio-2.0.so -lresolv /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgthread-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libfontconfig.so /usr/lib/libfreetype.so -lbz2 -lz /usr/lib/libexpat.so /usr/local/lib/libgobject-2.0.so /usr/lib/libffi.so /usr/local/lib/libgthread-2.0.so -lpthread -lm /usr/local/lib/libgmodule-2.0.so -ldl /usr/local/lib/libglib-2.0.so -lrt -pthread
./.libs/libgtk-x11-2.0.so: undefined reference to `g_datalist_get_data'
collect2: ld returned 1 exit status
make[4]: *** [gtk-query-immodules-2.0] Ошибка 1
make[4]: Выход из каталога `/home/silencer/source/gtk+-2.24.10/gtk'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Выход из каталога `/home/silencer/source/gtk+-2.24.10/gtk'
make[2]: *** [all] Ошибка 2
make[2]: Выход из каталога `/home/silencer/source/gtk+-2.24.10/gtk'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталога `/home/silencer/source/gtk+-2.24.10'
make: *** [all] Ошибка 2
#250043
"Silencer" написал:
дабы не плодить новые сабжи: не собирается gtk+-2.24.10:
Fix_to_your_SlackBuild написал:

./configure --disable-introspection
#250044

gramozeka, не помогло =(
а можно текст сценария?

#250046
Silencer написал:
gramozeka, не помогло =(
а можно текст сценария?

срок ссылки истёк
P.S. ..да это всё будет работать на "current" от 30.05 , на сегодня не знаю, т.к. сегодняшняя уже с новыми иксами пока не обновлял так-что х.з.

P.S. Обновил иксы, собирается нормально, ссылка на пакеты и сорцы - [url=ftp://46.48.50.9/soft/gimp/]тыц[/url]. Только я не всегда в сети, а детям фтп без надобности, поэтому в их системе фтп не включен.

#250048

С твоим скриптом такая же беда, ну да ладно, бинарник я забрал. Спасибо!

#251987

Все-таки не получается у меня с gtk+ :(

text
libtoolize: putting auxiliary files in `.'.
libtoolize: linking file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: linking file `m4/libtool.m4'
libtoolize: linking file `m4/ltoptions.m4'
libtoolize: linking file `m4/ltsugar.m4'
libtoolize: linking file `m4/ltversion.m4'
libtoolize: linking file `m4/lt~obsolete.m4'
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal --force -I m4
/usr/share/aclocal/nspr.m4:8: warning: underquoted definition of AM_PATH_NSPR
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB
/usr/share/aclocal/imlib.m4:167: warning: underquoted definition of AM_PATH_GDK_IMLIB # тут что не так?
/usr/share/aclocal/aalib.m4:12: warning: underquoted definition of AM_PATH_AALIB
autoreconf: configure.in: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
/usr/share/aclocal/nspr.m4:8: warning: underquoted definition of AM_PATH_NSPR # не понял, где искать, не гуглил еще
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
/usr/share/aclocal/imlib.m4:9: warning: underquoted definition of AM_PATH_IMLIB # imlib у меня : imlib2-1.4.5 и imlib-1.9.15
/usr/share/aclocal/imlib.m4:167: warning: underquoted definition of AM_PATH_GDK_IMLIB
/usr/share/aclocal/aalib.m4:12: warning: underquoted definition of AM_PATH_AALIB # вообще не понял, с какого 
autoreconf: running: /usr/bin/autoconf --force # перепугу,он в Слаке-текущей той же версии, что и у меня 
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
automake: html was already defined in condition !HAVE_DOCBOOK, which is included in condition TRUE ...
docs/faq/Makefile.am:26: ... `html' previously defined here
automake: pdf was already defined in condition !HAVE_DOCBOOK, which is included in condition TRUE ...
docs/faq/Makefile.am:31: ... `pdf' previously defined here
gtk-doc.make:54: GTK_DOC_BUILD_HTML does not appear in AM_CONDITIONAL
docs/reference/gdk/Makefile.am:151:   `gtk-doc.make' included from here
gtk-doc.make:59: GTK_DOC_BUILD_PDF does not appear in AM_CONDITIONAL
docs/reference/gdk/Makefile.am:151:   `gtk-doc.make' included from here
gtk-doc.make:32: EXTRA_DIST multiply defined in condition TRUE ...
docs/reference/gdk/Makefile.am:151:   `gtk-doc.make' included from here
Makefile.decl:7: ... `EXTRA_DIST' previously defined here
docs/reference/gdk/Makefile.am:2:   `Makefile.decl' included from here
gtk-doc.make:54: GTK_DOC_BUILD_HTML does not appear in AM_CONDITIONAL
docs/reference/gtk/Makefile.am:362:   `gtk-doc.make' included from here
gtk-doc.make:59: GTK_DOC_BUILD_PDF does not appear in AM_CONDITIONAL
docs/reference/gtk/Makefile.am:362:   `gtk-doc.make' included from here
gtk-doc.make:32: EXTRA_DIST multiply defined in condition TRUE ...
docs/reference/gtk/Makefile.am:362:   `gtk-doc.make' included from here
Makefile.decl:7: ... `EXTRA_DIST' previously defined here
docs/reference/gtk/Makefile.am:2:   `Makefile.decl' included from here
gtk-doc.make:54: GTK_DOC_BUILD_HTML does not appear in AM_CONDITIONAL
docs/reference/libgail-util/Makefile.am:34:   `gtk-doc.make' included from here
gtk-doc.make:59: GTK_DOC_BUILD_PDF does not appear in AM_CONDITIONAL
docs/reference/libgail-util/Makefile.am:34:   `gtk-doc.make' included from here
gtk-doc.make:32: EXTRA_DIST multiply defined in condition TRUE ...
docs/reference/libgail-util/Makefile.am:34:   `gtk-doc.make' included from here
Makefile.decl:7: ... `EXTRA_DIST' previously defined here
docs/reference/libgail-util/Makefile.am:2:   `Makefile.decl' included from here
automake: html was already defined in condition !HAVE_DOCBOOK, which is included in condition TRUE ...
docs/tutorial/Makefile.am:61: ... `html' previously defined here
automake: pdf was already defined in condition !HAVE_DOCBOOK, which is included in condition TRUE ...
docs/tutorial/Makefile.am:66: ... `pdf' previously defined here
gdk/tests/Makefile.am:16: variable `check_gdk_cairo_SOURCES' is defined but no program or
gdk/tests/Makefile.am:16: library has `check_gdk_cairo' as canonic name (possible typo)
gdk/tests/Makefile.am:19: variable `check_gdk_cairo_LDADD' is defined but no program or
gdk/tests/Makefile.am:19: library has `check_gdk_cairo' as canonic name (possible typo)
gtk/tests/Makefile.am:66: variable `filechooser_SOURCES' is defined but no program or
gtk/tests/Makefile.am:66: library has `filechooser' as canonic name (possible typo)
gtk/tests/Makefile.am:61: variable `crossingevents_LDADD' is defined but no program or
gtk/tests/Makefile.am:61: library has `crossingevents' as canonic name (possible typo)
gtk/tests/Makefile.am:67: variable `filechooser_LDADD' is defined but no program or
gtk/tests/Makefile.am:67: library has `filechooser' as canonic name (possible typo)
gtk/tests/Makefile.am:60: variable `crossingevents_SOURCES' is defined but no program or
gtk/tests/Makefile.am:60: library has `crossingevents' as canonic name (possible typo)
autoreconf: automake failed with exit status: 1

Собираю версию 2.24.4...

#251994

покажи билд по которому собираешь. Можешь свериться с моим - [url=ftp://46.48.50.9/soft/gimp/gtk+2/]тыц[/url]

#252021

Вот:

text
#!/bin/sh

# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} TAG=${TAG:-_yars}

NUMJOBS=${NUMJOBS:-" -j7 "}

# Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) export ARCH=i486 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi

CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-gtk2

if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi

rm -rf $PKG mkdir -p $TMP $PKG/usr cd $TMP rm -rf gtk+-$VERSION tar xvf $CWD/gtk+-$VERSION.tar.?z* || exit 1 cd gtk+-$VERSION

chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \;

# There's been this long standing debate about PNG and -lz # and this patch is the workaround. ;-) zcat $CWD/gtk.pnglz.diff.gz | patch -p1 --verbose || exit 1

# Do not flood the console or .xsession-errors with "trouble ahead" # warnings (most noticable when using Firefox and Flash): zcat $CWD/gtk.xid.nowarningflood.diff.gz | patch -p1 --verbose || exit 1

# Use /etc/gtk-2.0/$ARCH-slackware-linux instead of /etc/gtk-2.0/ sed -i "s/GTK_SYSCONFDIR, \\\"gtk-2\\.0\\\"/GTK_SYSCONFDIR, \\\"gtk-2\\.0\\\", HOST/g" ./gtk/gtkrc.c ./gdk-pixbuf/gdk-pixbuf-io.c sed -i 's/sysconfdir)\\"/& \\\n\t-DHOST=\\\"$(host_triplet)\\\"/g' \ gdk-pixbuf/Makefile.am \ gtk/Makefile.am \ modules/input/Makefile.am

# Use libpng-1.4.x: zcat $CWD/gtk.png14.diff.gz | patch -p1 --verbose || exit 1

# Regenerate ./configure: libtoolize --force autoreconf -vif

# Autoconf changes linux to linux-gnu. # Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu: sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub

CFLAGS="$SLKCFLAGS -DHOST='"'"${ARCH}-slackware-linux"'"'" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc \ --mandir=/usr/man \ --with-xinput=yes \ --build=$ARCH-slackware-linux

make $NUMJOBS || make || exit 1

# Check the host value that is passed to the compile to the one in this script: host="$ARCH-slackware-linux" compile_host=$(grep 'host_triplet =' gtk/Makefile | sed -e "s/.* = //") if [ "x$compile_host" != "x$host" ]; then echo "Host mismatch: compile='$compile_host', SlackBuild='$host'" && exit 1 fi

make install DESTDIR=$PKG \ RUN_QUERY_IMMODULES_TEST=false RUN_QUERY_LOADER_TEST=false \ || exit 1

# I'm spamming your root partition because /etc/gtk-2.0 won't install to $DESTDIR make install || exit 1 cp -a /etc/gtk-2.0/* $PKG/etc/gtk-2.0/ || exit 1 rm -rf $PKG/etc/gtk-2.0/$host mkdir -p $PKG/etc/gtk-2.0/$host mv $PKG/etc/gtk-2.0/* $PKG/etc/gtk-2.0/$host/

mv $PKG/etc/gtk-2.0/$host/im-multipress.conf $PKG/etc/gtk-2.0/$host/im-multipress.conf.new || exit 1

# We need to have separate 32-bit and 64-bit binaries # for places where we have two copies of the GTK+ package installed. # (we might have x86_64 and i486 packages on the same system, for example.) case "$host" in s390x*|x86_64*) mv $PKG/usr/bin/gtk-query-immodules-2.0{,-64} mv $PKG/usr/bin/gdk-pixbuf-query-loaders{,-64} ( cd $PKG/usr/bin ln -sf gtk-query-immodules-2.0-64 gtk-query-immodules-2.0 ln -sf gdk-pixbuf-query-loaders-64 gdk-pixbuf-query-loaders ) ;; *) mv $PKG/usr/bin/gtk-query-immodules-2.0{,-32} mv $PKG/usr/bin/gdk-pixbuf-query-loaders{,-32} ( cd $PKG/usr/bin ln -sf gtk-query-immodules-2.0-32 gtk-query-immodules-2.0 ln -sf gdk-pixbuf-query-loaders-32 gdk-pixbuf-query-loaders ) ;; esac

# Install wrappers for the binaries: cp $CWD/update-gdk-pixbuf-loaders $PKG/usr/bin/update-gdk-pixbuf-loaders cp $CWD/update-gtk-immodules $PKG/usr/bin/update-gtk-immodules chmod 0755 $PKG/usr/bin/update-*

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

# Compress and if needed symlink the man pages: if [ -d $PKG/usr/man ]; then ( cd $PKG/usr/man for manpagedir in $(find . -type d -name "man*") ; do ( cd $manpagedir for eachpage in $( find . -type l -maxdepth 1) ; do ln -s $( readlink $eachpage ).gz $eachpage.gz rm $eachpage done gzip -9 *.? ) done ) fi

mkdir -p $PKG/usr/doc/gtk+-$VERSION cp -a \ AUTHORS COPYING NEWS README TODO \ $PKG/usr/doc/gtk+-$VERSION ( cd $PKG/usr/doc/gtk+-$VERSION ln -s /usr/share/gtk-doc/html/gail-libgail-util . ln -s /usr/share/gtk-doc/html/gdk . ln -s /usr/share/gtk-doc/html/gdk-pixbuf . ln -s /usr/share/gtk-doc/html/gtk . )

# If there's a ChangeLog, installing at least part of the recent history # is useful, but don't let it get totally out of control: if [ -r ChangeLog ]; then DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog touch -r ChangeLog $DOCSDIR/ChangeLog fi

# I'm almost inclined to think this stuff is obsolete but I don't know for sure. # I do know that leaving it in doesn't hurt (aside from a few wasted bytes, but # probably less than the comments here waste ;-) mkdir -p $PKG/etc/profile.d cp -a $CWD/profile.d/* $PKG/etc/profile.d chmod 755 $PKG/etc/profile.d/*

mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh

cd $PKG /sbin/makepkg -l y -c n $TMP/gtk+2-$VERSION-$ARCH-$BUILD$TAG.tgz

Взят с [url=""ftp://ftp.mirror.yandex.ru/slackware/slackware-current/source/l/gtk+2]с зеркала[/url]. Кстати, еще ругался на audiofile, обновил его - перестал. А вот с aalib такой номер не прошел.

#252042
"yars" написал:
Взят с с зеркала. Кстати, еще ругался на audiofile, обновил его - перестал. А вот с aalib такой номер не прошел.

ну так я же писал выше, добавь вот сюда :

text
# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu:
sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub

CFLAGS="$SLKCFLAGS -DHOST='"'"${ARCH}-slackware-linux"'"'" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc \ --mandir=/usr/man \ --with-xinput=yes \ --build=$ARCH-slackware-linux

make $NUMJOBS || make || exit 1

# Check the host value that is passed to the compile to the one in this script:

вот так :

text

# and this patch is the workaround.  ;-)
zcat $CWD/gdk-pixbuf.pnglz.diff.gz | patch -p1 || exit 1

CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/man \ --docdir=/usr/doc/$PKGNAM-$VERSION \ --disable-introspection \ --build=$ARCH-slackware-linux

make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1

# We need to have separate 32-bit and 64-bit binaries

--disable-introspection \
иначе не соберёшь..

#252091

Не, отключение интроспекции не помогает. Надо с либами разобраться. Вот только непонятно, чего это он ругается на aalib... В current он той же версии, что и у меня. Imlib только что пересобрал из current. Ладно, буду дальше думать, спасибо.

#252092

И да, nspr - [url=www.mozilla.org/projects/nspr/]это?[/url]

#252095

yars, ты в какой системе собираешь - в 12.0, 13.0, 13.37 ?
если так ничего у тебя не выйдет, работает только на current'е , или пока ты доберёшся до нужной кондиции, сам этот курент и соберёшь .. и да здесь важна последовательность сборки.(у меня на фтп файл way)

#252098

Предупреждения типа
/usr/share/aclocal/nspr.m4:8: warning: underquoted definition of AM_PATH_NSPR

говорят только о том, что в 8-й строке /usr/share/aclocal/nspr.m4 написано что-то вроде:
AC_DEFUN(AM_PATH_NSPR,

вместо:
AC_DEFUN([AM_PATH_NSPR],

#252104

В 12.1. А куда деваться - приходится с 12.1 мучиться. Давно бы обновился как следует, просто я качать iso Слаки буду месяц, наверное.

#252105
yars написал:
В 12.1. А куда деваться - приходится с 12.1 мучиться. Давно бы обновился как следует, просто я качать iso Слаки буду месяц, наверное.

ну так качни готовые пакеты у меня и через ldd смотри чего им не хватает там уж сам разберёшься..

#252107

Так и сделаю, спасибо.

#252332

Вот такой вопрос назрел - что новее: версия 1.8 или 1.22? (собираю gail). Я думаю, если 1.8 = 1.80, то 1.22 меньше :[

#252365

Неправильно ты, дядя Фёдор, бутерброд ешь (q)
В данном (и аналогичных) случаях традиционно 8 < 22, 8 древнее, 22 новее.

#252368

:) Спасибо! Надо еще почитать по С что-нибудь, что ли... Я, когда учился, программировал на Паскале, а сейчас уже позабыл все, давно это было. А теория без практики - мертвый груз. Буду изучать!

Войдите или зарегистрируйтесь, чтобы ответить.