Gary Johnson wrote:

> > > On 2021-10-17, Dominique Pell=C3=A9 wrote:
> > > > Gary Johnson <[email protected]> wrote:
> > > > 
> > > > > I have an older Ubuntu 10.04.4 system that I cannot upgrade for
> > > > > various reasons.  It's what I can run on that hardware.  A recent
> > > > > update of Vim failed to build.  A git bisect narrowed it down to the
> > > > > 8.2.3510 commit.  Here is the gcc command that failed.
> > > > >
> > > > >
> > > > > gcc -std=gnu99 -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  
> > > > > -pthread -D_REENTRANT -I/usr/include/gtk-2.0 
> > > > > -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 
> > > > > -I/usr/include/cairo -I/usr/include/pango-1.0 
> > > > > -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 
> > > > > -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 
> > > > > -I/usr/include/freetype2 -I/usr/include/directfb 
> > > > > -I/usr/include/libpng12     -g3 -Wno-deprecated-declarations 
> > > > > -DFEAT_BROWSE -DFEAT_CONCEAL -DFEAT_MOUSE_SGR -DFEAT_VARTABS 
> > > > > -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o 
> > > > > objects/fileio.o fileio.c
> > > > > In file included from vim.h:151,
> > > > >                  from fileio.c:14:
> > > > > feature.h:656:1: warning: "FEAT_BROWSE" redefined
> > > > > <command-line>: warning: this is the location of the previous 
> > > > > definition
> > > > > fileio.c: In function ‘time_differs’:
> > > > > fileio.c:3130: error: ‘stat_T’ has no member named ‘st_mtim’
> > > > > fileio.c: In function ‘buf_store_time’:
> > > > > fileio.c:4483: error: ‘stat_T’ has no member named ‘st_mtim’
> > > > > fileio.c: In function ‘vim_opentempdir’:
> > > > > fileio.c:5033: warning: implicit declaration of function ‘dirfd’
> > > > > make[2]: *** [objects/fileio.o] Error 1
> > > > > make[2]: Leaving directory `/mnt/home-common/gary/src/vim-new/vim/src'
> > > > > make[1]: *** [reconfig] Error 2
> > > > > make[1]: Leaving directory `/mnt/home-common/gary/src/vim-new/vim/src'
> > > > > make: *** [first] Error 2
> > > > >
> > > > >
> > > > > gcc is (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3.
> > > > 
> > > > That compilation error (st_mtim -> st_mtime) is meant to be fixed
> > > > by Vim 8.2.215. Consider posting the compilation error (if any) with
> > > > the latest vim 8.2.3531.
> > > 
> > > That's when I first noticed it, is when I updated today to 8.2.3531.
> > > Here's the error message from that build.
> > > 
> > > 
> > > gcc -std=gnu99 -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread 
> > > -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include 
> > > -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 
> > > -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 
> > > -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 
> > > -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12  
> > >    -g3 -Wno-deprecated-declarations -DFEAT_BROWSE -DFEAT_CONCEAL 
> > > -DFEAT_MOUSE_SGR -DFEAT_VARTABS -D_REENTRANT -U_FORTIFY_SOURCE 
> > > -D_FORTIFY_SOURCE=1        -o objects/getchar.o getchar.c
> > > In file included from vim.h:151,
> > >                  from getchar.c:19:
> > > feature.h:656:1: warning: "FEAT_BROWSE" redefined
> > > <command-line>: warning: this is the location of the previous definition
> > > fileio.c: In function ‘time_differs’:
> > > fileio.c:3126: error: ‘stat_T’ has no member named ‘st_mtim’
> > > fileio.c: In function ‘buf_store_time’:
> > > fileio.c:4484: error: ‘stat_T’ has no member named ‘st_mtim’
> > > fileio.c: In function ‘vim_opentempdir’:
> > > fileio.c:5034: warning: implicit declaration of function ‘dirfd’
> > > make[2]: *** [objects/fileio.o] Error 1
> > > make[2]: *** Waiting for unfinished jobs....
> > > make[2]: Leaving directory `/mnt/home-common/gary/src/vim-new/vim/src'
> > > make[1]: *** [reconfig] Error 2
> > > make[1]: Leaving directory `/mnt/home-common/gary/src/vim-new/vim/src'
> > > make: *** [first] Error 2
> > 
> > This looks like configure defined ST_MTIM_NSEC to st_mtim.tv_nsec even
> > though it does not work.  Please check the output of configure, should
> > be in src/auto/config.log
> 
> I assume that this is the part of config.log you're interested in.
> 
> 
> configure:13152: checking for nanoseconds field of struct stat
> configure:13180: gcc -std=gnu99 -c -g3 -Wno-deprecated-declarations 
> -DFEAT_BROWSE -DFEAT_CONCEAL -DFEAT_MOUSE_SGR -DFEAT_VARTABS  
> -DST_MTIM_NSEC=st_mtim.tv_nsec conftest.c >&5
> configure:13180: $? = 0
> configure:13188: result: st_mtim.tv_nsec
> 
> 
> I can work around the problem by commenting-out this #define in
> vim/src/auto/config.h:
> 
>     /* Define to nanoseconds field of struct stat */
>     #define ST_MTIM_NSEC st_mtim.tv_nsec
> 
> but I haven't worked with configure recently and don't know
> immediately how to fix the root problem.

Find this line in auto/configure:

 for ac_val in st_mtim.tv_nsec st_mtim._tv_nsec st_mtim.st__tim.tv_nsec 
st_mtime_n st_mtimespec.tv_nsec; do

Try changing the order of the entries.  I guess it might work better if
st_mtimespec.tv_nsec comes first.

Still, it is weird that the configure test would find st_mtim.tv_nsec
but it is not found when compiling.  Perhaps the order of include files
matters.

-- 
hundred-and-one symptoms of being an internet addict:
183. You move your coffeemaker next to your computer.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20211018093121.CD868C80053%40moolenaar.net.

Raspunde prin e-mail lui