Page 1 of 3 123 LastLast
Results 1 to 10 of 21

Thread: libstdc++6 conflict

  1. #1

    Default libstdc++6 conflict

    Hey there,

    The office workstation suddenly starting having issues. That is, zypper won't work and posts the error
    Code:
    zypper: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    We can't seem to find libstdc++ installed anywhere, so we figured we'd put it back on the system by running
    Code:
    rpm -Uvh http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    rpm -Uvh http://download.opensuse.org/repositories/openSUSE:/13.1/standard/i586/libstdc++6-4.8.1_20130909-3.2.1.i586.rpm
    (one for 32-bit and one for 64-bit). But we then get an error stating that there is a conflict between libstdc++6 and libstdc++6-4.8.1_20130909. But we cannot find any libstdc++6 still on the system. Is there a cache somewhere that still thinks it exists when it really doesn't?

    Thank you in advance for any help.

  2. #2
    Join Date
    Jun 2008
    Location
    The English Lake District. UK - GMT/BST
    Posts
    36,729
    Blog Entries
    20

    Default Re: libstdc++6 conflict

    The file is
    libstdc++6

    I have
    Code:
    rpm -qi libstdc++6Name        : libstdc++6
    Version     : 4.8.1_20130909
    Release     : 3.2.1
    Architecture: x86_64
    Install Date: Wed 06 Nov 2013 19:58:30 GMT
    Group       : System/Libraries
    Size        : 995512
    License     : GPL-3.0-with-GCC-exception
    Signature   : RSA/SHA256, Fri 04 Oct 2013 08:49:58 BST, Key ID b88b2fd43dbdc284
    Source RPM  : gcc48-4.8.1_20130909-3.2.1.src.rpm
    Build Date  : Fri 04 Oct 2013 08:24:39 BST
    Build Host  : build10
    Relocations : (not relocatable)
    Packager    : http://bugs.opensuse.org
    Vendor      : openSUSE
    URL         : http://gcc.gnu.org/
    Summary     : The standard C++ shared library
    Description :
    The standard C++ library, needed for dynamically linked C++ programs.
    Distribution: openSUSE 13.1

    Perhaps we should see what your repos are like

    Code:
    zypper lr -d
    Leap 15.1_KDE
    My Articles Was I any help? If yes: Click the star below

  3. #3
    Join Date
    Oct 2008
    Location
    Glasgow, Scotland
    Posts
    1,131

    Default Re: libstdc++6 conflict

    Quote Originally Posted by nmearl View Post
    Code:
    zypper: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    You are missing a symbolic link:
    Code:
    :~> l  /usr/lib64/libstdc++*
    lrwxrwxrwx 1 root root   19 Nov  6 19:58 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.18*
    -rwxr-xr-x 1 root root 973K Oct  4  2013 /usr/lib64/libstdc++.so.6.0.18*
    But this may be due to a missing package. This is what I get:
    Code:
    :~> rpm -qa libstdc*
    libstdc++6-4.8.1_20130909-3.2.1.x86_64
    What do you get?


    We can't seem to find libstdc++ installed anywhere, so we figured we'd put it back on the system by running
    [CODE]rpm -Uvh http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    rpm -Uvh http://download.opensuse.org/repositories/openSUSE:/13.1/standard/i586/libstdc++6-4.8.1_20130909-3.2.1.i586.rpm
    You cannot mix i586 and 86_64 packages. Choose acording to the system architecture. You only need the 32bit packages if you are running a dependent 32bit program; normally this is only needed for grub etc. If you have the correct repositories installed just
    Code:
    # zypper install  libstdc++6  libstdc++6-32bit
    YaST Software Manager makes this much easier for checking and fixing problems. Zypper is ideal for bulk stuff and putting in scripts. If your rpm database is damaged and misreports, you can rebuild it with:
    Code:
    #  rpm --rebuilddb
    ~Thank you for sharing an interesting problem.
    --
    slàinte mhath,
    rayH

  4. #4

    Default Re: libstdc++6 conflict

    Quote Originally Posted by caf4926 View Post
    [/CODE]


    Perhaps we should see what your repos are like

    Code:
    zypper lr -d
    Thanks for the reply. However, I cannot use zypper, when we try, we get the message

    Code:
    zypper: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

  5. #5

    Default Re: libstdc++6 conflict

    Quote Originally Posted by eng-int View Post
    But this may be due to a missing package. This is what I get:
    Code:
    :~> rpm -qa libstdc*
    libstdc++6-4.8.1_20130909-3.2.1.x86_64
    What do you get?
    Thanks for the reply. I get
    Code:
    :~> rpm -qa libstdc*rpm: No match.
    Quote Originally Posted by eng-int View Post
    You cannot mix i586 and 86_64 packages. Choose acording to the system architecture. You only need the 32bit packages if you are running a dependent 32bit program; normally this is only needed for grub etc. If you have the correct repositories installed just
    Code:
    # zypper install  libstdc++6  libstdc++6-32bit
    Thanks, the only reason we were trying to install both is that both /usr/lib/ and /usr/lib64/ contained libstdc++6. Now they are both gone.

    Quote Originally Posted by eng-int View Post
    YaST Software Manager makes this much easier for checking and fixing problems. Zypper is ideal for bulk stuff and putting in scripts. If your rpm database is damaged and misreports, you can rebuild it with:
    Code:
    #  rpm --rebuilddb
    Zypper is non-functional without the libstdc++6. Will rebuilding the rpm database allow for the rpm install of libstdc++6?

  6. #6

    Default Re: libstdc++6 conflict

    Quote Originally Posted by nmearl View Post
    Thanks, the only reason we were trying to install both is that both /usr/lib/ and /usr/lib64/ contained libstdc++6.
    That's why there's libstdc++6-32bit. To make it possible to install the 32bit and the 64bit version at the same time.

    Zypper is non-functional without the libstdc++6. Will rebuilding the rpm database allow for the rpm install of libstdc++6?
    I don't think that your rpm database is corrupt.
    Probably you just removed the file somehow, but the package is still installed.
    Trying to uninstall libstdc++6 would remove a lot of other packages as well as a consequence.
    On my system, this happens:
    Code:
    # zypper rm libstdc++6
    Loading repository data...
    Reading installed packages...
    Resolving package dependencies...
    
    The following 4574 packages are going to be REMOVED:
    ...
    
    The following product is going to be REMOVED:
      openSUSE 
    
    The following 5 packages are going to be downgraded:
      libquicktime0 libquvi-scripts libtirpc1 mlocate-lang ucode-amd 
    
    The following package is going to change architecture:
      mlocate-lang  noarch -> x86_64
    
    The following package is going to change vendor:
      libquicktime0  http://packman.links2linux.de -> openSUSE
    
    5 packages to downgrade, 4574 to remove, 1 to change vendor, 1 to change arch.
    Overall download size: 468.7 KiB. After the operation, 12.8 GiB will be freed.
    Continue? [y/n/p/? shows all options] (y):
    So you cannot really uninstall it, especially not by mistake.

    You should instead try to specify the "--nodeps" and "--replacepkgs" switches to rpm. It should then get installed, and zypper should work again.
    Code:
    rpm -Uvh --nodeps --replacepkgs http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    Last edited by wolfi323; 15-Apr-2014 at 10:30.

  7. #7
    Join Date
    Oct 2008
    Location
    Glasgow, Scotland
    Posts
    1,131

    Default Re: libstdc++6 conflict

    Quote Originally Posted by wolfi323 View Post
    You should instead try to specify the "--nodeps" and "--replacepkgs" switches to rpm. It should then get installed, and zypper should work again.
    Code:
    rpm -Uvh --nodeps --replacepkgs http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    I have just removed and replaced libstdc++6 on a test system. This is what happened:
    Code:
    valeria:~ # rpm -e --nodeps libstdc++6
    /sbin/ldconfig: /lib64/libselinux.so.1 is not a symbolic link
    
    valeria:~ # zypper lr
    zypper: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
    valeria:~ # 
    valeria:~ # rpm -qa libstdc*
    libstdc++6-32bit-4.8.1_20130909-3.2.1.x86_64
    valeria:~ # 
    valeria:~ # rpm -Uvh --nodeps --replacepkgs http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    Retrieving http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:libstdc++6-4.8.1_20130909-3.2.1  ################################# [100%]
    /sbin/ldconfig: /lib64/libselinux.so.1 is not a symbolic link
    
    valeria:~ # rpm -qa libstdc*
    libstdc++6-32bit-4.8.1_20130909-3.2.1.x86_64
    libstdc++6-4.8.1_20130909-3.2.1.x86_64
    valeria:~ # 
    valeria:~ # zypper info libstdc++6
    Loading repository data...
    Reading installed packages...
    
    
    Information for package libstdc++6:
    -----------------------------------
    Repository: 13.1-repo-oss
    Name: libstdc++6
    Version: 4.8.1_20130909-3.2.1
    Arch: x86_64
    Vendor: openSUSE
    Installed: Yes
    Status: up-to-date
    Installed Size: 972.2 KiB
    Summary: The standard C++ shared library
    Description: 
    The standard C++ library, needed for dynamically linked C++ programs.
    valeria:~ #
    I am not sure that rpm rebuilddb would be useful; but it should not do any harm, and may help. You will also need to install
    http://download.opensuse.org/distrib...2.1.x86_64.rpm
    ~Thank you for sharing an interesting problem.
    --
    slàinte mhath,
    rayH

  8. #8

    Default Re: libstdc++6 conflict

    Thank you guys for all your help and patience. Running the command
    Code:
    rpm -Uvh --nodeps --replacepkgs http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    yields this error message
    Code:
    Retrieving http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpmPreparing...                ########################################### [100%]
    	file /usr/lib64/libstdc++.so.6 from install of libstdc++6-4.8.1_20130909-3.2.1.x86_64 conflicts with file from package libstdc++44-4.4.1_20090817-2.3.4.x86_64
    I am unsure of what to make of this.

  9. #9

    Default AW: Re: libstdc++6 conflict

    Quote Originally Posted by nmearl View Post
    Thank you guys for all your help and patience. Running the command
    Code:
    rpm -Uvh --nodeps --replacepkgs http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    yields this error message
    Code:
    Retrieving http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpmPreparing...                ########################################### [100%]
        file /usr/lib64/libstdc++.so.6 from install of libstdc++6-4.8.1_20130909-3.2.1.x86_64 conflicts with file from package libstdc++44-4.4.1_20090817-2.3.4.x86_64
    I am unsure of what to make of this.
    Add "--replacefiles" as well then:
    Code:
    rpm -Uvh --nodeps --replacepkgs --replacefiles http://download.opensuse.org/repositories/openSUSE:/13.1/standard/x86_64/libstdc++6-4.8.1_20130909-3.2.1.x86_64.rpm
    And btw, apparently you have libstdc++44-4.4.1_20090817 installed which causes the problem (maybe even all of them). Try to uninstall it first (with "rpm -e --nodeps libstdc++44"). Where do you even have that from?
    I can't find this in openSUSE 13.1 at all.

  10. #10
    Join Date
    Oct 2008
    Location
    Glasgow, Scotland
    Posts
    1,131

    Default Re: AW: Re: libstdc++6 conflict

    Quote Originally Posted by wolfi323 View Post
    And btw, apparently you have libstdc++44-4.4.1_20090817 installed which causes the problem (maybe even all of them). Try to uninstall it first (with "rpm -e --nodeps libstdc++44"). Where do you even have that from?
    I can't find this in openSUSE 13.1 at all.
    Possibly openSuSE-11.2, I do not know about 11.3, but 11.4 was definitely only libstdc++33 and libstdc++45, and 11.2 was .libstdc++43.

    The reference to libstdc++44, but not being reported by rpm -q was what made me suggest rebuilddb.
    ~Thank you for sharing an interesting problem.
    --
    slàinte mhath,
    rayH

Page 1 of 3 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •