4 Replies Latest reply on Mar 31, 2010 4:18 PM by 807557

    strange error regarding libmlib.so.2 after upgrading to gcc3.4.6

      Hello everyone,
      I just upgraded my sparc Solaris 10 system to gcc3.4.6, plus a BUNCH of additional tools and libraries that rely on gcc3.4.6 libraries, from www.sunfreeware.com. I'm now getting a very strange error on a few of the tools, regarding the libmlib.so.2 library.

      For example, when attempting to run gtk-demo, I'm getting the following:
      sun440:root# gtk-demo
      ld.so.1: gtk-demo: fatal: libmlib.so.2: version `SUNW_2.3' not found (required by file /usr/local/lib/libgdk_pixbuf-2.0.so.0)
      ld.so.1: gtk-demo: fatal: libmlib.so.2: open failed: No such file or directory

      If I do an ldd on gtk-demo, this is what I see:
      sun440:root# ldd /usr/local/bin/gtk-demo
      libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0
      libgdk-x11-2.0.so.0 => /usr/local/lib/libgdk-x11-2.0.so.0
      libgtk-x11-2.0.so.0 => /usr/local/lib/libgtk-x11-2.0.so.0
      libXrandr.so.2 => /usr/lib/libXrandr.so.2
      libXext.so.0 => /usr/lib/libXext.so.0
      libpangocairo-1.0.so.0 => /usr/local/lib/libpangocairo-1.0.so.0
      libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0
      libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0
      libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0
      libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0
      libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0
      libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0
      libiconv.so.2 => /usr/local/lib/libiconv.so.2
      libcairo.so.2 => /usr/local/lib/libcairo.so.2
      libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1
      libfreetype.so.6 => /usr/local/lib/libfreetype.so.6
      libexpat.so.0 => /usr/local/lib/libexpat.so.0
      libpng12.so.0 => /usr/local/lib/libpng12.so.0
      libz.so => /usr/local/lib/libz.so
      libXrender.so.1 => /usr/local/lib/libXrender.so.1
      libSM.so.6 => /usr/lib/libSM.so.6
      libICE.so.6 => /usr/lib/libICE.so.6
      libX11.so.4 => /usr/lib/libX11.so.4
      libsocket.so.1 => /lib/libsocket.so.1
      libnsl.so.1 => /lib/libnsl.so.1
      libm.so.2 => /lib/libm.so.2
      libmlib.so.2 => /usr/lib/libmlib.so.2
      libc.so.1 => /lib/libc.so.1
      libmlib.so.2 (SUNW_2.3) => (version not found)
      libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
      libmlib.so.2 (SUNW_2.3) =>       (version not found)
      libXrender.so.1 (RENDER_0.6) => (version not found)
      libintl.so.8 => /usr/local/lib/libintl.so.8
      libsec.so.1 => /lib/libsec.so.1
      libdl.so.1 => /lib/libdl.so.1
      libmp.so.2 => /lib/libmp.so.2
      libmd.so.1 => /lib/libmd.so.1
      libscf.so.1 => /lib/libscf.so.1
      libavl.so.1 => /lib/libavl.so.1
      libdoor.so.1 => /lib/libdoor.so.1
      libuutil.so.1 => /lib/libuutil.so.1
      libgen.so.1 => /lib/libgen.so.1

      I am also getting this same error repeatedly when trying to run Firefox 3.6. Any ideas? I do have this library installed:

      sun440:root# ls -la /usr/lib/libmlib*
      lrwxrwxrwx 1 root root 14 Nov 15 2006 /usr/lib/libmlib.so -> ./libmlib.so.2
      -r-xr-xr-x 1 root bin 20260528 Jan 22 2005 /usr/lib/libmlib.so.2

      Any ideas? It's very frustrating. Thanks in advance,

      jeff davey
        • 1. Re: strange error regarding libmlib.so.2 after upgrading to gcc3.4.6
          I Think this problem is generated because you have updated to gcc3.4.6 but you still use the old liberaries for the older version.
          I think also the new liberaries were installed on the system but not on the same path that is used by gtk

          so first search for it:
          #find / -name libmlib.so.2
          then replace the new one with the old one in /usr/local/lib
          • 2. Re: strange error regarding libmlib.so.2 after upgrading to gcc3.4.6
            I don't understand how that would help. libmlib.so.2 is not part of gcc, it's from Sun package SUNWmlib. There is no libmlib.so.2 as part of the gcc or gcclibs packages from sunfreeware.

            I did do a search for all instances of libmlib.so.2, and I got the following results:

            Then, as a test, I updated my LD_LIBRARY_PATH to incorporate the paths so the various versions would be seen first, and it did not make any difference. I keep getting this when running ldd on gtk-demo:

            libmlib.so.2 (SUNW_2.3) => (version not found)
            libmlib.so.2 (SUNW_2.3) => (version not found)
            libXrender.so.1 (RENDER_0.6) => (version not found)

            I'm also confused about the libXrender not being found as well. Can anyone else shed some light on this? Thanks!
            • 3. Re: strange error regarding libmlib.so.2 after upgrading to gcc3.4.6
              Robert Cohen
              Sun has introduced versioning on some of its libraries.
              I believe it means that the packages of sunfreeware were compiled against a higher version of the library than your system has.
              So you need to install the appropriate patch to get the higher version.

              As far as mlib goes, that probably 121620-04.
              Which should give version 2.5 (and below).
              Since you don't even have 2.3, you're quite a way behind..

              BTW, the program pvs will print out versioning info for a shared library.
              • 4. Re: strange error regarding libmlib.so.2 after upgrading to gcc3.4.6
                Thanks, this was the resolution path I was following yesterday. I had downloaded that patch, but it would not install because because it said the version of the SUNWmlib packages I had installed were a different version than the patch is addressing. However, what I decided to do this morning was load up the 05/08 media DVD, and I uninstalled the SUNWmlib* packages from the system and reinstalled them. After that, I patched the system with that 121620-04 patch - luckily, it does not rely on any others, so it didn't cause a cascade of necessary updates. Problem is solved! Thanks for your help.