AviSynth / AviSynthPlus

AviSynth with improvements
http://avs-plus.net
934 stars 73 forks source link

Fail to build under Linux #155

Open marillat opened 4 years ago

marillat commented 4 years ago

Debian unstable, amd64, GCC 9.3.0

cd /src/avisynthplus-3.5.1/obj-x86_64-linux-gnu/avs_core && /usr/lib/ccache/c++  -DAvsCore_EXPORTS -DBUILDING_AVSCORE -I/src/avisynthplus-3.5.1/avs_core/include -I/src/avisynthplus-3.5.1/obj-x86_64-linux-gnu/avs_core  -g -O2 -fdebug-prefix-map=/src/avisynthplus-3.5.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -msse2  -fPIC   -std=c++17 -o CMakeFiles/AvsCore.dir/core/avisynth.cpp.o -c /src/avisynthplus-3.5.1/avs_core/core/avisynth.cpp
/src/avisynthplus-3.5.1/avs_core/core/avisynth.cpp: In member function ‘virtual size_t ScriptEnvironment::GetProperty(AvsEnvProperty)’:
/src/avisynthplus-3.5.1/avs_core/core/avisynth.cpp:1576:5: error: return-statement with no value, in function returning ‘size_t’ {aka ‘long unsigned int’} [-fpermissive]
 1576 |     return AVS_SEQREV;
      |     ^~~~~~
make[2]: *** [avs_core/CMakeFiles/AvsCore.dir/build.make:313: avs_core/CMakeFiles/AvsCore.dir/core/avisynth.cpp.o] Error 1
qyot27 commented 4 years ago

I had not tested the tarballs. AVS_SEQREV is generated at configure time by looking at the repo metadata in .git, which the tarballs obviously do not have.

I'll have to get to pushing the fix to the main repo tomorrow, but it's available directly here: https://github.com/qyot27/AviSynthPlus/commit/70b81e17f225ba4b28eccfbc555a2a486d3949e5.patch

Alternately, if you clone the git repo and then just checkout the tag, the AVS_SEQREV and AVS_BRANCH values would be populated.

marillat commented 4 years ago

Thanks build fine now.

I'll start to build Debian packages for various architectures (amd64, arm64, armel, armhf, i386 and powerpc) to this repository https://www.deb-multimedia.org/ I hope it will bring more users to this project.

qyot27 commented 4 years ago

It's also now landed in master: https://github.com/AviSynth/AviSynthPlus/commit/9c3b4ff5d7bad3a3ff8248cc069984a625e9fd3c

So whenever the next release gets made, it should be in the tarball.

qyot27 commented 4 years ago

The three arm* targets you mentioned are probably possible now, as v3.6.0 has broken the Intel SIMD out into a separate part of the tree and it can be built at least for aarch64 on the raspi4.

Suggestions for what to look for to detect PowerPC are welcome, although whether it builds/runs isn't something I can test.