What is Ubuntu base?

Asked by Goldy

Is it true that every Ubuntu version starts as a 32bit, and only later being convert to 64bit?

Is it true that every Ubuntu version made first for Intel, & only later being convert to Amd?

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Steve
Solved:
Last query:
Last reply:
Revision history for this message
Steven Danna (ssd7) said :
#1

64bit Ubuntu is not converted from 32bit Ubuntu. Essentially there are two types of programs that make up Ubuntu, those written in "interpreted" languages and those written in "compiled" languages. In general, those written in interpreted languages do not have to change at all to work on in either 32bit or 64 bit environments. Programs written in "compiled" languages need to be compiled for the specific architecture they are going to run on. The 64 bit packages are not converted from 32 bit packages but rather they are made into 64bit compatible binaries at compile time.

This is a very general explanation but hopefully it explains how Ubuntu doesn't really "start" as 32bit. I don't want to give the impression that any program can simply be compiled for 32 bit or 64 bit environments. It is possible that changes will need to be made to a program that was written with only 32 bit architectures in mind to run on 64 bit architectures. And, since for a long time 32 bit architectures have been prevalent, it may seem like 64 bit Ubuntu was converted from 32 bit since it sometimes takes time for 64 bit packages to become available. For instance a 64 bit version of flash only recently became available. However, there is really no conversion that is taking place.

I hope this explanation was simply enough to clear things up while not making programmers cringe. :-)

Revision history for this message
Goldy (sutrdudk) said :
#2

I'll ask from another point of view:
Who complains more: Intel or Amd users?
Who complains more: 32bit users or 64bit users?

Is it true that if I run a "32bit Intel" I'll be MUCH LESS likly to have any bugs on my Ubuntu, from someone that use a "64bit Amd"?

Revision history for this message
Best Steve (stupendoussteve-deactivatedaccount) said :
#3

All packages for all architectures of Ubuntu are compiled from a source
package. For an example, check out the page for enigmail:
https://launchpad.net/ubuntu/karmic/+source/enigmail/+builds

When somebody uploads a package in Ubuntu, they upload the source
package which includes the application source code as well as
instructions for how to build the package (possibly with different
instructions for specific architectures). The automated build system
then compiles the program for each architecture following the directions
in the source package, and generates binary packages which are then
installable on your machine. One source package can even generate
multiple binary packages per architecture, for example libbfoo.deb and
foobin.deb. So no, 64 bit packages are not converted, but are built
independently from the same code around the same time, just like 32 bit,
Sparc, PowerPC, etc.

A few packages, such as those using interpreted languages, are marked as
architecture independent. This means that the build system only builds
the program once, generally on i386, and that deb is marked as working
for anything, meaning the same program runs exactly the same on any
machine. This is not converting a 32 bit program, as the program is
actually run by a 64 bit interpreter.

It is possible you will have a few more issues with AMD64. In my
experience these are extremely rare at this point. AMD64 is well
supported now, much more than it used to be. So much less likely? No. Is
it possible you'll have a few more issues? Sure, but not highly.

Revision history for this message
Steven Danna (ssd7) said :
#4

Well, just to clarify something that I initially found confusing. Ubuntu's amd64 packages will work on a wide array of 64 bit architectures, including many made by Intel such as the Core 2's. From what I understand amd64 is simply the name because AMD designed the specification.

The following link explains some of the Pros and Cons:

https://help.ubuntu.com/community/32bit_and_64bit

As to who complains more, I'm not sure if metrics are kept on such things. The large majority of people who answer questions here are simply volunteers who answer a few questions when they can. There are a few who answer questions fairly regularly who might have a better picture of the overall situations; however, the best I can give is the impressions I have gotten.

I just recently installed 64 bit Ubuntu on my first 64 bit compatible machine and I have not experienced any significant difference in the number of bugs I've encountered and I do not know if those bugs are 64 bit-specific. (I've been lucky enough to only encounter a few fairly minor bugs) Overall, I've been very happy with the 64 bit Ubuntu and have not run into any software compatibility issue. From my experience the difference between 64 bit and 32 bit Linux is not as drastic as it is with Windows. In my experience 64 bit Windows is far buggier than 32 bit Windows; however I have not used Windows in quite some time and am told that this situation is changing It is also important to note that I don't really have any specialized computer needs such as intensive graphics and video work, game playing, or other processor intensive task.

That being said, my best advice would be to consider the following:

1) Do you have 4GB or more of RAM? If yes, definitely go with 64 bit.

2) Do you regularly do tasks that could benefit from a 64 bit environment (the linked article mentions video encoding)?

3) Are all the programs that you absolutely rely on available for 64 bit architectures. I can attest that all the programs that come in the default installation of 64 bit Ubuntu have been very reliable for me. I would specifically worry about programs that are not in the Ubuntu repositories that you might use.

Personally, unless you can answer yes to (1) or (2) I would stay that you should stick with 32 bit. The performance improvements you can get from the 64 bit version is probably not worth even the possibility of software incompatibility.

I realize this is not as definitive an answer as you may have liked; however, I hope it has helped some. Perhaps a few more people will weigh in with their opinions.

Revision history for this message
Goldy (sutrdudk) said :
#5

Thanks Steven Susbauer, that solved my question.