This stuff is somehow even more confusing. Still using: http://cs-fundamentals.com/c-programming/how-to-compile-c-program-using-gcc.php

In a perfect world we would then use ld to build an executable file with our .o file, but unfortunately, the example in the link above will not work.

Why will it not work? Likely because the names of the required libraries will be different or in different places, depending on your OS. So how would we figure this out?

Work through this compilation tutorial and dynamically link your helloworld ELF using LD.