For better readability I replaced the fixed addresses in the linker script by symbolic definitions:
TCML_code = 0x1fff8000;
TCMU_system = 0x20000000;
OCRAM_S_code = 0x00000000;
/* ... */
m_interrupts (RX) : ORIGIN = OCRAM_S_code, LENGTH = 0x00000240
m_text (RX) : ORIGIN = TCML_code, LENGTH = 0x00008000
m_data (RW) : ORIGIN = TCMU_system, LENGTH = 0x00008000
It now turned out that older versions of the toolchain cannot handle this properly.
The solution is either using a newer toolchain as you did, or replace the symbols
OCRAM_S_code etc. by the numbers specified above.
I’m not sure what exactly you mean with the “sudo apt-get stuff”.
sudo apt-get is the standard command to download and install software packages in Ubuntu, or update already-installed software packages. I guess you used this to install the (new version of the) arm compiler/linker toolchain in your Ubuntu virtual machine.