Library hell after update

Hi to all,

it seems I have managed to cripple my openSUSE installation by updating it. Since a few days, gimp will no longer start but rather die:

** Message: Module ‘/usr/lib/gegl-0.1/snn-mean.so’ load error: /usr/lib/gegl-0.1/snn-mean.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/contrast-curve.so’ load error: /usr/lib/gegl-0.1/contrast-curve.so: undefined symbol: g_malloc_n
** Message: Module ‘/usr/lib/gegl-0.1/lens-correct.so’ load error: /usr/lib/gegl-0.1/lens-correct.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/box-min.so’ load error: /usr/lib/gegl-0.1/box-min.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/kuwahara-max.so’ load error: /usr/lib/gegl-0.1/kuwahara-max.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/color-reduction.so’ load error: /usr/lib/gegl-0.1/color-reduction.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/kuwahara-min.so’ load error: /usr/lib/gegl-0.1/kuwahara-min.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/mblur.so’ load error: /usr/lib/gegl-0.1/mblur.so: undefined symbol: g_malloc_n
** Message: Module ‘/usr/lib/gegl-0.1/box-blur.so’ load error: /usr/lib/gegl-0.1/box-blur.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/demosaic-simple.so’ load error: /usr/lib/gegl-0.1/demosaic-simple.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/kuwahara.so’ load error: /usr/lib/gegl-0.1/kuwahara.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/stretch-contrast.so’ load error: /usr/lib/gegl-0.1/stretch-contrast.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/mirrors.so’ load error: /usr/lib/gegl-0.1/mirrors.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/disc-percentile.so’ load error: /usr/lib/gegl-0.1/disc-percentile.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/bilateral-filter.so’ load error: /usr/lib/gegl-0.1/bilateral-filter.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/snn-percentile.so’ load error: /usr/lib/gegl-0.1/snn-percentile.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/hstack.so’ load error: /usr/lib/gegl-0.1/hstack.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/demosaic-bimedian.so’ load error: /usr/lib/gegl-0.1/demosaic-bimedian.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/c2g.so’ load error: /usr/lib/gegl-0.1/c2g.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/raw-load.so’ load error: /usr/lib/gegl-0.1/raw-load.so: undefined symbol: g_malloc_n
** Message: Module ‘/usr/lib/gegl-0.1/remap.so’ load error: /usr/lib/gegl-0.1/remap.so: undefined symbol: g_malloc_n
** Message: Module ‘/usr/lib/gegl-0.1/gaussian-blur.so’ load error: /usr/lib/gegl-0.1/gaussian-blur.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/stress.so’ load error: /usr/lib/gegl-0.1/stress.so: undefined symbol: g_malloc0_n
** Message: Module ‘/usr/lib/gegl-0.1/mono-mixer.so’ load error: /usr/lib/gegl-0.1/mono-mixer.so: undefined symbol: g_malloc_n
** Message: Module ‘/usr/lib/gegl-0.1/box-max.so’ load error: /usr/lib/gegl-0.1/box-max.so: undefined symbol: g_malloc0_n
gimp: symbol lookup error: gimp: undefined symbol: g_realloc_n

This came to be in steps. Since I am on travel and have rarely access to a reasonably fast net, I did not much update my openSUSE since its installation in last June (I think it’s 11.3, but could also be 11.2; how to find out? Nothing in boot.msg).

<ASIDE>
The previous update a few months ago resulted in the near-death of okular; it will now die when trying to open some pdf files, while other will work, at least initially.
okular: symbol lookup error: /usr/lib/libpoppler-qt4.so.3: undefined symbol: _ZN8QMapData10createDataEi
Fortunately, I was able to make kpdf from the predecessor openSUSE 11.0 make run, which I found on an old backup.
</ASIDE>

Since I have now a somewhat better internet connection, I was willing to try an update again (by yast); obviously, a large bunch of updates had amassed, including all the libreoffice stuff. It took altogether three days, with frequent interruptions (and one reboot in between). Downloads of individual patches were often stalled and had to be resumed — I hope, they got resumed correctly, but who can tell?

And after everything was finished, the system behaved a little bit irregularily, but after two (!) reboots, it seemed mostly normal. Except that gimp won’t run anymore. AFAICT, no other software is affected. I don’t use gimp every day, but it certainly ran long after the preceding update, and I think I did nothing to the system in between.

I did not have many ideas how to mend the problem. Installing libraries in parallel (LD_LIBRARY_PATH) would not be a problem, but I simply have no idea which libraries, and where to get them. Deinstalling and reinstalling gimp availed nothing.

Any clues what to do? Full system rebuild is also not so easy, because the optical drive did not survive the travelling, and anything over the net is painfully slow, around one or two minutes per megabyte. :frowning:

Warm regards from very hot India,
masala_wallah

Can you please post your repos From a terminal do:

zypper lr -d

You can find the release version in /etc/SuSE-release

~> cat /etc/SuSE-release
openSUSE 11.4 (x86_64)
VERSION = 11.4
CODENAME = Celadon

On 2011-04-26 09:36, masala wallah wrote:
> it seems I have managed to cripple my openSUSE installation by updating
> it.

What exactly do you mean by “update”?


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

| Alias | Name | Enabled | Refresh | Priority | Type | URI | Service

—±----------------------±----------------------±--------±--------±---------±-------±----------------------------------------------------------------------------±-------
1 | Education | Education | Yes | Yes | 99 | rpm-md | Index of /repositories/Education/openSUSE_11.3 |
2 | Packman Repository | Packman Repository | No | Yes | 99 | rpm-md | Index of /pub/packman/suse/11.2 |
3 | google-chrome | google-chrome | Yes | Yes | 99 | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/i386 |
4 | openSUSE 11.2-0 | openSUSE 11.2-0 | No | No | 99 | yast2 | cd:/// |
5 | openSUSE:11.3 | openSUSE:11.3 | Yes | Yes | 99 | yast2 | Index of /distribution/11.3/repo/oss |
6 | openSUSE:11.3:Contrib | openSUSE:11.3:Contrib | Yes | Yes | 99 | rpm-md | Index of /repositories/openSUSE:/11.3:/Contrib/standard |
7 | repo-debug | openSUSE-11.2-Debug | Yes | Yes | 99 | yast2 | Index of /debug/distribution/11.2/repo/oss |
8 | repo-non-oss | openSUSE-11.2-Non-Oss | Yes | Yes | 99 | yast2 | Index of /distribution/11.2/repo/non-oss |
9 | repo-oss | openSUSE-11.2-Oss | Yes | Yes | 99 | yast2 | Index of /distribution/11.2/repo/oss |
10 | repo-source | openSUSE-11.2-Source | Yes | Yes | 99 | yast2 | Index of /source/distribution/11.2/repo/oss |
11 | repo-update | openSUSE-11.2-Update | Yes | Yes | 99 | rpm-md | Index of /update/11.2 |

The update was done by yast, this is by clicking Chameleon, System Administration, (password), online update.

The version is actually 11.2 (clarified by the simple remedy that herbwahn gave in this thread). This makes some of the entries in the above list look spurious. I really don’t now how I might have picked them up.

The full output of rpm -q -all is probably too long to post here; but I have placed it at a web server at http://www.uni-graz.at/~katzer/rpm-q-all (it has been passed through sort, but not changes otherwise), as it might contain a clue to the wise.

If the system is now contaminated by some 11.3 libraries, how comes that most seems to work still, and more importantly, how can I get rid of them?

Thanks a lot for your help.

masala_wallah

Boot to level 3
http://dl.dropbox.com/u/10573557/YaST%20level3/1%20Initial%20Boot.png
then
http://dl.dropbox.com/u/10573557/YaST%20level3/2%20Edit%20the%20Boot%20line.png

Login as root

Do the following:

zypper rr 6
zypper rr 5

next do this

zypper dup

It’s a massive undertaking and will take time.

*Your network connection should be active at level 3. If it’s not, boot this way, (auto login must be disabled)
http://dl.dropbox.com/u/10573557/Session%20Login/console.login.png

Is it save to interrupt? Network may go at any time, and I might have to shut down (or suspend, if this is possible in level 3) in between.

Can you estimate the Megabytes? I’m running at one or two Mbytes per minute, if things go well.

Oh !

Wait…

Do you have the 11.2 install DVD?

Yes, I have the DVD somewhere in the backpack (must check to be 100% sure, and of couse it might be damaged by now). I don’t have a DVD drive, but that might be fixable.

Did you remove the repos like I showed above
zypper rr 6
zypper rr 5

?

You need to do that. You don’t have to do it at level 3
You can just boot to the desktop if it works OK and delete them in Yast > Software > Repositories

Yes, I have removed the repositories. Can I also do a zypper dup from the command line in an xterm window, or do I really have to boot in console mode for this?

Almost everything (except gimp and okular) runs on my system, even though it was mistreated: KDE4, xine, libreoffice, yast, wine applications, various browsers. So it would be a lot more convenient if I could surf the net while zypper fixes the problem.

With your internet, don’t run zypper dup

Look through software management, view by repositories and by default it should select ‘system’ rather than any one repo

This image shows what I mean: http://dl.dropbox.com/u/10573557/Software%20Management/orphaned_packages.png
But we are not really looking for orphaned packages, but do you see the the packages, some show with RED and other with BLUE
Where you see that, click the check box by that package.
A red package will roll back (or it could be orphaned and need deleting)
Blue will update

work through, you don’t need to do it all at one time

On 2011-04-27 07:06, masala wallah wrote:
>
> Yes, I have removed the repositories. Can I also do a zypper dup from
> the command line in an xterm window, or do I really have to boot in
> console mode for this?

Run this:

Code:

rpm -q -a --queryformat "%{INSTALLTIME};%{INSTALLTIME:day};
%{BUILDTIME:day}; %{NAME};%{VERSION}-%-7{RELEASE};%{arch};
%{VENDOR};%{PACKAGER};%{DISTRIBUTION};%{DISTTAG}
"
| sort | cut --fields=“2-” --delimiter=;
| tee rpmlist.csv | less -S

or

rpm -q -a --queryformat "%{INSTALLTIME} %{INSTALLTIME:day}
%{BUILDTIME:day} %-30{NAME} %15{VERSION}-%-7{RELEASE} %{arch}
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}
"
| sort | cut --fields=“2-” > rpmlist

The first version is for importing into an spreadsheet, the second for a
terminal or editor.

It generates a large list with all your packages, with columns of info,
that allow identifying packages by procedence. When you find one that
doesn’t belong to 11.2, display that package in YaST package management,
get to the tab version, and click on the proper version.

One by one. It is tedious, but it works, and minimizes what you have to
download.

This is very similar to what Caf tells you, but in my experience is more
complete.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

On 04/26/2011 07:36 PM, caf4926 wrote:
>
> Boot to level 3
> http://dl.dropbox.com/u/10573557/YaST%20level3/1%20Initial%20Boot.png
> then
> http://tinyurl.com/26p3xbf
>
> Login as root
>
> Do the following:
>
>
> Code:
> --------------------
> zypper rr 6
> --------------------

snip
Shouldn’t he do a
zypper rr 1
as well before doing a zypper dup?


Kevin Miller
Juneau, Alaska
http://www.alaska.net/~atftb
“In the history of the world, no one has ever washed a rented car.”

  • Lawrence Summers

On 2011-04-28 00:09, Kevin Miller wrote:
> On 04/26/2011 07:36 PM, caf4926 wrote:

> Shouldn’t he do a
> zypper rr 1
> as well before doing a zypper dup?

Yes, but I would also go the slow route I recommended.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

I have followed the advice: Removed the wrong repositories and downgrade (by selecting “upgrade”) all packages that were derived from the wrong repositories.

This worked reasonably well until it was glibc’s turn.

Amazingly, the yast software management tool did not notice any problems when I selected glibc for upgrade. It downloaded, installed and thus killed the system rather completely.

I can now boot only to runlevel 3. At the command line, much will not work because the glibc is broken. And if I leave the machine unattended for a few minutes, screen blackens and the whole machine goes into brick mode (I guess it cannot recover from a power saving mechanism). Failsafe mode is pretty much the same.

I try to retype a typical error message:

zypper: symbol lookup error: /usr/libstdc++.so.6: undefined symbol: _ZNSt7num_getIcSt19istreambuf_iteraturIcSt11char_traitsIcEEE2idE, version GLIBCXX_3.4

What has happened? Is there anything to do short of a complete reinstall (in a country where nobody has ever heard of openSUSE, and people have a habit of negotiating you into something you don’t want).

Oh, had I just done nothing.

On 2011-05-05 09:06, masala wallah wrote:
> What has happened? Is there anything to do short of a complete
> reinstall (in a country where nobody has ever heard of openSUSE, and
> people have a habit of negotiating you into something you don’t want).

Again: follow the slow route I wrote about 2011-04-27


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

That’s what I did: grepped for all 11.3 packages in the log file generated by your advanced spell and then selected them for update in graphical yast (after removing the spurious repositories).

But now it seems that I came to a state where (I guess) libstdc++ does no longer fit to libc or glibc. Result is that almost nothing, in particular nothing graphical, works anymore. I do get a command line in single user mode, and rpm seems to run, though zypper or yast (command line version) do not.

Therefore, it seems, no repair is possible any longer.

While I was typing the previous message, I tried in parallel a really desparate plan:

I had identified libstdc++45;4.5.0_20100604-1.12 as the likely culprit, because it is one of the spurious 11.3 packages installed on the system. Amazingly, when I downgraded from glibc 2.11.2-2.4.i686 (11.3) to glibc 2.10.1-10.9.1.i686 (11.2), yast allowed my to do so without warning of the imanent conflict with libstdc++45.

Maybe, yast was mistaken, and thus I downloaded libstdc++44-4.4.1_20090817-2.3.4.i586.rpm and tried to force it onto the system, removing the 45 version brutally (rpm -e --nodeps) despite the hundreds of dependencies; after installation of the lower 44 version, everything seems to be fine again; in any case, X and KDE are running.

It seems I escaped narrowly (main reason of success: rpm the program is probably written in C, not C++). I will now proceed with the slow route you suggested to get the system rid of all remaining 11.3 packages. But this is going to take a couple of more days: I can hardly download more than 100 to 200 Mbytes in one working unit (3 hours internet cafe).

On 2011-05-05 09:06, masala wallah wrote:
> zypper: symbol lookup error: /usr/libstdc++.so.6: undefined symbol:

Is that the error you got? because that is not the correct file, it is
“/usr/lib/libstdc++.so.6”.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)