“Google- क्रोम-स्टेबिलिटी libstdc ++ 6 (> = 4.8.0) पर निर्भर करता है; हालांकि: सिस्टम पर libstdc ++ 6 का संस्करण 4.6.3-1ubuntu5 है। "


10

मैं google-chrome-stableएक ताजा ubuntu 12.04 स्थापना पर स्थापित करने की कोशिश कर रहा हूँ । मैं निम्नलिखित कमांड चलाता हूं

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb

मुझे निम्नलिखित त्रुटियाँ मिलती हैं

dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on libstdc++6 (>= 4.8.0); however:
Version of libstdc++6 on system is 4.6.3-1ubuntu5.
 google-chrome-stable depends on lsb-base (>= 4.1); however:
Version of lsb-base on system is 4.0-0ubuntu20.3.
dpkg: error processing google-chrome-stable (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db ...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for gnome-menus ...
Errors were encountered while processing:
 google-chrome-stable

जब मैं दौड़ता sudo apt-get install -fहूं तो मेरे पास केवल Google-chrome-static हटा दिया जाता है:

The following packages will be REMOVED
  google-chrome-stable

यदि मैं आवश्यक संस्करणों की तलाश करता sudo apt-get install libstdc++6=4.8.0हूं , जैसे मैं कोशिश करता हूं तो मुझे संस्करण नहीं मिल सकता है:

E: Version ‘4.8.0’ for ‘libstdc++6’ was not found

मुझसे इसका समाधान किस प्रकार होगा?

मुझे पता है कि उबंटू 12.04 के 32 बिट संस्करण के लिए अब कोई समर्थन नहीं है। मैं 64 बिट Ubuntu संस्करण चला रहा हूं।


@ वास्तविक शीर्षक सही है। यह सटीक त्रुटि संदेश कहता है।
ब्रिअम

@Braiam मैं केवल आंशिक रूप से सटीक तर्क दूंगा क्योंकि इसमें lsb_base त्रुटि शामिल नहीं है
Glutanimate

@Glutanimate लेकिन lsb- बेस में कोई लाइब्रेरी / बाइनरी नहीं है जो क्रोम उपयोग करता है।
ब्रिअम

@Braiam ठीक है, सच है। अब जब मुझे लगता है कि, अधिकांश उपयोगकर्ता वैसे भी त्रुटि संदेश के पहले भाग की खोज करेंगे, तो चलिए उसी के साथ रहते हैं।
Glutanimate

जवाबों:


14

आपको ये त्रुटियां मिल रही हैं क्योंकि Google ने Ubuntu 12.04 के लिए समर्थन समाप्त कर दिया है।

Google: हम 32-बिट लिनक्स, उबंटू सटीक (12.04) पर Google क्रोम के लिए समर्थन समाप्त करेंगे।

आप वैकल्पिक रूप से उस chromium-browserपर स्थापित कर सकते हैं जिस पर Google Chrome बनाया गया है।

आप क्रोम का उपयोग करने के लिए - Ubuntu 14.04 LTS या Ubuntu 15.10 - दोनों का समर्थन किया जाता है - दोनों को स्थापित कर सकते हैं।

लेकिन मेरा सुझाव है कि आप अप्रैल 21 तक प्रतीक्षा करें, जब नया उबंटू 16.04 एलटीएस जारी किया जाएगा।

आपको यह विचार करना चाहिए कि उबंटू 12.04 एलटीएस के पास आधिकारिक सुरक्षा सहायता का केवल एक वर्ष बचा है।


मेरा 64 बिट Ubuntu संस्करण है। मैंने बस ऑपरेटिव सिस्टम को पुन: स्थापित किया, मुझे एक सप्ताह पहले तक उसी सटीक कॉन्फ़िगरेशन पर काम करने में क्रोम मिला था। मेरा बुरा मैंने यह नहीं कहा कि, क्षमा करें
fmonegaglia

5
@fmonegaglia: यहां सबसे महत्वपूर्ण बात यह है कि उबंटू 12.04 आमतौर पर समर्थित नहीं है, जो कि 32 बिट या 64 बिट उबंटू संस्करण के उपयोग से स्वतंत्र है। Google Chrome केवल 64 बिट उबंटू संस्करणों पर स्थापित किया जा सकता है, जो उबंटू 14.04 से शुरू हो रहे हैं ... :)
cl-netbox

यह निश्चित रूप से सही उत्तर है। दुर्भाग्यवश हममें से कुछ लोग किसी कारण से 12.04 से अटके हुए हैं। डाउनग्रेडिंग (नीचे) जैसे अस्थायी समाधानों के बजाय प्रयास 12.04 से कम हो रहा है। हालांकि कभी-कभी आपको सिर्फ काम करने की जरूरत होती है।
लथोनेज़

6

अंतिम संपादन (2017-09-13) :

यह समाधान अब Chrome रिलीज़ 60 और उसके बाद के लिए काम नहीं करता है । नवीनतम पैकेज libc6 17 2.17 पर निर्भर करते हैं जो Ubuntu 12.04 पर स्थापित नहीं किए जा सकते हैं। यदि आप अभी भी Precise का उपयोग कर रहे हैं, तो आपको या तो उन्नयन पर विचार करना चाहिए (जैसे मैंने किया), या यदि आप अभी भी ऐसा नहीं कर सकते हैं, तो किसी अन्य ब्राउज़र पर स्विच करें (हालांकि इस बिंदु पर आपको कोई भी ऐसा नहीं मिलेगा जिसकी अभी भी देखरेख की जा रही है)।


संपादित करें (2016-12-06) : लगता है कि क्रोम भी अब libfontconfig1 के अपडेटेड संस्करण पर निर्भर करता है (। 2.9.0)। मैंने उसी हिसाब से स्क्रिप्ट को अपडेट किया है। नया संस्करण अब तक ठीक काम कर रहा है, लेकिन कृपया ध्यान दें कि प्रत्येक निर्धारित निर्भरता के साथ आप एप्लिकेशन को कम स्थिर होने की उम्मीद कर सकते हैं।

संपादित करें (2017-06-10) : Chrome 59 नई निर्भरता (libfontconfig1 11 2.11, libpango, और libpangocairo) के साथ आता है। मैंने इन्हें हटाने के लिए स्क्रिप्ट को अपडेट कर दिया है। Chrome की स्थिरता के समान ही चेतावनी फिर से लागू होती है।


Ubuntu 12.04 64bit पर निर्भरता मुद्दों के लिए समाधान

Ubuntu संस्करण 12.04 के लिए आधिकारिक क्रोम समर्थन समाप्त हो गया है, लेकिन इसका मतलब यह नहीं है कि आपको अभी क्रोम को छोड़ना होगा। Ubuntu 12.04 64-बिट पर नवीनतम क्रोम रिलीज़ (2016-06-28 तक) को कैसे स्थापित किया जाए, इस पर एक त्वरित ट्यूटोरियल है।

चेतावनी : यह बहुत ही हैकिश समाधान है जो किसी भी समय काम करना बंद कर सकता है। कृपया सुनिश्चित करें कि आप जानते हैं कि आगे बढ़ने से पहले आप क्या कर रहे हैं।

पूर्व आवश्यक वस्तुएँ

अद्यतन कर्नेल

महत्वपूर्ण: कृपया ध्यान दें कि अपने कर्नेल को अपडेट करना अपने स्वयं के मुसीबतों और हार्डवेयर संगतता मुद्दों के सेट के साथ आ सकता है। सुनिश्चित करें कि आप जानते हैं कि इस चरण के साथ आगे बढ़ने से पहले एक पुराने कर्नेल पर कैसे स्विच करें।

हाल के क्रोम रिलीज़ सैंडबॉक्सिंग से संबंधित कई कर्नेल सुविधाओं पर निर्भर करते हैं जो उबंटू 12.04 के डिफ़ॉल्ट कर्नेल (3.2.0) में उपलब्ध नहीं हैं। यदि आपने अधिक हाल की छवि (बिंदु रिलीज़ 12.04.2 और ऊपर) का उपयोग करके उबंटू 12.04 स्थापित किया है, तो संभावना है कि आप पहले से ही एक अद्यतन कर्नेल खेल रहे हैं; लेकिन अगर आप अभी भी मूल कर्नेल रिलीज़ पर हैं, तो आप LTS हार्डवेयर सक्षमता स्टैक पैकेज के माध्यम से Ubuntu 14.04 के कर्नेल स्टैक को अपडेट कर सकते हैं :

sudo apt-get install --install-recommends linux-generic-lts-trusty

कर्नेल अपग्रेड करने के बाद अपने सिस्टम को रिबूट करना सुनिश्चित करें। अगर सब कुछ ठीक हो गया तो आपका सिस्टम अब लिनक्स कर्नेल 3.13.X का उपयोग करना चाहिए।

निर्भरता के मुद्दे

यदि आप हाल ही के क्रोम बिल्ड को स्थापित करने का प्रयास करते समय प्राप्त होने वाले त्रुटि संदेश को देखते हैं, तो आपको दो अलग-अलग निर्भरता मुद्दे दिखाई देंगे:

  1. libstdc++6 (>= 4.8.0): यह जीएनयू मानक C ++ पुस्तकालय है। Chrome 50.X रिलीज़ करता है और इस लाइब्रेरी के संस्करण 4.8.0 पर निर्भर करता है, लेकिन Ubuntu 12.04 केवल डिफ़ॉल्ट रूप से 4.6.3 के साथ आता है।
  2. lsb-base (>= 4.1): यह लिनक्स स्टैंडर्ड बेस पैकेज है। यह लिनक्स फाउंडेशन द्वारा निर्धारित मानकों के एक सेट के साथ वितरण के अनुपालन को इंगित करता है। Chrome ने 50.X + को रिलीज़ किया है, जिसे एलएसबी बेस 4.1 में परिभाषित मानकों के अनुपालन की आवश्यकता है, लेकिन उबंटू 12.04 केवल 4.0 के अनुरूप है।

चूंकि यह पता चलता है कि ये दोनों मुद्दे आसानी से तय किए जा सकते हैं:

libstdc ++ 6 (> = 4.8.0)

महत्वपूर्ण: libstdc ++ 6 एक महत्वपूर्ण सिस्टम लाइब्रेरी है, जिस पर कई अलग-अलग पैकेज निर्भर करते हैं। इस पैकेज को नए रिलीज़ पर अपग्रेड करना खतरनाक हो सकता है और सिस्टम स्थिरता के मुद्दों को जन्म दे सकता है। मैंने उन दो प्रणालियों पर स्वयं किसी भी समस्या का अनुभव नहीं किया है जिन्हें मैंने इस अपग्रेड पर किया है, लेकिन हमेशा की तरह - आपका माइलेज भिन्न हो सकता है।

सौभाग्य से, हमारे लिए, libstdc++64.8.X आधिकारिक उबंटू टूलचिन परीक्षण में उपलब्ध है जो पीपीए बनाता है । पहले चरण के रूप में हम इस PPA को अपने सॉफ़्टवेयर स्रोतों में जोड़ेंगे:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

इस बिंदु से Google Chrome को स्थापित करने libstdc++6से PPA से निर्भरता खींच ली जाएगी , पहला निर्भरता समस्या को समाप्त कर देगा। इस हल के साथ, दूसरे मुद्दे पर आगे बढ़ते हैं।

lsb- बेस (> = 4.1)

यह पता चला है कि क्रोम चलने के हाल के संस्करणों को प्राप्त करने के लिए हमें वास्तव में इस पैकेज के एक अद्यतन संस्करण को स्थापित करने की आवश्यकता नहीं है। अभी के लिए क्रोम वास्तव में एलएसबी बेस 4.1 में किसी भी संशोधित मानकों पर निर्भर नहीं है, इसलिए निर्भरता lsb-base (>= 4.1)एक नरम निर्भरता प्रतीत होती है जिसे हम आसानी से हटा सकते हैं।

आप इसे मैन्युअल रूप से कर सकते हैं, लेकिन मैंने एक स्क्रिप्ट लिखी है जो आपके लिए निम्नलिखित चरणों का सबसे अधिक ध्यान रखती है।

स्थापना स्क्रिप्ट

#!/bin/bash

# Name:         Chrome installer for Ubuntu 12.04 LTS 64-bit
# Author:       (c) 2016-2017 Glutanimate
# License:      GNU GPLv3
# Manual:       http://askubuntu.com/a/792442/

# Description:
#
# Downloads latest chrome release and makes it compatible with 12.04.
#
# This is a hack that will likely stop working at some point,
# but for those of us who can't upgrade Ubuntu just yet
# it's better than running a completely obsolete Chrome release.

set -e

tmpDir=$(mktemp -d /tmp/deb.XXXXXXXXXX)
debUrl="https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
debFile="$tmpDir/chrome.deb"

cleanup () {
  [[ -n "$tmpDir" ]] && [[ -d "$tmpDir" ]] && rm -r "$tmpDir"
}

trap "cleanup" EXIT

echo "Downloading latest Chrome release..."
mkdir -p "$tmpDir/build"
buildDir="$tmpDir/build"
wget "$debUrl" -O "$tmpDir/chrome.deb" || exit 1
echo "Extracting original deb file..."
dpkg-deb -x "$debFile" "$buildDir"
dpkg-deb --control "$debFile"  "$buildDir/DEBIAN"
echo "Updating dependencies..."
perl -pe  's|lsb-base \(\>\= 4\.1\)|lsb-base \(\>\= 4\.0\)|g' "$buildDir/DEBIAN/control" > "$buildDir/DEBIAN/control.1"
perl -pe  's|libfontconfig1 \(\>\= 2\.11\)|libfontconfig1 \(\>\= 2\.8\.0\)|g' "$buildDir/DEBIAN/control.1" > "$buildDir/DEBIAN/control"
perl -pe  's|libpango-1\.0-0 \(\>\= 1\.14\.0\), libpangocairo-1\.0-0 \(\>\= 1\.14\.0\), ||g' "$buildDir/DEBIAN/control" > "$buildDir/DEBIAN/control.1"
mv "$buildDir/DEBIAN/control.1" "$buildDir/DEBIAN/control"
echo "Building new deb file..."
dpkg -b "$buildDir" "$tmpDir/chrome_modified.deb"
echo "Installing new Chrome version. Please enter your password:"
sudo dpkg -i "$tmpDir/chrome_modified.deb"

उपरोक्त स्क्रिप्ट को कॉपी करें, इसे सहेजें install_chrome.shऔर इसे निष्पादन योग्य के रूप में चिह्नित करें (या तो chmod +x install_chrome.shया आपके फ़ाइल प्रबंधक के गुण संवाद के माध्यम से )।

ऐसा करने से आप स्क्रिप्ट का उपयोग कर सकते हैं:

./install_chrome.sh

स्क्रिप्ट नवीनतम स्थिर क्रोम रिलीज को डाउनलोड करने के लिए आगे बढ़ेगी, इसे संशोधित करके lsb-base 4.1 पर निर्भरता को हटा देगी और आपको अपडेट की गई .debफ़ाइल को इंस्टॉल करने के लिए संकेत देगी dpkg

बधाई हो, अब आप Ubuntu 12.04 पर Google Chrome की एक अद्यतन रिलीज़ का उपयोग कर रहे हैं!

अपडेट

Chrome को अपडेट करने के लिए बस स्क्रिप्ट फिर से चलाएं।

भविष्य की अनुकूलता

महत्वपूर्ण: क्योंकि यह समाधान किसी भी समय काम करना बंद कर सकता है, इसलिए मैं आपको सलाह दूंगा कि नवीनतम कार्यशील संशोधित .debफ़ाइल को बैकअप के रूप में सहेजने के मामले में क्रोम अचानक अपडेट के कारण शुरू होने से इनकार कर दे।

स्क्रिप्ट को sudoचलाने के तुरंत बाद स्क्रिप्ट के अस्थायी निर्देशिका में जाने के लिए नवीनतम संशोधित इंस्टॉलर को सहेजने के लिए, स्क्रिप्ट चलाने के दौरान पासवर्ड प्रॉम्प्ट करें (यानी संशोधित प्रविष्टि स्थापित करने से ठीक पहले .deb)। अस्थायी निर्देशिका को कहीं /tmp/deb.XXXXXXXXX(जहां XXXXXXXXXएक यादृच्छिक स्ट्रिंग है) के तहत स्थित होना चाहिए ।


1
मेरी कंपनी द्वारा लागू की गई नीतियों के कारण, मैं Ubuntu 12.04 के साथ फंस गया हूं। मैं आपकी स्क्रिप्ट का उपयोग करके वैसे भी क्रोम स्थापित करने में सक्षम था। आपका बहुत बहुत धन्यवाद!
युगीनु रोस्का

4

मुझे नहीं लगता कि आप कर सकते हैं। वे अभी उन्नत हुए हैं और निर्भरताएँ 12.04 में पूरी नहीं की जा सकतीं

मैं एक ट्रैविस बिल्ड पर एक ही समस्या है और डाउनग्रेड किया है। पुराने संस्करणों का भार यहां है

स्पष्ट रूप से एक महान जवाब नहीं है, मैंने एक अच्छे समय की तलाश की और डाउनग्रेड किए बिना कोई रास्ता नहीं खोज सका।


1
मैं इस एक के साथ जा रहा हूँ। यह निश्चित रूप से जाने का सबसे अच्छा तरीका नहीं है, लेकिन यह मेरे लिए एक अस्थायी समाधान के रूप में काम करता है, क्योंकि मैं अब तक बाद के Ubuntu संस्करणों में अपग्रेड नहीं कर सकता।
fmonegaglia

मिरर.पीसीबेट.कॉम का लिंक 404 हो गया।
एलेक्सड

2

जैसा कि Google ने Chrome और 12.04 के लिए समर्थन बंद कर दिया है, आपका सबसे अच्छा समाधान इसके बजाय क्रोमियम स्थापित करना है:

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install chromium-browser

1
dpkg: dependency problems prevent configuration of google-chrome-stable:
 google-chrome-stable depends on libstdc++6 (>= 4.8.0); however:
Version of libstdc++6 on system is 4.6.3-1ubuntu5.
 google-chrome-stable depends on lsb-base (>= 4.1); however:
Version of lsb-base on system is 4.0-0ubuntu20.3.

मूल रूप से, Google Chrome lsb-base और libstdc ++ 6 के लिए पूछ रहा है जो कि सटीक में उपलब्ध नहीं हैं:

>lsb-base   | 4.0-0ubuntu20          | precise         | all
>lsb-base   | 4.0-0ubuntu20.3        | precise-updates | all
 lsb-base   | 4.1+Debian11ubuntu6    | trusty          | all
 lsb-base   | 4.1+Debian11ubuntu6.1  | trusty-proposed | all
 lsb-base   | 4.1+Debian11ubuntu8    | vivid           | all
 lsb-base   | 4.1+Debian11ubuntu8    | wily            | all
 lsb-base   | 9.20160110             | xenial          | all
>libstdc++6 | 4.6.3-1ubuntu5         | precise         | amd64, armel, armhf, i386, powerpc
 libstdc++6 | 4.8.2-19ubuntu1        | trusty          | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 4.8.4-2ubuntu1~14.04.1 | trusty-updates  | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 4.9.2-10ubuntu13       | vivid           | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 5.2.1-22ubuntu2        | wily            | amd64, arm64, armhf, i386, powerpc, ppc64el
 libstdc++6 | 5.3.1-14ubuntu2        | xenial          | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x

आपको भरोसेमंद (जो कि LTS भी है) या बाद में Google से google-chrome इंस्टॉल करना होगा, या केवल Ubuntu repositories क्रोमियम-ब्राउज़र द्वारा प्रदान किया गया एक इंस्टॉल करना होगा।


1

मैं सीधे तौर पर Glutanimate के जवाब पर टिप्पणी नहीं कर सकता, लेकिन मैं इसे वैसे भी साझा करना चाहूंगा। मुझे इंस्टालस्क्रिप्ट में एक अतिरिक्त लाइन जोड़ने की आवश्यकता है:

perl -pe  's|libnspr4 \(\>\= 2\:4\.9\-2\~\)|libnspr4 \(\>\= 4\.12\)|g' "$buildDir/DEBIAN/control.1" > "$buildDir/DEBIAN/control"

लगता है कि क्रोम इसके साथ ठीक चल रहा है, लेकिन यह मुझे अन्यथा इसे स्थापित करने की अनुमति नहीं देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.