Compilation errors when trying to build Gambit on Debian Stable
Hi, I'm trying to build Gambit on the current Debian Stable (buster), and am getting stuck on some errors. This is with the following: uname -v -m -o #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux gcc --version gcc (Debian 8.3.0-6) 8.3.0 I did: git clone https://github.com/gambit/gambit cd gambit ./configure make and got the following: [...] gcc -O3 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fomit-frame-pointer -fPIC -fno-common -mpc64 -I"../include" -c -o os_files.o -I. -DHAVE_CONFIG_H -D___GAMBITDIR="\"/usr/local/Gambit\"" -D___GAMBITDIR_USERLIB="\"~/.gambit_userlib\"" -D___GAMBITDIR_INSTLIB="\"~~userlib\"" -D___SYS_TYPE_CPU="\"x86_64\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL os_files.c -D___LIBRARY os_files.c: In function ‘rename_long_path’: os_files.c:877:36: error: ‘RENAME_NOREPLACE’ undeclared (first use in this function); did you mean ‘MAP_FIXED_NOREPLACE’? if (!replace) flags |= RENAME_NOREPLACE; ^~~~~~~~~~~~~~~~ MAP_FIXED_NOREPLACE os_files.c:877:36: note: each undeclared identifier is reported only once for each function it appears in os_files.c:878:22: warning: implicit declaration of function ‘renameat2’; did you mean ‘renameat’? [-Wimplicit-function-declaration] result = renameat2 (olddir, oldpath2, newdir, newpath2, flags); ^~~~~~~~~ renameat make[1]: *** [makefile:400: os_files.o] Error 1 make[1]: Leaving directory '/home/john/code/gambit/lib' make: *** [makefile:475: all-recursive] Error 1 make 56.11s user 1.54s system 99% cpu 57.724 total any suggestions regarding how to proceed? Thanks, John -- John Magolske http://b79.net/contact
Afficher les réponses par date
This issue was fixed yesterday (commit 6f5b2058eeff6b1fbbd2c282d4e040182478da8f) for Ubuntu, and I would expect this to also fix the issue on Debian. Perhaps you made a clone just before the issue was fixed. Could you try again? It seems that renameat2 is only accessible through “syscall” on Ubuntu and maybe it is the same with Debian: https://stackoverflow.com/questions/41655386/no-renameat2-system-call-functi... Marc
On Jan 12, 2020, at 4:41 AM, John Magolske <listmail@b79.net> wrote:
Hi,
I'm trying to build Gambit on the current Debian Stable (buster), and am getting stuck on some errors. This is with the following:
uname -v -m -o #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux gcc --version gcc (Debian 8.3.0-6) 8.3.0
I did:
git clone https://github.com/gambit/gambit cd gambit ./configure make
and got the following:
[...] gcc -O3 -Wno-unused -Wno-write-strings -Wdisabled-optimization -fwrapv -fno-strict-aliasing -fno-trapping-math -fno-math-errno -fschedule-insns2 -fomit-frame-pointer -fPIC -fno-common -mpc64 -I"../include" -c -o os_files.o -I. -DHAVE_CONFIG_H -D___GAMBITDIR="\"/usr/local/Gambit\"" -D___GAMBITDIR_USERLIB="\"~/.gambit_userlib\"" -D___GAMBITDIR_INSTLIB="\"~~userlib\"" -D___SYS_TYPE_CPU="\"x86_64\"" -D___SYS_TYPE_VENDOR="\"pc\"" -D___SYS_TYPE_OS="\"linux-gnu\"" -D___CONFIGURE_COMMAND="\"./configure"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\"" -D___BAT_EXTENSION="\"\"" -D___PRIMAL os_files.c -D___LIBRARY os_files.c: In function ‘rename_long_path’: os_files.c:877:36: error: ‘RENAME_NOREPLACE’ undeclared (first use in this function); did you mean ‘MAP_FIXED_NOREPLACE’? if (!replace) flags |= RENAME_NOREPLACE; ^~~~~~~~~~~~~~~~ MAP_FIXED_NOREPLACE os_files.c:877:36: note: each undeclared identifier is reported only once for each function it appears in os_files.c:878:22: warning: implicit declaration of function ‘renameat2’; did you mean ‘renameat’? [-Wimplicit-function-declaration] result = renameat2 (olddir, oldpath2, newdir, newpath2, flags); ^~~~~~~~~ renameat make[1]: *** [makefile:400: os_files.o] Error 1 make[1]: Leaving directory '/home/john/code/gambit/lib' make: *** [makefile:475: all-recursive] Error 1 make 56.11s user 1.54s system 99% cpu 57.724 total
any suggestions regarding how to proceed?
Thanks,
John
-- John Magolske http://b79.net/contact
_______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.ca https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list
Hi, * Marc Feeley <feeley@iro.umontreal.ca> [200112 09:39]:
This issue was fixed yesterday (commit 6f5b2058eeff6b1fbbd2c282d4e040182478da8f) for Ubuntu, and I would expect this to also fix the issue on Debian. Perhaps you made a clone just before the issue was fixed. Could you try again?
Yes, that fixed it. After a `git pull` Gambit built without complaint: cd gambit git pull [...] ./configure --enable-single-host [...] make [...] make modules [...] sudo make install [...] gsi Gambit v4.9.3 >
It seems that renameat2 is only accessible through “syscall” on Ubuntu and maybe it is the same with Debian: https://stackoverflow.com/questions/41655386/no-renameat2-system-call-fu nction-on-ubuntu-16-04
Marc
Thanks, John -- John Magolske http://b79.net/contact
participants (2)
-
John Magolske -
Marc Feeley