The last few days Ubuntu 14.04 was finally released, and then it started a long-planned system upgrade.
Once installed 32-bit Ubuntu, this time to start a new 64-bit era, so installed 64-bit Ubuntu 14.04.
Just after the system is installed. When installing some software, the problem of library or package dependencies is found. So all kinds of search to find a solution to the problem is finally solved. So write an article summarizing some of the ways to install 32-bit software under 64-bit systems and to address the dependencies of Deb packages.
First of all, to install 32-bit software under a 64-bit system requires some basic library (32-bit) support, such as: libc6:i386. By default, 64-bit Ubuntu installs 64-bit libraries or software using a software center or a new stand-up tool. So to install a 32-bit library or software requires some necessary settings to enable the system to support I386 architecture software:
1 Open the terminal. Join the schema using the dpkg command (dpkg--help view Help):
Dpkg--add-architecture i386//Added support for I386 architecture
Dpkg--remove-architecture i386//removal support for I386 architecture
2 Install the base 32-bit library:
Enter commands in the terminal (you can also use the Package management tool):
sudo apt-get install Gcc-multilib
3 Download Beyond Compare (deb package), the installation will be reported missing library ia32-libs error. So we need to finish the installation of Ia32-libs,
Although I download is AMD64 version number of software, but still will rely on ia32-libs, may be 64 bit not completely, hehe;
4 Mounting Ia32-libs (: http://pkgs.org/):
sudo dpkg-i ia32-libs_20140131_amd64.deb
After running the above command, it is found that the package dependencies are not satisfied and the following packages are missing (My computer is these):
Lib32z1
Lib32ncurses5
Lib32asound2
lib32v4l-0
PS: The above command runs out even though the installation is unsuccessful. However, it may cause problems with other packages to be installed, preferably cleaned out:
sudo dpkg-r ia32-libs
The top two can be found directly in the newly-made package manager. And the other two are not!
Continue searching for downloads from http://pkgs.org/(AMD64).
I have to say here, this site is really good, there are a lot of packages. RPM and Deb are all there!
Easy download finished, in the installation of the time still encountered the old problem: package dependencies!
Lib32asound2 depends on the package is libasound2 (= 1.0.25-3ubuntu3.1);
The package lib32v4l-0 depends on is libv4l-0 (= 0.8.8-3).
This means that the previous 32-bit package is dependent on the next 64-bit package, and the new search finds that both 64-bit packages are installed, only the version number is too high! The two 32-bit packages are dependent on a specific version number (=).
This is the first time I want to try it through a mandatory installation, which is to ignore dependencies first:
I used to ignore the dependent version number, other options use the command view: dpkg--force-help
sudo dpkg-i--force-depends-version lib32asound2_1.0.25-3ubuntu3.1_amd64.deb
This is true to be able to install, but the use of new management prompts for broken packages, which may lead to other software package installation problems, it seems that the mandatory installation method is undesirable. Just find another way!
Now that the high version number is installed. And in the high version of the dependency on the previous version of the code is indicated, then the implementation of the library should be compatible. So consider trying to change the Deb package.
You start by extracting the control file from the Debian package in the Deb bundle directly from the archive manager. By VI or gedit changes, and then replace the original. However, you cannot add files to the Deb package through the archive manager. It appears that you need to use the Deb Packaging tool.
After searching, the hypothesis is simply to make a simple change and then package again. Then you can use the Dpkg-deb command.
Other knowledge about Deb Packaging: http://www.startos.com/ubuntu/tips/2010122417734.html
Change the downloaded Deb package to change the = in the dependent field in the control file under DEBIAN in the Deb package to >=:
Dpkg-deb--help//view command Help
1 unzip the files in the Deb package:
Dpkg-deb-x Lib32asound2_1.0.25-3ubuntu3.1_amd64.deb Deb;
2 Unzip the control information in the Deb package:
CD Deb
Dpkg-deb-e. /lib32asound2_1.0.25-3ubuntu3.1_amd64.deb
In this case there should be two folders under the Deb folder: DEBIAN and USR
3 Change Debian/control file:
original: Depends: Libasound2 (= 1.0.25-3ubuntu3.1), libc6-i386 (>= 2.7)
This is actually going to work, Of course happy words to change the version number of the package, hehe:
original: version:1.0.25-3ubuntu3.1
4 Packing again:
Switch to the top-level folder of the Deb folder and run the command (the package name itself is defined later):
Dpkg-deb-b Deb Lib32asound2_1.0.25-3ubuntu3.2_amd64.deb
After a little warning comes up, the new Deb pack is ready!
Now there's no problem with installing the new Deb package:
sudo dpkg-i lib32asound2_1.0.25-3ubuntu3.2_amd64.deb
Another package lib32v4l-0 is the same step, the corresponding = changed to >= once again packaged installation will be able to!
Finally, execute the above command again Ia32-libs installation:
sudo dpkg-i ia32-libs_20140131_amd64.deb
5 finally get to the point: Install Beyond Compare (Program ape must)
Once the ia32-libs is installed, a command is done:
sudo dpkg-i ia32-libs_20140131_amd64.deb
After installation, start Bcompare. Then complete the registration!
--------------------------------------------------------------------------------------------------------------- -----------
Accessories: Beyond Compare and Ia32-libs (with registration code included). Ia32-libs folder under Original is unchanged)
bcompare:http://pan.baidu.com/s/1c0kxh0c
ia32-libs:http://pan.baidu.com/s/1jgdrk0i
Ubuntu-14.04-desktop-amd64 installing Beyond compare,ia32-libs