Subject: bug#42141: blast+ is not reproducible

From: Ricardo Wurmus <[email-masked]>
Date: Thu, 29 Sep 2022 11:32:05 +0200

Ricardo Wurmus <[email-masked]> writes:

> reopen 42141
> thanks
>
> Maxim Cournoyer <[email-masked]> writes:
>
>> Hi,
>>
>> Ricardo Wurmus <[email-masked]> writes:
>>
>>> This should be rather easy to fix:
>>>
>>> diff -r
>>> /gnu/store/3y97kfanv9ynxnahyykixchlbpbyvjmm-blast+-2.10.1-include
>>> /gnu/store/3y97kfanv9ynxnahyykixchlbpbyvjmm-blast+-2.10.1-include-check
>>> diff -r
>>> /gnu/store/3y97kfanv9ynxnahyykixchlbpbyvjmm-blast+-2.10.1-include/include/ncbi-tools++/ncbi-tools++/ncbi_random_macro.h
>>> /gnu/store/3y97kfanv9ynxnahyykixchlbpbyvjmm-blast+-2.10.1-include-check/include/ncbi-tools++/ncbi-tools++/ncbi_random_macro.h
>>> 4,13c4,13
>>> < #define NCBI_RANDOM_VALUE_0    1770246234u
>>> < #define NCBI_RANDOM_VALUE_1    2685550394u
>>> < #define NCBI_RANDOM_VALUE_2    1952513968u
>>> < #define NCBI_RANDOM_VALUE_3    4081691487u
>>> < #define NCBI_RANDOM_VALUE_4    1126642990u
>>> < #define NCBI_RANDOM_VALUE_5    2363626105u
>>> < #define NCBI_RANDOM_VALUE_6    444644742u
>>> < #define NCBI_RANDOM_VALUE_7    2799580837u
>>> < #define NCBI_RANDOM_VALUE_8    216161479u
>>> < #define NCBI_RANDOM_VALUE_9    992434062u
>>> ---
>>>> #define NCBI_RANDOM_VALUE_0    2851596927u
>>>> #define NCBI_RANDOM_VALUE_1    4039058594u
>>>> #define NCBI_RANDOM_VALUE_2    3204116600u
>>>> #define NCBI_RANDOM_VALUE_3    4270143185u
>>>> #define NCBI_RANDOM_VALUE_4    1366873742u
>>>> #define NCBI_RANDOM_VALUE_5    703144487u
>>>> #define NCBI_RANDOM_VALUE_6    2507785646u
>>>> #define NCBI_RANDOM_VALUE_7    3995716134u
>>>> #define NCBI_RANDOM_VALUE_8    907933519u
>>>> #define NCBI_RANDOM_VALUE_9    1149060107u
>>
>> Not anymore, according to:
>>
>> $ guix challenge blast+
>>
>> 1 store items were analyzed:
>>   - 1 (100.0%) were identical
>>   - 0 (0.0%) differed
>>   - 0 (0.0%) were inconclusive
>
> This is still a problem:
>
> $ diff -ru /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include-check
> diff -ru /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include/include/ncbi-tools++/ncbi-tools++/ncbiconf_unix.h /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include-check/include/ncbi-tools++/ncbi-tools++/ncbiconf_unix.h
> --- /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include/include/ncbi-tools++/ncbi-tools++/ncbiconf_unix.h	1970-01-01 01:00:01.000000000 +0100
> +++ /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include-check/include/ncbi-tools++/ncbi-tools++/ncbiconf_unix.h	1970-01-01 01:00:01.000000000 +0100
> @@ -1095,7 +1095,7 @@
>  
>  /* Build signature: compiler-name '_' compiler-version '-' configuration '--'
>     platform-name '-' hostname */
> -#define NCBI_SIGNATURE "GCC_1030-DebugMTDLL64--x86_64-unknown-linux5.15.10-gnu2.33-localhost"
> +#define NCBI_SIGNATURE "GCC_1030-DebugMTDLL64--x86_64-unknown-linux5.15.59-gnu2.33-localhost"
>  
>  /* Define to 1 if SQLColAttribute's last argument is an SQLLEN * */
>  #define NCBI_SQLCOLATTRIBUTE_SQLLEN 1
> diff -ru /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include/include/ncbi-tools++/ncbi-tools++/ncbi_random_macro.h /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include-check/include/ncbi-tools++/ncbi-tools++/ncbi_random_macro.h
> --- /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include/include/ncbi-tools++/ncbi-tools++/ncbi_random_macro.h	1970-01-01 01:00:01.000000000 +0100
> +++ /gnu/store/0kbsdr61qpj0vkc6s8g2kbp4dq936n0p-blast+-2.11.0-include-check/include/ncbi-tools++/ncbi-tools++/ncbi_random_macro.h	1970-01-01 01:00:01.000000000 +0100
> @@ -1,13 +1,13 @@
>  #define NCBI_RANDOM_VALUE_TYPE Uint4
>  #define NCBI_RANDOM_VALUE_MIN  0
>  #define NCBI_RANDOM_VALUE_MAX  0xffffffffu
> -#define NCBI_RANDOM_VALUE_0    3249030781u
> -#define NCBI_RANDOM_VALUE_1    3573796697u
> -#define NCBI_RANDOM_VALUE_2    2130009325u
> -#define NCBI_RANDOM_VALUE_3    4284761029u
> -#define NCBI_RANDOM_VALUE_4    3467737853u
> -#define NCBI_RANDOM_VALUE_5    3267844710u
> -#define NCBI_RANDOM_VALUE_6    4107058373u
> -#define NCBI_RANDOM_VALUE_7    166436459u
> -#define NCBI_RANDOM_VALUE_8    960927418u
> -#define NCBI_RANDOM_VALUE_9    3839848519u
> +#define NCBI_RANDOM_VALUE_0    2845495105u
> +#define NCBI_RANDOM_VALUE_1    2158634051u
> +#define NCBI_RANDOM_VALUE_2    4072202242u
> +#define NCBI_RANDOM_VALUE_3    902228395u
> +#define NCBI_RANDOM_VALUE_4    1353323915u
> +#define NCBI_RANDOM_VALUE_5    574823513u
> +#define NCBI_RANDOM_VALUE_6    4119501261u
> +#define NCBI_RANDOM_VALUE_7    2477640938u
> +#define NCBI_RANDOM_VALUE_8    2776595395u
> +#define NCBI_RANDOM_VALUE_9    270550684u

These values are generated here:

   ncbi-blast-2.11.0+-src/c++/scripts/common/impl/define_random_macros.sh

I don’t know if we can just define them to fixed values; it should be
fine.

Debian also has a patch for other problems including the NCBI_SIGNATURE
value:

   https://sources.debian.org/data/main/n/ncbi-blast%2B/2.12.0%2Bds-3/debian/patches/reprobuild

-- 
Ricardo