Subject: bug#78259: callproc.c undeclared function

From: Eli Zaretskii <[email-masked]>
Date: Tue, 06 May 2025 14:12:34 +0300

> From: badli al rashid <[email-masked]>
> Date: Tue, 6 May 2025 09:13:50 +0800
> Cc: [email-masked]
> 
> configure:33844: result: yes                                                                                                          
> configure:33850: checking for posix_spawn_file_actions_addchdir                                                                  
>      configure:33850: gcc -o conftest  -O0 -g3 -pthread -isystem
> /data/data/com.termux/files/usr/include/librsvg-2.0 -isystem /data/data/com.termux/files/usr/include/cairo -
> isystem /data/data/com.termux/files/usr/include -isystem /data/data/com.termux/files/usr/include/libxml2 -
> isystem /data/data/com.termux/files/usr/include/pango-1.0 -isystem
> /data/data/com.termux/files/usr/include/harfbuzz -isystem /data/data/com.termux/files/usr/include/pango-1.0 -
> isystem /data/data/com.termux/files/usr/include/fribidi -isystem /data/data/com.termux/files/usr/include -
> isystem /data/data/com.termux/files/usr/include/harfbuzz -isystem /data/data/com.termux/files/usr/include -
> isystem /data/data/com.termux/files/usr/include/gdk-pixbuf-2.0 -isystem
> /data/data/com.termux/files/usr/include -isystem /data/data/com.termux/files/usr/include/glib-2.0 -isystem
> /data/data/com.termux/files/usr/lib/glib-2.0/include -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/cairo -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/freetype2 -isystem /data/data/com.termux/files/usr/include/libpng16 -
> isystem /data/data/com.termux/files/usr/include -isystem /data/data/com.termux/files/usr/include/pixman-1 -
> isystem /data/data/com.termux/files/usr/include/cairo -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/freetype2 -isystem /data/data/com.termux/files/usr/include/libpng16 -
> isystem /data/data/com.termux/files/usr/include -isystem /data/data/com.termux/files/usr/include/pixman-1     
>  conftest.c -lsqlite3 -lX11   -L/data/data/com.termux/files/usr/lib -lcairo >&5                                                      
>                 ld.lld: error: undefined symbol: posix_spawn_file_actions_addchdir                                                 
>                    >>> referenced by conftest.c:285                                                                                                  
>     >>>               /data/data/com.termux/files/usr/tmp/conftest-987b5e.o:(main)                                                 
>        gcc: error: linker command failed with exit code 1 (use -v to see invocation)                                             
>             configure:33850: $? = 1                                                                                                               
> configure: failed program was:
> 
> configure:33850: result: no                                                                                      configure:33856: checking
> for posix_spawn_file_actions_addchdir_np                                               configure:33856: gcc -o conftest  -
> O0 -g3 -pthread -isystem /data/data/com.termux/files/usr/include/librsvg-2.0 -isystem
> /data/data/com.termux/files/usr/include/cairo -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/libxml2 -isystem /data/data/com.termux/files/usr/include/pango-1.0 -
> isyste
> m /data/data/com.termux/files/usr/include/harfbuzz -isystem
> /data/data/com.termux/files/usr/include/pango-1.0 -is
> ystem /data/data/com.termux/files/usr/include/fribidi -isystem /data/data/com.termux/files/usr/include -isystem
> /
> data/data/com.termux/files/usr/include/harfbuzz -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/gdk-pixbuf-2.0 -isystem /data/data/com.termux/files/usr/include -
> isystem /data/data/com.termux/files/usr/include/glib-2.0 -isystem
> /data/data/com.termux/files/usr/lib/glib-2.0/include -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/cairo -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/freetype2 -isystem /data/data/com.termux/files/usr/include/libpng16 -
> isystem /data/data/com.termux/files/usr/include -isystem /data/data/com.termux/files/usr/include/pixman-1 -
> isystem /data/data/com.termux/files/usr/include/cairo -isystem /data/data/com.termux/files/usr/include -isystem
> /data/data/com.termux/files/usr/include/freetype2 -isystem /data/data/com.termux/files/usr/include/libpng16 -
> isystem /data/data/com.termux/files/usr/include -isystem /data/data/com.termux/files/usr/include/pixman-1     
>  conftest.c -lsqlite3 -lX11   -L/data/data/com.termux/files/usr/lib -lcairo >&5           configure:33856: $? = 0     

So the function does exist, but something is wrong with its prototype
declaration in the spawn.h header file.  I suggest to take a look at
the spawn.h header file and see what it says about
posix_spawn_file_actions_addchdir_np.  Perhaps the prototype is
guarded by some preprocessor directives or something?

What was the exact 'configure' command you used to configure Emacs,
and was that in a clean source tree?