{"thread":{"id":"63784","subject":"git 2.50 and 2.50.1 src fails to compile in rhel 6","startedAt":"2025-07-12T10:20:05Z","lastAt":"2025-07-13T04:39:42Z","messageCount":6,"participants":["Азат Усманов","Phillip Wood","Ramsay Jones","Carlo Marcelo Arenas Belón"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"521868","messageId":"1615371752315594@mail-sendbernar-production-main-92.sas.yp-c.yandex.net","threadId":"63784","inReplyTo":null,"subject":"git 2.50 and 2.50.1 src fails to compile in rhel 6","fromName":"Азат Усманов","fromEmail":"usmanov@ieml.ru","sentAt":"2025-07-12T10:19:54Z","receivedAt":"2025-07-12T10:20:05Z","isPatch":false,"sender":{"key":"usmanov@ieml.ru","avatar":null},"body":"Hello everyone! I'm having trouble compilig git source since version 2.50 ,  for RHEL 6 (both in redhat 6-6 and 6.10).\nthe same source  compiles fine in  RHEL8 (Red Hat Enterprise Linux release 8.10 (Ootpa))\nfirst compiler complans about missing random.h in compat/posix.h ,if you copy missing random.h file to RHEL6 machine to the /usr/include/sys directory  then errors change to  whole bunch of other errors like  \nerror: expected declaration specifiers or ‘...’ before numeric constant\n \n   45 | #define toupper(x) sane_case((unsigned char)(x), 0)\nboth working and non working systems have same gcc 13-4.0 . Last version that compiles  in both rhel 6 and rhel 8 is 2.49.1 Any ideas ?\n \n \n git-2.50.1# make  -j $(nproc) configure && ./configure && make -j $(nproc) && make -j $(nproc) install && make -j $(nproc) clean\nGIT_VERSION=2.50.1\n    GEN configure\nconfigure: Setting lib to 'lib' (the default)\nconfigure: Will try -pthread then -lpthread to enable POSIX Threads.\nconfigure: CHECKS for site configuration\nchecking for gcc... /usr/local/gcc-13.4.0/bin/gcc-13.4\nchecking whether the C compiler works... yes\nchecking for C compiler default output file name... a.out\nchecking for suffix of executables...\nchecking whether we are cross compiling... no\nchecking for suffix of object files... o\nchecking whether the compiler supports GNU C... yes\nchecking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... yes\nchecking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... none needed\nchecking for stdio.h... yes\nchecking for stdlib.h... yes\nchecking for string.h... yes\nchecking for inttypes.h... yes\nchecking for stdint.h... yes\nchecking for strings.h... yes\nchecking for sys/stat.h... yes\nchecking for sys/types.h... yes\nchecking for unistd.h... yes\nchecking for size_t... yes\nchecking for working alloca.h... yes\nchecking for alloca... yes\nconfigure: CHECKS for programs\nchecking whether the compiler supports GNU C... (cached) yes\nchecking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... (cached) yes\nchecking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... (cached) none needed\nchecking for inline... inline\nchecking if linker supports -R... no\nchecking if linker supports -Wl,-rpath,... yes\nchecking for gar... no\nchecking for ar... ar\nchecking for gtar... gtar\nchecking for gnudiff... no\nchecking for gdiff... no\nchecking for diff... diff\nchecking for asciidoc... no\nconfigure: CHECKS for libraries\nchecking for SHA1_Init in -lcrypto... yes\nchecking for curl_global_init in -lcurl... yes\nchecking for curl-config... curl-config\nconfigure: Setting CURL_LDFLAGS to '-L/usr/local/lib -lcurl'\nchecking for XML_ParserCreate in -lexpat... yes\nchecking for iconv in -lc... yes\nchecking for deflateBound in -lz... yes\nchecking for socket in -lc... yes\nchecking for inet_ntop... yes\nchecking for inet_pton... yes\nchecking for hstrerror... yes\nchecking for basename in -lc... yes\nchecking if libc contains libintl... yes\nchecking for libintl.h... yes\nconfigure: CHECKS for header files\nchecking for sys/select.h... yes\nchecking for poll.h... yes\nchecking for sys/poll.h... yes\nchecking for inttypes.h... (cached) yes\nchecking for old iconv()... no\nchecking whether iconv omits bom for utf-16 and utf-32... no\nconfigure: CHECKS for typedefs, structures, and compiler characteristics\nchecking for socklen_t... yes\nchecking for struct itimerval... yes\nchecking for struct stat.st_mtimespec.tv_nsec... no\nchecking for struct stat.st_mtim.tv_nsec... yes\nchecking for struct dirent.d_type... yes\nchecking for struct passwd.pw_gecos... yes\nchecking for struct sockaddr_storage... yes\nchecking for struct addrinfo... yes\nchecking for getaddrinfo... yes\nchecking for library containing getaddrinfo... none required\nchecking how to run the C preprocessor... /usr/local/gcc-13.4.0/bin/gcc-13.4 -E\nchecking for grep that handles long lines and -e... /bin/grep\nchecking for egrep... /bin/grep -E\nchecking whether the platform regex supports REG_STARTEND... yes\nchecking whether system succeeds to read fopen'ed directory... yes\nchecking whether snprintf() and/or vsnprintf() return bogus value... no\nchecking whether the platform uses typical file type bits... yes\nconfigure: CHECKS for library functions\nchecking for libgen.h... yes\nchecking for paths.h... yes\nchecking for libcharset.h... no\nchecking for strings.h... (cached) yes\nchecking for locale_charset in -liconv... no\nchecking for locale_charset in -lcharset... no\nchecking for sysinfo... yes\nchecking for clock_gettime... no\nchecking for CLOCK_MONOTONIC... yes\nchecking for sync_file_range... yes\nchecking for library containing sync_file_range... none required\nchecking for setitimer... yes\nchecking for library containing setitimer... none required\nchecking for strcasestr... yes\nchecking for library containing strcasestr... none required\nchecking for memmem... yes\nchecking for library containing memmem... none required\nchecking for strlcpy... no\nchecking for uintmax_t... yes\nchecking for strtoumax... yes\nchecking for library containing strtoumax... none required\nchecking for setenv... yes\nchecking for library containing setenv... none required\nchecking for unsetenv... yes\nchecking for library containing unsetenv... none required\nchecking for mkdtemp... yes\nchecking for library containing mkdtemp... none required\nchecking for initgroups... yes\nchecking for library containing initgroups... none required\nchecking for getdelim... yes\nchecking for library containing getdelim... none required\nchecking for BSD sysctl... no\nchecking for POSIX Threads with ''... no\nchecking for POSIX Threads with '-mt'... no\nchecking for POSIX Threads with '-pthread'... yes\nconfigure: creating ./config.status\nconfig.status: creating config.mak.autogen\nconfig.status: executing config.mak.autogen commands\n    * new build flags\n    * new link flags\n    CC base85.o\n    CC bisect.o\n    * new prefix flags\n    CC blame.o\n    CC blob.o\n    CC bloom.o\n    CC branch.o\n    CC bulk-checkin.o\n    CC bundle-uri.o\n    CC bundle.o\n    CC cache-tree.o\n    CC cbtree.o\n    CC chdir-notify.o\n    CC checkout.o\n    CC chunk-format.o\n    CC color.o\n    CC column.o\nIn file included from compat/posix.h:449,\n                 from git-compat-util.h:26,\n                 from checkout.c:3:\ncompat/../sane-ctype.h:29:60: error: expected expression before ‘]’ token\n   29 | #define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)\n      |                                                            ^\n  0)\n      |                                                  ^\nmake: *** [Makefile:2821: cbtree.o] Error 1\nmake: *** Waiting for unfinished jobs....\nmake: *** [Makefile:2821: base85.o] Error 1\nmake: *** [Makefile:2821: chdir-notify.o] Error 1\nmake: *** [Makefile:2821: chunk-format.o] Error 1\nmake: *** [Makefile:2821: blob.o] Error 1\nmake: *** [Makefile:2821: color.o] Error 1\nmake: *** [Makefile:2821: checkout.o] Error 1\nmake: *** [Makefile:2821: column.o] Error 1\nmake: *** [Makefile:2821: bulk-checkin.o] Error 1\nmake: *** [Makefile:2821: branch.o] Error 1\nmake: *** [Makefile:2821: cache-tree.o] Error 1\nmake: *** [Makefile:2821: bloom.o] Error 1\nmake: *** [Makefile:2821: bundle-uri.o] Error 1\nmake: *** [Makefile:2821: bundle.o] Error 1\nmake: *** [Makefile:2821: bisect.o] Error 1\nmake: *** [Makefile:2821: blame.o] Error 1\n"},{"id":"521874","messageId":"f636840b-ec66-4059-9d0c-3cca07d42007@gmail.com","threadId":"63784","inReplyTo":"1615371752315594@mail-sendbernar-production-main-92.sas.yp-c.yandex.net","subject":"Re: git 2.50 and 2.50.1 src fails to compile in rhel 6","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2025-07-12T11:12:52Z","receivedAt":"2025-07-12T11:13:02Z","isPatch":false,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"On 12/07/2025 11:19, Азат Усманов wrote:\n> Hello everyone! I'm having trouble compilig git source since version 2.50 ,  for RHEL 6 (both in redhat 6-6 and 6.10).\n> the same source  compiles fine in  RHEL8 (Red Hat Enterprise Linux release 8.10 (Ootpa))\n> first compiler complans about missing random.h in compat/posix.h ,if you copy missing random.h file to RHEL6 machine to the /usr/include/sys directory  then errors change to  whole bunch of other errors like\n> error: expected declaration specifiers or ‘...’ before numeric constant\n>   \n>     45 | #define toupper(x) sane_case((unsigned char)(x), 0)\n> both working and non working systems have same gcc 13-4.0 . Last version that compiles  in both rhel 6 and rhel 8 is 2.49.1 Any ideas ?\n\nThere is a patch to fix this issue available at \nhttps://lore.kernel.org/git/xmqqtt3j69r8.fsf@gitster.g/\n\nThanks\n\nPhillip\n>   \n>   git-2.50.1# make  -j $(nproc) configure && ./configure && make -j $(nproc) && make -j $(nproc) install && make -j $(nproc) clean\n> GIT_VERSION=2.50.1\n>      GEN configure\n> configure: Setting lib to 'lib' (the default)\n> configure: Will try -pthread then -lpthread to enable POSIX Threads.\n> configure: CHECKS for site configuration\n> checking for gcc... /usr/local/gcc-13.4.0/bin/gcc-13.4\n> checking whether the C compiler works... yes\n> checking for C compiler default output file name... a.out\n> checking for suffix of executables...\n> checking whether we are cross compiling... no\n> checking for suffix of object files... o\n> checking whether the compiler supports GNU C... yes\n> checking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... yes\n> checking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... none needed\n> checking for stdio.h... yes\n> checking for stdlib.h... yes\n> checking for string.h... yes\n> checking for inttypes.h... yes\n> checking for stdint.h... yes\n> checking for strings.h... yes\n> checking for sys/stat.h... yes\n> checking for sys/types.h... yes\n> checking for unistd.h... yes\n> checking for size_t... yes\n> checking for working alloca.h... yes\n> checking for alloca... yes\n> configure: CHECKS for programs\n> checking whether the compiler supports GNU C... (cached) yes\n> checking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... (cached) yes\n> checking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... (cached) none needed\n> checking for inline... inline\n> checking if linker supports -R... no\n> checking if linker supports -Wl,-rpath,... yes\n> checking for gar... no\n> checking for ar... ar\n> checking for gtar... gtar\n> checking for gnudiff... no\n> checking for gdiff... no\n> checking for diff... diff\n> checking for asciidoc... no\n> configure: CHECKS for libraries\n> checking for SHA1_Init in -lcrypto... yes\n> checking for curl_global_init in -lcurl... yes\n> checking for curl-config... curl-config\n> configure: Setting CURL_LDFLAGS to '-L/usr/local/lib -lcurl'\n> checking for XML_ParserCreate in -lexpat... yes\n> checking for iconv in -lc... yes\n> checking for deflateBound in -lz... yes\n> checking for socket in -lc... yes\n> checking for inet_ntop... yes\n> checking for inet_pton... yes\n> checking for hstrerror... yes\n> checking for basename in -lc... yes\n> checking if libc contains libintl... yes\n> checking for libintl.h... yes\n> configure: CHECKS for header files\n> checking for sys/select.h... yes\n> checking for poll.h... yes\n> checking for sys/poll.h... yes\n> checking for inttypes.h... (cached) yes\n> checking for old iconv()... no\n> checking whether iconv omits bom for utf-16 and utf-32... no\n> configure: CHECKS for typedefs, structures, and compiler characteristics\n> checking for socklen_t... yes\n> checking for struct itimerval... yes\n> checking for struct stat.st_mtimespec.tv_nsec... no\n> checking for struct stat.st_mtim.tv_nsec... yes\n> checking for struct dirent.d_type... yes\n> checking for struct passwd.pw_gecos... yes\n> checking for struct sockaddr_storage... yes\n> checking for struct addrinfo... yes\n> checking for getaddrinfo... yes\n> checking for library containing getaddrinfo... none required\n> checking how to run the C preprocessor... /usr/local/gcc-13.4.0/bin/gcc-13.4 -E\n> checking for grep that handles long lines and -e... /bin/grep\n> checking for egrep... /bin/grep -E\n> checking whether the platform regex supports REG_STARTEND... yes\n> checking whether system succeeds to read fopen'ed directory... yes\n> checking whether snprintf() and/or vsnprintf() return bogus value... no\n> checking whether the platform uses typical file type bits... yes\n> configure: CHECKS for library functions\n> checking for libgen.h... yes\n> checking for paths.h... yes\n> checking for libcharset.h... no\n> checking for strings.h... (cached) yes\n> checking for locale_charset in -liconv... no\n> checking for locale_charset in -lcharset... no\n> checking for sysinfo... yes\n> checking for clock_gettime... no\n> checking for CLOCK_MONOTONIC... yes\n> checking for sync_file_range... yes\n> checking for library containing sync_file_range... none required\n> checking for setitimer... yes\n> checking for library containing setitimer... none required\n> checking for strcasestr... yes\n> checking for library containing strcasestr... none required\n> checking for memmem... yes\n> checking for library containing memmem... none required\n> checking for strlcpy... no\n> checking for uintmax_t... yes\n> checking for strtoumax... yes\n> checking for library containing strtoumax... none required\n> checking for setenv... yes\n> checking for library containing setenv... none required\n> checking for unsetenv... yes\n> checking for library containing unsetenv... none required\n> checking for mkdtemp... yes\n> checking for library containing mkdtemp... none required\n> checking for initgroups... yes\n> checking for library containing initgroups... none required\n> checking for getdelim... yes\n> checking for library containing getdelim... none required\n> checking for BSD sysctl... no\n> checking for POSIX Threads with ''... no\n> checking for POSIX Threads with '-mt'... no\n> checking for POSIX Threads with '-pthread'... yes\n> configure: creating ./config.status\n> config.status: creating config.mak.autogen\n> config.status: executing config.mak.autogen commands\n>      * new build flags\n>      * new link flags\n>      CC base85.o\n>      CC bisect.o\n>      * new prefix flags\n>      CC blame.o\n>      CC blob.o\n>      CC bloom.o\n>      CC branch.o\n>      CC bulk-checkin.o\n>      CC bundle-uri.o\n>      CC bundle.o\n>      CC cache-tree.o\n>      CC cbtree.o\n>      CC chdir-notify.o\n>      CC checkout.o\n>      CC chunk-format.o\n>      CC color.o\n>      CC column.o\n> In file included from compat/posix.h:449,\n>                   from git-compat-util.h:26,\n>                   from checkout.c:3:\n> compat/../sane-ctype.h:29:60: error: expected expression before ‘]’ token\n>     29 | #define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)\n>        |                                                            ^\n>    0)\n>        |                                                  ^\n> make: *** [Makefile:2821: cbtree.o] Error 1\n> make: *** Waiting for unfinished jobs....\n> make: *** [Makefile:2821: base85.o] Error 1\n> make: *** [Makefile:2821: chdir-notify.o] Error 1\n> make: *** [Makefile:2821: chunk-format.o] Error 1\n> make: *** [Makefile:2821: blob.o] Error 1\n> make: *** [Makefile:2821: color.o] Error 1\n> make: *** [Makefile:2821: checkout.o] Error 1\n> make: *** [Makefile:2821: column.o] Error 1\n> make: *** [Makefile:2821: bulk-checkin.o] Error 1\n> make: *** [Makefile:2821: branch.o] Error 1\n> make: *** [Makefile:2821: cache-tree.o] Error 1\n> make: *** [Makefile:2821: bloom.o] Error 1\n> make: *** [Makefile:2821: bundle-uri.o] Error 1\n> make: *** [Makefile:2821: bundle.o] Error 1\n> make: *** [Makefile:2821: bisect.o] Error 1\n> make: *** [Makefile:2821: blame.o] Error 1\n> \n\n"},{"id":"521878","messageId":"8795721752334860@mail-sendbernar-production-main-77.vla.yp-c.yandex.net","threadId":"63784","inReplyTo":"f636840b-ec66-4059-9d0c-3cca07d42007@gmail.com","subject":"Re: git 2.50 and 2.50.1 src fails to compile in rhel 6","fromName":"Азат Усманов","fromEmail":"usmanov@ieml.ru","sentAt":"2025-07-12T15:41:00Z","receivedAt":"2025-07-12T15:46:28Z","isPatch":false,"sender":{"key":"usmanov@ieml.ru","avatar":null},"body":"\nI/m soorry for the noob quesion but how do I get the patched version of the sane-ctype.h? I/m not sure where exactly to apply the patch to. I only see the diff, and not the whole file itself. And what are the chances of this patch being merged to master branch\n> \n>> Hello everyone! I'm having trouble compilig git source since version 2.50 , for RHEL 6 (both in redhat 6-6 and 6.10).\n>> the same source compiles fine in RHEL8 (Red Hat Enterprise Linux release 8.10 (Ootpa))\n>> first compiler complans about missing random.h in compat/posix.h ,if you copy missing random.h file to RHEL6 machine to the /usr/include/sys directory then errors change to whole bunch of other errors like\n>> error: expected declaration specifiers or ‘...’ before numeric constant\n>>\n>> 45 | #define toupper(x) sane_case((unsigned char)(x), 0)\n>> both working and non working systems have same gcc 13-4.0 . Last version that compiles in both rhel 6 and rhel 8 is 2.49.1 Any ideas ?\n> \n> There is a patch to fix this issue available at\n> https://lore.kernel.org/git/xmqqtt3j69r8.fsf@gitster.g/\n> \n> Thanks\n> \n> Phillip\n> \n>> git-2.50.1# make -j $(nproc) configure && ./configure && make -j $(nproc) && make -j $(nproc) install && make -j $(nproc) clean\n>> GIT_VERSION=2.50.1\n>> GEN configure\n>> configure: Setting lib to 'lib' (the default)\n>> configure: Will try -pthread then -lpthread to enable POSIX Threads.\n>> configure: CHECKS for site configuration\n>> checking for gcc... /usr/local/gcc-13.4.0/bin/gcc-13.4\n>> checking whether the C compiler works... yes\n>> checking for C compiler default output file name... a.out\n>> checking for suffix of executables...\n>> checking whether we are cross compiling... no\n>> checking for suffix of object files... o\n>> checking whether the compiler supports GNU C... yes\n>> checking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... yes\n>> checking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... none needed\n>> checking for stdio.h... yes\n>> checking for stdlib.h... yes\n>> checking for string.h... yes\n>> checking for inttypes.h... yes\n>> checking for stdint.h... yes\n>> checking for strings.h... yes\n>> checking for sys/stat.h... yes\n>> checking for sys/types.h... yes\n>> checking for unistd.h... yes\n>> checking for size_t... yes\n>> checking for working alloca.h... yes\n>> checking for alloca... yes\n>> configure: CHECKS for programs\n>> checking whether the compiler supports GNU C... (cached) yes\n>> checking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... (cached) yes\n>> checking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... (cached) none needed\n>> checking for inline... inline\n>> checking if linker supports -R... no\n>> checking if linker supports -Wl,-rpath,... yes\n>> checking for gar... no\n>> checking for ar... ar\n>> checking for gtar... gtar\n>> checking for gnudiff... no\n>> checking for gdiff... no\n>> checking for diff... diff\n>> checking for asciidoc... no\n>> configure: CHECKS for libraries\n>> checking for SHA1_Init in -lcrypto... yes\n>> checking for curl_global_init in -lcurl... yes\n>> checking for curl-config... curl-config\n>> configure: Setting CURL_LDFLAGS to '-L/usr/local/lib -lcurl'\n>> checking for XML_ParserCreate in -lexpat... yes\n>> checking for iconv in -lc... yes\n>> checking for deflateBound in -lz... yes\n>> checking for socket in -lc... yes\n>> checking for inet_ntop... yes\n>> checking for inet_pton... yes\n>> checking for hstrerror... yes\n>> checking for basename in -lc... yes\n>> checking if libc contains libintl... yes\n>> checking for libintl.h... yes\n>> configure: CHECKS for header files\n>> checking for sys/select.h... yes\n>> checking for poll.h... yes\n>> checking for sys/poll.h... yes\n>> checking for inttypes.h... (cached) yes\n>> checking for old iconv()... no\n>> checking whether iconv omits bom for utf-16 and utf-32... no\n>> configure: CHECKS for typedefs, structures, and compiler characteristics\n>> checking for socklen_t... yes\n>> checking for struct itimerval... yes\n>> checking for struct stat.st_mtimespec.tv_nsec... no\n>> checking for struct stat.st_mtim.tv_nsec... yes\n>> checking for struct dirent.d_type... yes\n>> checking for struct passwd.pw_gecos... yes\n>> checking for struct sockaddr_storage... yes\n>> checking for struct addrinfo... yes\n>> checking for getaddrinfo... yes\n>> checking for library containing getaddrinfo... none required\n>> checking how to run the C preprocessor... /usr/local/gcc-13.4.0/bin/gcc-13.4 -E\n>> checking for grep that handles long lines and -e... /bin/grep\n>> checking for egrep... /bin/grep -E\n>> checking whether the platform regex supports REG_STARTEND... yes\n>> checking whether system succeeds to read fopen'ed directory... yes\n>> checking whether snprintf() and/or vsnprintf() return bogus value... no\n>> checking whether the platform uses typical file type bits... yes\n>> configure: CHECKS for library functions\n>> checking for libgen.h... yes\n>> checking for paths.h... yes\n>> checking for libcharset.h... no\n>> checking for strings.h... (cached) yes\n>> checking for locale_charset in -liconv... no\n>> checking for locale_charset in -lcharset... no\n>> checking for sysinfo... yes\n>> checking for clock_gettime... no\n>> checking for CLOCK_MONOTONIC... yes\n>> checking for sync_file_range... yes\n>> checking for library containing sync_file_range... none required\n>> checking for setitimer... yes\n>> checking for library containing setitimer... none required\n>> checking for strcasestr... yes\n>> checking for library containing strcasestr... none required\n>> checking for memmem... yes\n>> checking for library containing memmem... none required\n>> checking for strlcpy... no\n>> checking for uintmax_t... yes\n>> checking for strtoumax... yes\n>> checking for library containing strtoumax... none required\n>> checking for setenv... yes\n>> checking for library containing setenv... none required\n>> checking for unsetenv... yes\n>> checking for library containing unsetenv... none required\n>> checking for mkdtemp... yes\n>> checking for library containing mkdtemp... none required\n>> checking for initgroups... yes\n>> checking for library containing initgroups... none required\n>> checking for getdelim... yes\n>> checking for library containing getdelim... none required\n>> checking for BSD sysctl... no\n>> checking for POSIX Threads with ''... no\n>> checking for POSIX Threads with '-mt'... no\n>> checking for POSIX Threads with '-pthread'... yes\n>> configure: creating ./config.status\n>> config.status: creating config.mak.autogen\n>> config.status: executing config.mak.autogen commands\n>> * new build flags\n>> * new link flags\n>> CC base85.o\n>> CC bisect.o\n>> * new prefix flags\n>> CC blame.o\n>> CC blob.o\n>> CC bloom.o\n>> CC branch.o\n>> CC bulk-checkin.o\n>> CC bundle-uri.o\n>> CC bundle.o\n>> CC cache-tree.o\n>> CC cbtree.o\n>> CC chdir-notify.o\n>> CC checkout.o\n>> CC chunk-format.o\n>> CC color.o\n>> CC column.o\n>> In file included from compat/posix.h:449,\n>> from git-compat-util.h:26,\n>> from checkout.c:3:\n>> compat/../sane-ctype.h:29:60: error: expected expression before ‘]’ token\n>> 29 | #define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)\n>> | ^\n>> 0)\n>> | ^\n>> make: *** [Makefile:2821: cbtree.o] Error 1\n>> make: *** Waiting for unfinished jobs....\n>> make: *** [Makefile:2821: base85.o] Error 1\n>> make: *** [Makefile:2821: chdir-notify.o] Error 1\n>> make: *** [Makefile:2821: chunk-format.o] Error 1\n>> make: *** [Makefile:2821: blob.o] Error 1\n>> make: *** [Makefile:2821: color.o] Error 1\n>> make: *** [Makefile:2821: checkout.o] Error 1\n>> make: *** [Makefile:2821: column.o] Error 1\n>> make: *** [Makefile:2821: bulk-checkin.o] Error 1\n>> make: *** [Makefile:2821: branch.o] Error 1\n>> make: *** [Makefile:2821: cache-tree.o] Error 1\n>> make: *** [Makefile:2821: bloom.o] Error 1\n>> make: *** [Makefile:2821: bundle-uri.o] Error 1\n>> make: *** [Makefile:2821: bundle.o] Error 1\n>> make: *** [Makefile:2821: bisect.o] Error 1\n>> make: *** [Makefile:2821: blame.o] Error 1\n"},{"id":"521881","messageId":"1737451752344703@znolar4klagewshm.sas.yp-c.yandex.net","threadId":"63784","inReplyTo":"8795721752334860@mail-sendbernar-production-main-77.vla.yp-c.yandex.net","subject":"Re: git 2.50 and 2.50.1 src fails to compile in rhel 6","fromName":"Азат Усманов","fromEmail":"usmanov@ieml.ru","sentAt":"2025-07-12T18:25:03Z","receivedAt":"2025-07-12T18:30:50Z","isPatch":false,"sender":{"key":"usmanov@ieml.ru","avatar":null},"body":"I was able to apply the patch  sane-ctype.h  make did proceed until it stumbled  again, this time probably related to that path to random.h file I substituted earlier. Any thoughts?\ngit-2.50.1# make -j 4\nGIT_VERSION=2.50.1\n    * new build flags\n    * new link flags\n    CC base85.o\n    * new prefix flags\n    CC bisect.o\n    CC blame.o\n    CC blob.o\n    CC bloom.o\n    CC branch.o\n    CC bulk-checkin.o\n    CC bundle-uri.o\n    CC bundle.o\n    CC cache-tree.o\n    CC cbtree.o\n    CC chdir-notify.o\n    CC checkout.o\n    CC chunk-format.o\n    CC color.o\n    CC column.o\n    CC combine-diff.o\n    CC commit-graph.o\n    CC commit-reach.o\n    CC commit.o\n    CC common-exit.o\n    CC common-init.o\n    CC compat/nonblock.o\n    CC compat/obstack.o\n    CC compat/open.o\n    CC compat/terminal.o\n    CC compiler-tricks/not-constant.o\n    CC config.o\n    CC connect.o\n    CC connected.o\n    CC convert.o\n    CC copy.o\n    CC credential.o\n    CC csum-file.o\n    CC ctype.o\n    CC date.o\n    CC decorate.o\n    CC delta-islands.o\n    CC diagnose.o\n    CC diff-delta.o\n    CC diff-merges.o\n    CC diff-lib.o\n    CC diff-no-index.o\n    CC diff.o\n    CC diffcore-break.o\n    CC diffcore-delta.o\n    CC diffcore-order.o\n    CC diffcore-pickaxe.o\n    CC diffcore-rename.o\n    CC diffcore-rotate.o\n    CC dir-iterator.o\n    CC dir.o\n    CC editor.o\n    CC entry.o\n    CC environment.o\n    CC ewah/bitmap.o\n    CC ewah/ewah_bitmap.o\n    CC ewah/ewah_io.o\n    CC ewah/ewah_rlw.o\n    CC exec-cmd.o\n    CC fetch-negotiator.o\n    CC fetch-pack.o\n    CC fmt-merge-msg.o\n    CC fsck.o\n    CC fsmonitor.o\n    CC fsmonitor-ipc.o\n    CC fsmonitor-settings.o\n    CC gettext.o\n    CC git-zlib.o\n    CC gpg-interface.o\n    CC graph.o\n    CC grep.o\n    CC hash-lookup.o\n    CC hash.o\n    CC hashmap.o\n    GEN command-list.h\n    CC hex.o\n    CC hex-ll.o\n    CC hook.o\n    CC ident.o\n    CC json-writer.o\n    CC kwset.o\n    CC levenshtein.o\n    CC line-log.o\n    CC line-range.o\n    CC linear-assignment.o\n    CC list-objects-filter-options.o\n    CC list-objects-filter.o\n    CC list-objects.o\n    CC lockfile.o\n    CC log-tree.o\n    CC loose.o\n    CC ls-refs.o\n    CC mailinfo.o\n    CC mailmap.o\n    CC match-trees.o\n    CC mem-pool.o\n    CC merge-blobs.o\n    CC merge-ll.o\n    CC merge-ort.o\n    CC merge-ort-wrappers.o\n    CC merge.o\n    CC midx.o\n    CC midx-write.o\n    CC name-hash.o\n    CC negotiator/default.o\n    CC negotiator/noop.o\n    CC negotiator/skipping.o\n    CC notes-cache.o\n    CC notes-merge.o\n    CC notes-utils.o\n    CC notes.o\n    CC object-file-convert.o\n    CC object-file.o\n    CC object-name.o\n    CC object-store.o\n    CC object.o\n    CC oid-array.o\n    CC oidmap.o\n    CC oidset.o\n    CC oidtree.o\n    CC pack-bitmap-write.o\n    CC pack-bitmap.o\n    CC pack-check.o\n    CC pack-mtimes.o\n    CC pack-objects.o\n    CC pack-revindex.o\n    CC pack-write.o\n    CC packfile.o\n    CC pager.o\n    CC parallel-checkout.o\n    CC parse.o\n    CC parse-options-cb.o\n    CC parse-options.o\n    CC patch-delta.o\n    CC patch-ids.o\n    CC path.o\n    CC path-walk.o\n    CC pathspec.o\n    CC pkt-line.o\n    CC preload-index.o\n    CC pretty.o\n    CC prio-queue.o\n    CC progress.o\n    CC promisor-remote.o\n    CC prompt.o\n    CC protocol.o\n    CC protocol-caps.o\n    CC prune-packed.o\n    CC pseudo-merge.o\n    CC quote.o\n    CC range-diff.o\n    CC reachable.o\n    CC read-cache.o\n    CC rebase-interactive.o\n    CC rebase.o\n    CC ref-filter.o\n    CC reflog-walk.o\n    CC reflog.o\n    CC refs.o\n    CC refs/debug.o\n    CC refs/files-backend.o\n    CC refs/reftable-backend.o\n    CC refs/iterator.o\n    CC refs/packed-backend.o\n    CC refs/ref-cache.o\n    CC refspec.o\n    CC remote.o\n    CC replace-object.o\n    CC repo-settings.o\n    CC repository.o\n    CC rerere.o\n    CC reset.o\n    CC resolve-undo.o\n    CC revision.o\n    CC run-command.o\n    CC send-pack.o\n    CC sequencer.o\n    CC serve.o\n    CC server-info.o\n    CC setup.o\n    CC shallow.o\n    CC sideband.o\n    CC sigchain.o\n    CC sparse-index.o\n    CC split-index.o\n    CC stable-qsort.o\n    CC statinfo.o\n    CC strbuf.o\n    CC streaming.o\n    CC string-list.o\n    CC strmap.o\n    CC strvec.o\n    CC sub-process.o\n    CC submodule-config.o\n    CC submodule.o\n    CC symlinks.o\n    CC tag.o\n    CC tempfile.o\n    CC thread-utils.o\n    CC tmp-objdir.o\n    CC trace.o\n    CC trace2.o\n    CC trace2/tr2_cfg.o\n    CC trace2/tr2_cmd_name.o\n    CC trace2/tr2_ctr.o\n    CC trace2/tr2_dst.o\n    CC trace2/tr2_sid.o\n    CC trace2/tr2_sysenv.o\n    CC trace2/tr2_tbuf.o\n    CC trace2/tr2_tgt_event.o\n    CC trace2/tr2_tgt_normal.o\n    CC trace2/tr2_tgt_perf.o\n    CC trace2/tr2_tls.o\n    CC trace2/tr2_tmr.o\n    CC trailer.o\n    CC transport-helper.o\n    CC transport.o\n    CC tree-diff.o\n    CC tree-walk.o\n    CC tree.o\n    CC unpack-trees.o\n    CC upload-pack.o\n    CC url.o\n    CC urlmatch.o\n    CC usage.o\n    CC userdiff.o\n    CC utf8.o\n    CC varint.o\n    CC versioncmp.o\n    CC walker.o\n    CC wildmatch.o\n    CC worktree.o\n    CC wrapper.o\n    CC write-or-die.o\n    CC ws.o\nwrapper.c: In function ‘csprng_bytes’:\nwrapper.c:782:23: warning: implicit declaration of function ‘getrandom’; did you mean ‘srandom’? [-Wimplicit-function-declaration]\n  782 |                 res = getrandom(p, len, 0);\n      |                       ^~~~~~~~~\n      |                       srandom\n    CC wt-status.o\n    CC xdiff-interface.o\n    CC unix-socket.o\n    CC unix-stream-server.o\n    CC compat/simple-ipc/ipc-shared.o\n    CC compat/simple-ipc/ipc-unix-socket.o\n    CC sha1dc_git.o\n    CC sha1dc/sha1.o\n    CC sha1dc/ubc_check.o\n    CC sha256/block/sha256.o\n    CC compat/linux/procinfo.o\n    CC compat/fopen.o\n    CC compat/strlcpy.o\n    CC compat/qsort_s.o\n    CC xdiff/xdiffi.o\n    CC xdiff/xemit.o\n    CC xdiff/xhistogram.o\n    CC xdiff/xmerge.o\n    CC xdiff/xpatience.o\n    CC xdiff/xprepare.o\n    CC xdiff/xutils.o\n    CC reftable/basics.o\n    CC reftable/error.o\n    CC reftable/block.o\n    CC reftable/blocksource.o\n    CC reftable/iter.o\n    CC reftable/merged.o\n    CC reftable/pq.o\n    CC reftable/record.o\n    CC reftable/stack.o\n    CC reftable/system.o\n    CC reftable/table.o\n    CC reftable/tree.o\n    CC reftable/writer.o\n    CC http-backend.o\n    CC imap-send.o\n    CC http.o\n    CC sh-i18n--envsubst.o\n    CC shell.o\n    CC http-walker.o\n    CC http-fetch.o\n    CC http-push.o\n    CC remote-curl.o\n    * new script parameters\n    * new perl-specific parameters\n    GEN git-p4\n    GEN git-instaweb\n    CC git.o\n    CC builtin/add.o\n    CC builtin/am.o\n    CC builtin/annotate.o\n    CC builtin/apply.o\n    CC builtin/archive.o\n    CC builtin/backfill.o\n    CC builtin/bisect.o\n    CC builtin/blame.o\n    CC builtin/branch.o\n    GEN hook-list.h\n    CC builtin/bundle.o\n    CC builtin/cat-file.o\n    CC builtin/check-attr.o\n    CC builtin/check-ignore.o\n    CC builtin/check-mailmap.o\n    CC builtin/check-ref-format.o\n    CC builtin/checkout--worker.o\n    CC builtin/checkout-index.o\n    CC builtin/checkout.o\n    CC builtin/clean.o\n    CC builtin/clone.o\n    CC builtin/column.o\n    CC builtin/commit-graph.o\n    CC builtin/commit-tree.o\n    CC builtin/commit.o\n    CC builtin/config.o\n    CC builtin/count-objects.o\n    CC builtin/credential-cache--daemon.o\n    CC builtin/credential-cache.o\n    CC builtin/credential-store.o\n    CC builtin/credential.o\n    CC builtin/describe.o\n    CC builtin/diagnose.o\n    CC builtin/diff-files.o\n    CC builtin/diff-index.o\n    CC builtin/diff-pairs.o\n    CC builtin/diff-tree.o\n    CC builtin/diff.o\n    CC builtin/difftool.o\n    CC builtin/fast-export.o\n    CC builtin/fast-import.o\n    CC builtin/fetch-pack.o\n    CC builtin/fetch.o\n    CC builtin/fmt-merge-msg.o\n    CC builtin/for-each-ref.o\n    CC builtin/for-each-repo.o\n    CC builtin/fsck.o\n    CC builtin/fsmonitor--daemon.o\n    CC builtin/gc.o\n    CC builtin/get-tar-commit-id.o\n    CC builtin/grep.o\n    CC builtin/hash-object.o\n    GEN config-list.h\n    CC builtin/hook.o\n    CC builtin/index-pack.o\n    CC builtin/init-db.o\n    CC builtin/interpret-trailers.o\n    CC builtin/log.o\n    CC builtin/ls-files.o\n    CC builtin/ls-remote.o\n    CC builtin/ls-tree.o\n    CC builtin/mailinfo.o\n    CC builtin/mailsplit.o\n    CC builtin/merge-base.o\n    CC builtin/merge-file.o\n    CC builtin/merge-index.o\n    CC builtin/merge-ours.o\n    CC builtin/merge-recursive.o\n    CC builtin/merge-tree.o\n    CC builtin/merge.o\n    CC builtin/mktag.o\n    CC builtin/mktree.o\n    CC builtin/multi-pack-index.o\n    CC builtin/mv.o\n    CC builtin/name-rev.o\n    CC builtin/notes.o\n    CC builtin/pack-objects.o\n    CC builtin/pack-redundant.o\n    CC builtin/pack-refs.o\n    CC builtin/patch-id.o\n    CC builtin/prune-packed.o\n    CC builtin/prune.o\n    CC builtin/pull.o\n    CC builtin/push.o\n    CC builtin/range-diff.o\n    CC builtin/read-tree.o\n    CC builtin/rebase.o\n    CC builtin/receive-pack.o\n    CC builtin/reflog.o\n    CC builtin/refs.o\n    CC builtin/remote-ext.o\n    CC builtin/remote-fd.o\n    CC builtin/remote.o\n    CC builtin/repack.o\n    CC builtin/replace.o\n    CC builtin/replay.o\n    CC builtin/rerere.o\n    CC builtin/reset.o\n    CC builtin/rev-list.o\n    CC builtin/rev-parse.o\n    CC builtin/revert.o\n    CC builtin/rm.o\n    CC builtin/send-pack.o\n    CC builtin/shortlog.o\n    CC builtin/show-branch.o\n    CC builtin/show-index.o\n    CC builtin/show-ref.o\n    CC builtin/sparse-checkout.o\n    CC builtin/stash.o\n    CC builtin/stripspace.o\n    CC builtin/submodule--helper.o\n    CC builtin/symbolic-ref.o\n    CC builtin/tag.o\n    CC builtin/unpack-file.o\n    CC builtin/unpack-objects.o\n    CC builtin/update-index.o\n    CC builtin/update-ref.o\n    CC builtin/update-server-info.o\n    CC builtin/upload-archive.o\n    CC builtin/upload-pack.o\n    CC builtin/var.o\n    CC builtin/verify-commit.o\n    CC builtin/verify-pack.o\n    CC builtin/verify-tag.o\n    CC builtin/worktree.o\n    CC builtin/write-tree.o\n    GEN git-mergetool--lib\n    GEN git-sh-i18n\n    GEN git-sh-setup\n    CC scalar.o\n    CC daemon.o\n    CC common-main.o\n    CC abspath.o\n    CC add-interactive.o\n    CC add-patch.o\n    CC advice.o\n    CC alias.o\n    CC alloc.o\n    CC apply.o\n    CC archive-tar.o\n    CC archive-zip.o\n    CC archive.o\n    CC attr.o\n    CC help.o\n    GEN version-def.h\n    AR xdiff/lib.a\n    AR reftable/libreftable.a\n    GEN git-difftool--helper\n    GEN git-filter-branch\n    GEN git-merge-octopus\n    GEN git-merge-one-file\n    GEN git-merge-resolve\n    GEN git-mergetool\n    GEN git-quiltimport\n    GEN git-request-pull\n    GEN git-submodule\n    GEN git-web--browse\n    GEN GIT-PERL-HEADER\n    CC builtin/bugreport.o\n    CC builtin/help.o\n    CC version.o\n    GEN git-archimport\n    GEN git-cvsexportcommit\n    GEN git-cvsimport\n    GEN git-cvsserver\n    GEN git-send-email\n    GEN git-svn\n    AR libgit.a\n    LINK git-http-backend\n    LINK git-imap-send\n    LINK git-sh-i18n--envsubst\n    LINK git-daemon\n/usr/local/bin/ld: warning: libssl.so.3, needed by /usr/local/lib/libcurl.so, may conflict with libssl.so.10\n/usr/local/bin/ld: warning: libcrypto.so.3, needed by /usr/local/lib/libcurl.so, may conflict with libcrypto.so.10\n/usr/local/bin/ld: libgit.a(wrapper.o): in function `csprng_bytes':\n/root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: libgit.a(wrapper.o): in function `csprng_bytes':\n/root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: libgit.a(wrapper.o): in function `csprng_bytes':\n/root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2895: git-http-backend] Error 1\nmake: *** Waiting for unfinished jobs....\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2895: git-sh-i18n--envsubst] Error 1\n/usr/local/bin/ld: libgit.a(wrapper.o): in function `csprng_bytes':\n/root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\n/usr/local/bin/ld: /root/git-2.50.1/wrapper.c:782: undefined reference to `getrandom'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2895: git-daemon] Error 1\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2898: git-imap-send] Error 1\n\n\n\n\n \n\n > I/m soorry for the noob quesion but how do I get the patched version of the sane-ctype.h? I/m not sure where exactly to apply the patch to. I only see the diff, and not the whole file itself. And what are the chances of this patch being merged to master branch\n> \n>>> Hello everyone! I'm having trouble compilig git source since version 2.50 , for RHEL 6 (both in redhat 6-6 and 6.10).\n>>> the same source compiles fine in RHEL8 (Red Hat Enterprise Linux release 8.10 (Ootpa))\n>>> first compiler complans about missing random.h in compat/posix.h ,if you copy missing random.h file to RHEL6 machine to the /usr/include/sys directory then errors change to whole bunch of other errors like\n>>> error: expected declaration specifiers or ‘...’ before numeric constant\n>>>\n>>> 45 | #define toupper(x) sane_case((unsigned char)(x), 0)\n>>> both working and non working systems have same gcc 13-4.0 . Last version that compiles in both rhel 6 and rhel 8 is 2.49.1 Any ideas ?\n>>\n>> There is a patch to fix this issue available at\n>> https://lore.kernel.org/git/xmqqtt3j69r8.fsf@gitster.g/\n>>\n>> Thanks\n>>\n>> Phillip\n>>\n>>> git-2.50.1# make -j $(nproc) configure && ./configure && make -j $(nproc) && make -j $(nproc) install && make -j $(nproc) clean\n>>> GIT_VERSION=2.50.1\n>>> GEN configure\n>>> configure: Setting lib to 'lib' (the default)\n>>> configure: Will try -pthread then -lpthread to enable POSIX Threads.\n>>> configure: CHECKS for site configuration\n>>> checking for gcc... /usr/local/gcc-13.4.0/bin/gcc-13.4\n>>> checking whether the C compiler works... yes\n>>> checking for C compiler default output file name... a.out\n>>> checking for suffix of executables...\n>>> checking whether we are cross compiling... no\n>>> checking for suffix of object files... o\n>>> checking whether the compiler supports GNU C... yes\n>>> checking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... yes\n>>> checking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... none needed\n>>> checking for stdio.h... yes\n>>> checking for stdlib.h... yes\n>>> checking for string.h... yes\n>>> checking for inttypes.h... yes\n>>> checking for stdint.h... yes\n>>> checking for strings.h... yes\n>>> checking for sys/stat.h... yes\n>>> checking for sys/types.h... yes\n>>> checking for unistd.h... yes\n>>> checking for size_t... yes\n>>> checking for working alloca.h... yes\n>>> checking for alloca... yes\n>>> configure: CHECKS for programs\n>>> checking whether the compiler supports GNU C... (cached) yes\n>>> checking whether /usr/local/gcc-13.4.0/bin/gcc-13.4 accepts -g... (cached) yes\n>>> checking for /usr/local/gcc-13.4.0/bin/gcc-13.4 option to enable C11 features... (cached) none needed\n>>> checking for inline... inline\n>>> checking if linker supports -R... no\n>>> checking if linker supports -Wl,-rpath,... yes\n>>> checking for gar... no\n>>> checking for ar... ar\n>>> checking for gtar... gtar\n>>> checking for gnudiff... no\n>>> checking for gdiff... no\n>>> checking for diff... diff\n>>> checking for asciidoc... no\n>>> configure: CHECKS for libraries\n>>> checking for SHA1_Init in -lcrypto... yes\n>>> checking for curl_global_init in -lcurl... yes\n>>> checking for curl-config... curl-config\n>>> configure: Setting CURL_LDFLAGS to '-L/usr/local/lib -lcurl'\n>>> checking for XML_ParserCreate in -lexpat... yes\n>>> checking for iconv in -lc... yes\n>>> checking for deflateBound in -lz... yes\n>>> checking for socket in -lc... yes\n>>> checking for inet_ntop... yes\n>>> checking for inet_pton... yes\n>>> checking for hstrerror... yes\n>>> checking for basename in -lc... yes\n>>> checking if libc contains libintl... yes\n>>> checking for libintl.h... yes\n>>> configure: CHECKS for header files\n>>> checking for sys/select.h... yes\n>>> checking for poll.h... yes\n>>> checking for sys/poll.h... yes\n>>> checking for inttypes.h... (cached) yes\n>>> checking for old iconv()... no\n>>> checking whether iconv omits bom for utf-16 and utf-32... no\n>>> configure: CHECKS for typedefs, structures, and compiler characteristics\n>>> checking for socklen_t... yes\n>>> checking for struct itimerval... yes\n>>> checking for struct stat.st_mtimespec.tv_nsec... no\n>>> checking for struct stat.st_mtim.tv_nsec... yes\n>>> checking for struct dirent.d_type... yes\n>>> checking for struct passwd.pw_gecos... yes\n>>> checking for struct sockaddr_storage... yes\n>>> checking for struct addrinfo... yes\n>>> checking for getaddrinfo... yes\n>>> checking for library containing getaddrinfo... none required\n>>> checking how to run the C preprocessor... /usr/local/gcc-13.4.0/bin/gcc-13.4 -E\n>>> checking for grep that handles long lines and -e... /bin/grep\n>>> checking for egrep... /bin/grep -E\n>>> checking whether the platform regex supports REG_STARTEND... yes\n>>> checking whether system succeeds to read fopen'ed directory... yes\n>>> checking whether snprintf() and/or vsnprintf() return bogus value... no\n>>> checking whether the platform uses typical file type bits... yes\n>>> configure: CHECKS for library functions\n>>> checking for libgen.h... yes\n>>> checking for paths.h... yes\n>>> checking for libcharset.h... no\n>>> checking for strings.h... (cached) yes\n>>> checking for locale_charset in -liconv... no\n>>> checking for locale_charset in -lcharset... no\n>>> checking for sysinfo... yes\n>>> checking for clock_gettime... no\n>>> checking for CLOCK_MONOTONIC... yes\n>>> checking for sync_file_range... yes\n>>> checking for library containing sync_file_range... none required\n>>> checking for setitimer... yes\n>>> checking for library containing setitimer... none required\n>>> checking for strcasestr... yes\n>>> checking for library containing strcasestr... none required\n>>> checking for memmem... yes\n>>> checking for library containing memmem... none required\n>>> checking for strlcpy... no\n>>> checking for uintmax_t... yes\n>>> checking for strtoumax... yes\n>>> checking for library containing strtoumax... none required\n>>> checking for setenv... yes\n>>> checking for library containing setenv... none required\n>>> checking for unsetenv... yes\n>>> checking for library containing unsetenv... none required\n>>> checking for mkdtemp... yes\n>>> checking for library containing mkdtemp... none required\n>>> checking for initgroups... yes\n>>> checking for library containing initgroups... none required\n>>> checking for getdelim... yes\n>>> checking for library containing getdelim... none required\n>>> checking for BSD sysctl... no\n>>> checking for POSIX Threads with ''... no\n>>> checking for POSIX Threads with '-mt'... no\n>>> checking for POSIX Threads with '-pthread'... yes\n>>> configure: creating ./config.status\n>>> config.status: creating config.mak.autogen\n>>> config.status: executing config.mak.autogen commands\n>>> * new build flags\n>>> * new link flags\n>>> CC base85.o\n>>> CC bisect.o\n>>> * new prefix flags\n>>> CC blame.o\n>>> CC blob.o\n>>> CC bloom.o\n>>> CC branch.o\n>>> CC bulk-checkin.o\n>>> CC bundle-uri.o\n>>> CC bundle.o\n>>> CC cache-tree.o\n>>> CC cbtree.o\n>>> CC chdir-notify.o\n>>> CC checkout.o\n>>> CC chunk-format.o\n>>> CC color.o\n>>> CC column.o\n>>> In file included from compat/posix.h:449,\n>>> from git-compat-util.h:26,\n>>> from checkout.c:3:\n>>> compat/../sane-ctype.h:29:60: error: expected expression before ‘]’ token\n>>> 29 | #define sane_istest(x,mask) ((sane_ctype[(unsigned char)(x)] & (mask)) != 0)\n>>> | ^\n>>> 0)\n>>> | ^\n>>> make: *** [Makefile:2821: cbtree.o] Error 1\n>>> make: *** Waiting for unfinished jobs....\n>>> make: *** [Makefile:2821: base85.o] Error 1\n>>> make: *** [Makefile:2821: chdir-notify.o] Error 1\n>>> make: *** [Makefile:2821: chunk-format.o] Error 1\n>>> make: *** [Makefile:2821: blob.o] Error 1\n>>> make: *** [Makefile:2821: color.o] Error 1\n>>> make: *** [Makefile:2821: checkout.o] Error 1\n>>> make: *** [Makefile:2821: column.o] Error 1\n>>> make: *** [Makefile:2821: bulk-checkin.o] Error 1\n>>> make: *** [Makefile:2821: branch.o] Error 1\n>>> make: *** [Makefile:2821: cache-tree.o] Error 1\n>>> make: *** [Makefile:2821: bloom.o] Error 1\n>>> make: *** [Makefile:2821: bundle-uri.o] Error 1\n>>> make: *** [Makefile:2821: bundle.o] Error 1\n>>> make: *** [Makefile:2821: bisect.o] Error 1\n>>> make: *** [Makefile:2821: blame.o] Error 1\n"},{"id":"521884","messageId":"24c4c6f4-00bb-400f-b315-bbc5e81983cb@ramsayjones.plus.com","threadId":"63784","inReplyTo":"1737451752344703@znolar4klagewshm.sas.yp-c.yandex.net","subject":"Re: git 2.50 and 2.50.1 src fails to compile in rhel 6","fromName":"Ramsay Jones","fromEmail":"ramsay@ramsayjones.plus.com","sentAt":"2025-07-12T23:30:59Z","receivedAt":"2025-07-12T23:34:10Z","isPatch":false,"sender":{"key":"ramsay@ramsayjones.plus.com","avatar":"https://avatars.githubusercontent.com/u/33702710?v=4"},"body":"\n\nOn 12/07/2025 19:25, Азат Усманов wrote:\n> I was able to apply the patch  sane-ctype.h  make did proceed until it stumbled  again, this time probably related to that path to random.h file I substituted earlier. Any thoughts?\n[snip]\n\nWow, RHEL6! I think the oldest version we support is RHEL8.\n\n[Moving header files from a newer glibc to RHEL6 is a definite no-no - don't\ndo that!]\n\nHere, your glibc version is too old for getrandom(), so you need to build\nwith CSPRNG_METHOD= set either in your config.mak or on the make invocation,\nsomething like:\n\n    make CSPRNG_METHOD=\n\n> wrapper.c: In function ‘csprng_bytes’:\n> wrapper.c:782:23: warning: implicit declaration of function ‘getrandom’; did you mean ‘srandom’? [-Wimplicit-function-declaration]\n>   782 |                 res = getrandom(p, len, 0);\n>       |                       ^~~~~~~~~\n>       |                       srandom\n\nHTH.\n\nATB,\nRamsay Jones\n\n\n"},{"id":"521885","messageId":"3ecxwlvjbamg7shdnmvps2y7rszsxeqvkkox5lt5zshk5qi5z6@exwlj2brax27","threadId":"63784","inReplyTo":"24c4c6f4-00bb-400f-b315-bbc5e81983cb@ramsayjones.plus.com","subject":"Re: git 2.50 and 2.50.1 src fails to compile in rhel 6","fromName":"Carlo Marcelo Arenas Belón","fromEmail":"carenas@gmail.com","sentAt":"2025-07-13T04:23:20Z","receivedAt":"2025-07-13T04:39:42Z","isPatch":false,"sender":{"key":"carenas@gmail.com","avatar":"https://avatars.githubusercontent.com/u/76036?v=4"},"body":"On Sun, Jul 13, 2025 at 12:30:59AM -0800, Ramsay Jones wrote:\n> \n> On 12/07/2025 19:25, Азат Усманов wrote:\n> > I was able to apply the patch  sane-ctype.h  make did proceed until it stumbled  again, this time probably related to that path to random.h file I substituted earlier. Any thoughts?\n> [snip]\n> \n> Wow, RHEL6! I think the oldest version we support is RHEL8.\n> \n> [Moving header files from a newer glibc to RHEL6 is a definite no-no - don't\n> do that!]\n> \n> Here, your glibc version is too old for getrandom(), so you need to build\n> with CSPRNG_METHOD= set either in your config.mak or on the make invocation,\n> something like:\n> \n>     make CSPRNG_METHOD=\n\nthis would probably not work, because of the overrides in config.mak.uname and\nconfig.mak.autogen, so config.mak is better:\n\n$ make clean\n$ echo \"CSPRNG_METHOD=\" > config.make\n$ make\n\nCarlo\n"}]}