Recompiling Ast Results In A Binary With Differing SHA256 Sums?

Home » Asterisk Users » Recompiling Ast Results In A Binary With Differing SHA256 Sums?
Asterisk Users 2 Comments

Hi Guys

If I recompile Asterisk (on a CentOS 7 test box, Asterisk 1.8.32.3) multiple times in a row, e. g. make clean;configure;make menuselect;make

I note that the asterisk binary in the /main folder in the source tree, has a different SHA256 hash each time I recompile Asterisk using the above commands.

I do not change anything on the system or in the menuselect configs for each run.

But each time the checksum for the “asterisk” binary is different.

Why is that? Shouldn’t a freshly compiled binary off the same source, with no changes in the Asterisk menuselect, with nothing changed on the rest of the system, result each time in an IDENTICAL binary, down to the last byte?

Why am I getting a completely different “asterisk” ELF binary each time I
recompile asterisk, according to checksum?

Can someone shed light…

Thanks,

Stefan

2 thoughts on - Recompiling Ast Results In A Binary With Differing SHA256 Sums?

  • In article <007401d41e7a$edc7e190$c957a4b0$@verishare.co.za>, Stefan Viljoen wrote:

    Most likely there is a text string in there somewhere indicating the date or time of compilation.

    Why don’t you save the binary, recompile, then compare the first binary with the recompiled one? At the simplest level use “cmp -l”. Or maybe convert each binary to a hexdump with “hexdump -C”, and then use diff or vimdiff to compare them.

    Cheers Tony

    Tony Mountifield Work: tony@softins.co.ukhttp://www.softins.co.uk Play: tony@mountifield.orghttp://tony.mountifield.org

  • A timestamp is added to the version string when you build Asterisk. Thus every time you recompile Asterisk you get a different timestamp in the version string. Thus the checksum will be different every time.

    Richard