vapoursynth/vapoursynth

configure failes on Raspberry pi 4B

Rowley2504 opened this issue · 12 comments

Hello,

I'm trying to build vapoursynth on a Rasperry pi Raspain OS 64bit Bullseye. with gcc (Debian 10.2.1-6) 10.2.1 20210110 (stock gcc verson)
The configure failes with :

checking whether the C compiler works... no
configure: error: in /home/rowland/Software/ffmpeg-libraries/vapoursynth': configure: error: C compiler cannot create executables See config.log' for more details

tail of config.log
/* confdefs.h */
#define PACKAGE_NAME "vapoursynth"
#define PACKAGE_TARNAME "vapoursynth"
#define PACKAGE_VERSION "65"
#define PACKAGE_STRING "vapoursynth 65"
#define PACKAGE_BUGREPORT "https://github.com/vapoursynth/vapoursynth/issues"
#define PACKAGE_URL "http://www.vapoursynth.com/
"

configure: exit 77

I have successfully builf ffmpeg and about 6 of it's depenfancies, and handbrake. all are C programs. so I don;t understand why I'm getting this error.

I have also tried building with gcc versions 13.1.0 and 13.2.0 and get the same error

Any assistance would be appreciated

The tail of config.log is not helpful. Upload the entire config.log here or paste the whole content to pastebin.

Sorry about that. here it is

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by vapoursynth configure 65, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ ./configure

---------

Platform.

---------

hostname = raspberrypi
uname -m = aarch64
uname -r = 6.1.21-v8+
uname -s = Linux
uname -v = #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch = aarch64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown

PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /usr/local/games
PATH: /usr/games

-----------

Core tests.

-----------

configure:2414: checking for a BSD-compatible install
configure:2482: result: /usr/bin/install -c
configure:2493: checking whether build environment is sane
configure:2548: result: yes
configure:2694: checking for a thread-safe mkdir -p
configure:2733: result: /usr/bin/mkdir -p
configure:2740: checking for gawk
configure:2770: result: no
configure:2740: checking for mawk
configure:2756: found /usr/bin/mawk
configure:2767: result: mawk
configure:2778: checking whether make sets $(MAKE)
configure:2800: result: yes
configure:2829: checking whether make supports nested variables
configure:2846: result: yes
configure:2974: checking whether make supports nested variables
configure:2991: result: yes
configure:3032: checking build system type
configure:3046: result: aarch64-unknown-linux-gnu
configure:3066: checking host system type
configure:3079: result: aarch64-unknown-linux-gnu
configure:3120: checking how to print strings
configure:3147: result: printf
configure:3172: checking whether make supports the include directive
configure:3187: make -f confmf.GNU && cat confinc.out
this is the am__doit target
configure:3190: $? = 0
configure:3209: result: yes (GNU style)
configure:3279: checking for gcc
configure:3295: found /usr/bin/gcc
configure:3306: result: gcc
configure:3535: checking for C compiler version
configure:3544: gcc --version >&5
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:3555: $? = 0
configure:3544: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/10/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 10.2.1-6' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.1 20210110 (Debian 10.2.1-6)
configure:3555: $? = 0
configure:3544: gcc -V >&5
gcc: error: unrecognized command-line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3555: $? = 1
configure:3544: gcc -qversion >&5
gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3555: $? = 1
configure:3575: checking whether the C compiler works
configure:3597: gcc conftest.c >&5
conftest.c:7:21: warning: missing terminating " character
7 | #define PACKAGE_URL "http://www.vapoursynth.com/
| ^
conftest.c:8:1: warning: missing terminating " character
8 | "
| ^
conftest.c:8:1: error: missing terminating " character
configure:3601: $? = 1
configure:3639: result: no
configure: failed program was:
| /* confdefs.h /
| #define PACKAGE_NAME "vapoursynth"
| #define PACKAGE_TARNAME "vapoursynth"
| #define PACKAGE_VERSION "65"
| #define PACKAGE_STRING "vapoursynth 65"
| #define PACKAGE_BUGREPORT "https://github.com/vapoursynth/vapoursynth/issues"
| #define PACKAGE_URL "http://www.vapoursynth.com/
| "
| /
end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:3644: error: in /home/rowland/Software/ffmpeg-libraries/vapoursynth': configure:3646: error: C compiler cannot create executables See config.log' for more details

----------------

Cache variables.

----------------

ac_cv_build=aarch64-unknown-linux-gnu
ac_cv_env_CCC_set=
ac_cv_env_CCC_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CXXCPP_set=
ac_cv_env_CXXCPP_value=
ac_cv_env_CXXFLAGS_set=
ac_cv_env_CXXFLAGS_value=
ac_cv_env_CXX_set=
ac_cv_env_CXX_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_LT_SYS_LIBRARY_PATH_set=
ac_cv_env_LT_SYS_LIBRARY_PATH_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=
ac_cv_env_PKG_CONFIG_PATH_value=
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_PYTHON3_CFLAGS_set=
ac_cv_env_PYTHON3_CFLAGS_value=
ac_cv_env_PYTHON3_LIBS_set=
ac_cv_env_PYTHON3_LIBS_value=
ac_cv_env_PYTHON_set=
ac_cv_env_PYTHON_value=
ac_cv_env_ZIMG_CFLAGS_set=
ac_cv_env_ZIMG_CFLAGS_value=
ac_cv_env_ZIMG_LIBS_set=
ac_cv_env_ZIMG_LIBS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=aarch64-unknown-linux-gnu
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_mkdir=/usr/bin/mkdir
ac_cv_prog_AWK=mawk
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_make_make_set=yes
am_cv_make_support_nested_variables=yes

-----------------

Output variables.

-----------------

'
ACLOCAL='${SHELL} '''/home/rowland/Software/ffmpeg-libraries/vapoursynth/missing''' aclocal-1.16'
AMDEPBACKSLASH=''
AMDEP_FALSE='#'
AMDEP_TRUE=''
AMTAR='$${TAR-tar}'
AM_BACKSLASH=''
AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
AM_DEFAULT_VERBOSITY='0'
AM_V='$(V)'
AR=''
AS=''
AUTOCONF='${SHELL} '''/home/rowland/Software/ffmpeg-libraries/vapoursynth/missing''' autoconf'
AUTOHEADER='${SHELL} '''/home/rowland/Software/ffmpeg-libraries/vapoursynth/missing''' autoheader'
AUTOMAKE='${SHELL} '''/home/rowland/Software/ffmpeg-libraries/vapoursynth/missing''' automake-1.16'
AVX2FLAGS=''
AWK='mawk'
CC='gcc'
CCDEPMODE=''
CFLAGS=''
CPP=''
CPPFLAGS=''
CXX=''
CXXCPP=''
CXXDEPMODE=''
CXXFLAGS=''
CYGPATH_W='echo'
CYTHON=''
DEBUGCFLAGS=''
DEFS=''
DEPDIR='.deps'
DLLTOOL=''
DLOPENLIB=''
DSYMUTIL=''
DUMPBIN=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
FGREP=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
LD=''
LDFLAGS=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LIPO=''
LN_S=''
LTLIBOBJS=''
LT_SYS_LIBRARY_PATH=''
MAKEINFO='${SHELL} '''/home/rowland/Software/ffmpeg-libraries/vapoursynth/missing''' makeinfo'
MANIFEST_TOOL=''
MAYBE_PYTHON3_LIBS=''
MFLAGS=''
MKDIR_P='/usr/bin/mkdir -p'
NM=''
NMEDIT=''
OBJDUMP=''
OBJEXT=''
OTOOL64=''
OTOOL=''
PACKAGE='vapoursynth'
PACKAGE_BUGREPORT='https://github.com/vapoursynth/vapoursynth/issues'
PACKAGE_NAME='vapoursynth'
PACKAGE_STRING='vapoursynth 65'
PACKAGE_TARNAME='vapoursynth'
PACKAGE_URL='http://www.vapoursynth.com/
PACKAGE_VERSION='65'
PATH_SEPARATOR=':'
PKG_CONFIG=''
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH=''
PLUGINDIR=''
PLUGINLDFLAGS=''
PTHREAD_CC=''
PTHREAD_CFLAGS=''
PTHREAD_CXX=''
PTHREAD_LIBS=''
PYTHON3_CFLAGS=''
PYTHON3_LIBS=''
PYTHON=''
PYTHONMODULE_FALSE=''
PYTHONMODULE_TRUE=''
PYTHON_EXEC_PREFIX=''
PYTHON_MODULE_UNDEFINED=''
PYTHON_PLATFORM=''
PYTHON_PREFIX=''
PYTHON_VERSION=''
RANLIB=''
SED=''
SET_MAKE=''
SHELL='/bin/bash'
STACKREALIGN=''
STRIP=''
UNDEFINEDLDFLAGS=''
UNICODECFLAGS=''
UNICODELDFLAGS=''
VERSION='65'
VSCORE_FALSE=''
VSCORE_TRUE=''
VSPIPE_FALSE=''
VSPIPE_TRUE=''
VSSCRIPT_FALSE=''
VSSCRIPT_TRUE=''
X86ASM_FALSE=''
X86ASM_TRUE=''
ZIMG_CFLAGS=''
ZIMG_LIBS=''
ac_ct_AR=''
ac_ct_CC='gcc'
ac_ct_CXX=''
ac_ct_DUMPBIN=''
am__EXEEXT_FALSE=''
am__EXEEXT_TRUE=''
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__fastdepCXX_FALSE=''
am__fastdepCXX_TRUE=''
am__include='include'
am__isrc=''
am__leading_dot='.'
am__nodep='_no'
am__quote=''
am__tar='$${TAR-tar} chof - "$$tardir"'
am__untar='$${TAR-tar} xf -'
ax_pthread_config=''
bindir='${exec_prefix}/bin'
build='aarch64-unknown-linux-gnu'
build_alias=''
build_cpu='aarch64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host='aarch64-unknown-linux-gnu'
host_alias=''
host_cpu='aarch64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='${SHELL} /home/rowland/Software/ffmpeg-libraries/vapoursynth/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(MKDIR_P)'
oldincludedir='/usr/include'
pdfdir='${docdir}'
pkgpyexecdir=''
pkgpythondir=''
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
pyexecdir=''
pythondir=''
runstatedir='${localstatedir}/run'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

-----------

confdefs.h.

-----------

/* confdefs.h */
#define PACKAGE_NAME "vapoursynth"
#define PACKAGE_TARNAME "vapoursynth"
#define PACKAGE_VERSION "65"
#define PACKAGE_STRING "vapoursynth 65"
#define PACKAGE_BUGREPORT "https://github.com/vapoursynth/vapoursynth/issues"
#define PACKAGE_URL "http://www.vapoursynth.com/
"

configure: exit 77

For unknown reason your PACKAGE_URL definition have the ending quotation mark on the next line rather than on the same line, hence results in missing terminating " character error. Try to build https://github.com/vapoursynth/vapoursynth/archive/refs/tags/R63.tar.gz and see if it still fails.

Thanks for the fast response. The good news is the configure works.
The bad news is there were compilation errors

CXX src/vspipe/vspipe.o
CXX src/vspipe/printgraph.o
CC src/vspipe/md5.o
CXX src/common/wave.o
CXX src/vsscript/libvapoursynth_script_la-vsscript.lo
CXX src/core/libvapoursynth_la-audiofilters.lo
CXX src/core/libvapoursynth_la-averageframesfilter.lo
CXX src/core/libvapoursynth_la-boxblurfilter.lo
CXX src/core/libvapoursynth_la-cpufeatures.lo
CXX src/core/expr/libvapoursynth_la-expr.lo
src/core/expr/expr.cpp: In function ‘expr::ExprOp expr::{anonymous}::decodeToken(std::string_view)’:
src/core/expr/expr.cpp:206:83: error: no matching function for call to ‘from_chars(std::basic_string_view::const_pointer, std::basic_string_view::const_pointer, float&)’
206 | auto result = std::from_chars(token.data(), token.data() + token.size(), f);
| ^
In file included from src/core/expr/expr.cpp:23:
/usr/include/c++/10/charconv:595:5: note: candidate: ‘template std::__detail::__integer_from_chars_result_type<_Tp> std::from_chars(const char*, const char*, _Tp&, int)’
595 | from_chars(const char* __first, const char* __last, _Tp& __value,
| ^~~~~~~~~~
/usr/include/c++/10/charconv:595:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/utility:70,
from /usr/include/c++/10/algorithm:60,
from src/core/expr/expr.cpp:21:
/usr/include/c++/10/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = std::from_chars_result]’:
/usr/include/c++/10/charconv:584:11: required by substitution of ‘template using __integer_from_chars_result_type = std::enable_if_t<std::_or<std::_or<std::is_same<typename std::remove_cv< >::type, signed char>, std::is_same<typename std::remove_cv< >::type, short int>, std::is_same<typename std::remove_cv< >::type, int>, std::is_same<typename std::remove_cv< >::type, long int>, std::is_same<typename std::remove_cv< >::type, long long int> >, std::_or<std::is_same<typename std::remove_cv< >::type, unsigned char>, std::is_same<typename std::remove_cv< >::type, short unsigned int>, std::is_same<typename std::remove_cv< >::type, unsigned int>, std::is_same<typename std::remove_cv< >::type, long unsigned int>, std::is_same<typename std::remove_cv< >::type, long long unsigned int> >, std::is_same<char, typename std::remove_cv< >::type> >::value, std::from_chars_result> [with _Tp = float]’
/usr/include/c++/10/charconv:595:5: required by substitution of ‘template std::__detail::__integer_from_chars_result_type<_Tp> std::from_chars(const char*, const char*, _Tp&, int) [with _Tp = float]’
src/core/expr/expr.cpp:206:83: required from here
/usr/include/c++/10/type_traits:2554:11: error: no type named ‘type’ in ‘struct std::enable_if<false, std::from_chars_result>’
2554 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;
| ^~~~~~~~~~~
CXX src/core/expr/libvapoursynth_la-jitcompiler.lo
make: *** [Makefile:1292: src/core/expr/libvapoursynth_la-expr.lo] Error 1
make: *** Waiting for unfinished jobs....

Issues aside, you should reconsider encoding on a raspberry pi...

If you're interested in encoding on small devices, Minisforum UM790 Pro might be much better option.

My guess is that your compiler is too old. At least that's what usually causes std::from_chars errors.

It seems that std::from_chars floating point support was added in libstdc++ 11.1.

Since the configure works for R63 on your system, I guess it's the AC_INIT changes in configure.ac that break things. If you prefer building from the latest master or release, try updating autoconf, automake and libtool to the latest version first, and then run ./autogen.sh && ./configure. If that still doesn't work, try replacing the following line in configure.ac

m4_esyscmd_s([sed -e 's/.* \(.*\)/\1/' VAPOURSYNTH_VERSION]),

to

[65],

and run ./autogen.sh && ./configure again.