Gentoo ‘emerge –deep –newuse –update world’ issues…
December 22nd, 2007 Michael ClarkeMany people tell me that they have issues when running a emerge world on Gentoo to keep their system up to date. I have long argued that the problems are simply because they don’t run the updates regularly enough, and if they were to run updates every week they wouldn’t have these problems.
Unfortunately I have fallen foul of my own advice and haven’t run updates in a couple of weeks. This is now resulting in the following error:
* ERROR: gnome-extra/evolution-data-server-1.12.2-r1 failed. * Call stack: * ebuild.sh, line 46: Called src_compile * environment, line 3397: Called gnome2_src_compile * environment, line 2573: Called die * The specific snippet of code: * emake || diefunc “$FUNCNAME” “$LINENO” “$?” “compile failure” * The die message: * compile failure * * If you need support, post the topmost build error, and the call stack if * relevant. * A complete build log is located at ‘/var/tmp/portage/gnome-extra/evolution * -data-server-1.12.2-r1/temp/build.log’. * The ebuild environment file is located at ‘/var/tmp/portage/gnome-extra/ * evolution-data-server-1.12.2-r1/temp/environment’.
When you hit errors like this there are a number of things that should and can easily be done which 99% of the time will fix the problem. The first is to actually check the logs! The number of times I read the Gentoo forums and people don’t post the true topmost build error is unbelievable. Read the error and read the logs:
michaelfclarke@mikes-computer ~ $
cat /var/tmp/portage/gnome-extra/evolution-data-server-1.12.2-r1/temp/build.log \ | grep -i error checking for library containing strerror… none required mode, hide preprocessor errors, passes: stubs skels common headers mode, hide preprocessor errors, passes: stubs skels common headers /bin/sh ../../libtool –tag=CC –mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../src -I../../src -I../../src/libical -I../../src/libical -I. -DPACKAGE_DATA_DIR=\”"/usr/share/evolution-data-server-1.12″\” -I/usr/include/db4.5 -O2 -pipe -MT icalerror.lo -MD -MP -MF .deps/icalerror.Tpo -c -o icalerror.lo icalerror.c x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../src -I../../src -I../../src/libical -I../../src/libical -I. -DPACKAGE_DATA_DIR=\”/usr/share/evolution-data-server-1.12\” -I/usr/include/db4.5 -O2 -pipe -MT icalerror.lo -MD -MP -MF .deps/icalerror.Tpo -c icalerror.c -fPIC -DPIC -o .libs/icalerror.o mv -f .deps/icalerror.Tpo .deps/icalerror.Plo /bin/sh ../../libtool –tag=CC –mode=link x86_64-pc-linux-gnu-gcc -O2 -pipe -version-info 0:0:0 -o libical-evolution.la icalderivedparameter.lo icalderivedproperty.lo icalrestriction.lo icalderivedvalue.lo icalarray.lo icalattach.lo icalcomponent.lo icalenums.lo icalerror.lo icalmemory.lo icalmime.lo icalparameter.lo icalparser.lo icalproperty.lo icalrecur.lo icaltime.lo icaltz-util.lo icaltimezone.lo icalduration.lo icalperiod.lo icaltypes.lo icalvalue.lo pvl.lo sspm.lo vsnprintf.lo icallangbind.lo caldate.lo -lpthread x86_64-pc-linux-gnu-ar cru .libs/libical-evolution.a .libs/icalderivedparameter.o .libs/icalderivedproperty.o .libs/icalrestriction.o .libs/icalderivedvalue.o .libs/icalarray.o .libs/icalattach.o .libs/icalcomponent.o .libs/icalenums.o .libs/icalerror.o .libs/icalmemory.o .libs/icalmime.o .libs/icalparameter.o .libs/icalparser.o .libs/icalproperty.o .libs/icalrecur.o .libs/icaltime.o .libs/icaltz-util.o .libs/icaltimezone.o .libs/icalduration.o .libs/icalperiod.o .libs/icaltypes.o .libs/icalvalue.o .libs/pvl.o .libs/sspm.o .libs/vsnprintf.o .libs/icallangbind.o .libs/caldate.o x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../src -I../src -I../src/libical -I../src/libical -I/usr/include/db4.5 -O2 -pipe -MT errors.o -MD -MP -MF .deps/errors.Tpo -c -o errors.o errors.c mv -f .deps/errors.Tpo .deps/errors.Po /bin/sh ../libtool –tag=CC –mode=link x86_64-pc-linux-gnu-gcc -O2 -pipe -o doesnothing access_components.o access_properties_and_parameters.o errors.o main.o parse_text.o ../src/libical/libical-evolution.la ../src/libicalss/libicalss-evolution.la ../src/libicalvcal/libicalvcal-evolution.la -lpthread x86_64-pc-linux-gnu-gcc -O2 -pipe -o doesnothing access_components.o access_properties_and_parameters.o errors.o main.o parse_text.o ../src/libical/.libs/libical-evolution.a ../src/libicalss/.libs/libicalss-evolution.a ../src/libicalvcal/.libs/libicalvcal-evolution.a -lpthread mode, hide preprocessor errors, passes: stubs skels common headers mode, hide preprocessor errors, passes: stubs skels common headers x86_64-pc-linux-gnu-gcc -O2 -pipe -Wall -Wmissing-prototypes -Wno-sign-compare -o .libs/create-account create-account.o -pthread -Wl,-R/usr/lib64/nspr ../../libedataserver/.libs/libedataserver-1.2.so -L/usr/lib64/nspr -L/usr/lib64/lib /usr/lib64/libdb-4.5.so /usr/lib64/libsoup-2.2.so -L/usr/lib64 -lnsl /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so /usr/lib64/libxml2.so -lz -lm /usr/lib64/libbonobo-2.so /usr/lib64/libbonobo-activation.so /usr/lib64/libORBitCosNaming-2.so /usr/lib64/libgconf-2.so /usr/lib64/libORBit-2.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libgthread-2.0.so -lrt /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so -lplds4 -lplc4 -lnspr4 -ldl -lpthread x86_64-pc-linux-gnu-gcc -O2 -pipe -Wall -Wmissing-prototypes -Wno-sign-compare -o .libs/soap-test soap-test.o -pthread -Wl,-R/usr/lib64/nspr -L/usr/lib64 ./.libs/libegroupwise-1.2.so -L/usr/lib64/nspr /usr/lib64/libsoup-2.2.so -lnsl /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so /usr/lib64/libxml2.so -lz -lm /usr/lib64/libbonobo-2.so /usr/lib64/libbonobo-activation.so /usr/lib64/libORBitCosNaming-2.so /usr/lib64/libgconf-2.so /usr/lib64/libORBit-2.so /usr/lib64/libgmodule-2.0.so /usr/lib64/libgthread-2.0.so -lrt /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so -lplds4 -lplc4 -lnspr4 -ldl -lpthread make[4]: *** [create-account] Error 1 make[4]: *** [soap-test] Error 1 make[3]: *** [all] Error 2 make[2]: *** [all-recursive] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all] Error 2 * ERROR: gnome-extra/evolution-data-server-1.12.2-r1 failed. * If you need support, post the topmost build error, and the call stack if relevant.
michaelfclarke@mikes-computer ~ $
Reading the above nothing stood out that much so I decided to do a grep for warning instead…
michaelfclarke@mikes-computer ~ $ cat /var/tmp/portage/gnome-extra/evolution-data-server-1.12.2-r1/temp/build.log \ |grep -i warning configure: WARNING: krb5 support disabled checking what warning flags to pass to the C compiler… -Wall -W missing-prototypes e-data-server-module.c:86: warning: dereferencing type-punned pointer will break strict-aliasing rules e-data-server-module.c:89: warning: dereferencing type-punned pointer will break strict-aliasing rules e-data-server-module.c:92: warning: dereferencing type-punned pointer will break strict-aliasing rules broken-date-parser.c:125: warning: pointer targets in assignment differ in signedness … /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libgnutls.so.13, needed by /usr/lib64/libsoup-2.2.so, not found (try using -rpath or -rpath-link)
Ah! The last line of the output seemed to be the problem. My first idea was to simply create a symlink and see what happens:
ln -s /usr/lib64/libgnutls.so.26 /usr/lib64/libgnutls.so.13
This failed to work. Instead I then tried to re-emerge libsoup. This worked and my original emerge then proceeded with no errors
>>> /usr/share/doc/evolution-data-server-1.12.2-r1/TODO.bz2 * Installing GNOME 2 GConf schemas * Reloading GConf schemas … [ ok ] * Updating desktop mime database … * Updating shared mime info database … * Updating icons cache … [ ok ] >>> Regenerating /etc/ld.so.cache… >>> gnome-extra/evolution-data-server-1.12.2-r1 merged. >>> No packages selected for removal by clean
The upshot of all this is - keep your system up to date and remember to read the log files.