Den 20.09.2024 01:19, skrev Andrew
Randrianasulu:
Den 19.09.2024 19:19, skrev Andrew Randrianasulu:
If my understanding is correct, the standard
pre-built CinGG packages are static binaries
with all required thirdparty, ffmpeg and libs
included(?)
Would it be possible to combine static and
dynamic in one pre-built so that users via
setting could select what they want, ffmpeg and
libs included or from the system?
Or is two different pre-builts required?
well, in general you can't link both
statically (piece of library embedded into binary)
and shared (piece of code loaded on demand or at
launch). There might be some sort of
thunks/shims/wrappers dynamically dispatching
calls to external library if present (like firefox
vs ffmpeg) but I am not programmist enough for
making this happen even for most obvious vaapi
libs.
sorry.
I had "a little hope" something could be done via a
configuration/startup file :)
In addition to the last sections below (from 1.3.3 in the
manual):
"just include "–without-thirdparty" to your configure
script, "and auto means probe and use the system version"
the manual 1.3.8 Unbundled Builds
"There are some generic build scripts included in the
CINELERRA-GG GIT repository
for users who want to do unbundled builds with ffmpeg
already available on their
system. This has been tested on Arch, Ubuntu 18, FreeBSD,
Windows10 and Leap
15 (rpm) at the time this was documented. The names of the
build scripts are:
arch.bld, bsd.bld, deb.bld, rpm.bld, and cygwin.bld. These
scripts are in
the blds subdirectory."
Is there available a built-guide or possible to list the
detailed procedure steps doing this? ;)
well, step no. 1 - download source repo via git clone.
Step 2 - cd to directory where ./autogen.sh located.
2a - set additional environment variables if you need so
via export command
3) run ./autogen.sh
4) run ./configure with all switches you need. (for first
try probably --with-single-user so build will be user-local,
no need for installing into system)
ffmpeg.git can be broken at any time by ffmpeg
development process :(
5) run make
6) if doing single user build also run make install
7) run it from same directory as bin/cin (you can "ls
bin" just to see if all files were build/installed)
report errors here :)
Thanks, here we go:
1)
# cd /home
# git clone git://
git.cinelerra-gg.org/goodguy/cinelerra.git
Cloning into 'cinelerra'...
remote: Enumerating objects: 22646, done.
remote: Counting objects: 100% (22646/22646), done.
remote: Compressing objects: 100% (14288/14288), done.
remote: Total 22646 (delta 11647), reused 17384 (delta 7999),
pack-reused 0
Receiving objects: 100% (22646/22646), 405.36 MiB | 16.00 MiB/s,
done.
Resolving deltas: 100% (11647/11647), done.
2)
# cd /home/cinelerra/cinelerra-5.1/tools/makeappimagetool
2a) ?
3)
# ./autogen.sh
configure.ac:19: installing 'cfg/compile'
configure.ac:89: installing 'cfg/config.guess'
configure.ac:89: installing 'cfg/config.sub'
configure.ac:12: installing 'cfg/install-sh'
configure.ac:12: installing 'cfg/missing'
Makefile.am: installing 'cfg/depcomp'
4)
I didn't understand what to do with 4) "run ./configure with all
switches you need" ?
So I just started with your
# ./configure --with-single-user
--with-git-ffmpeg=
https://git.ffmpeg.org/ffmpeg.git
configure: WARNING: unrecognized options: --with-single-user,
--with-git-ffmpeg
configure: loading site script /usr/share/site/x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking for g++... g++
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking whether make supports the include directive... yes (GNU
style)
checking dependency style of g++... gcc3
checking for gcc... gcc
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking how to run the C preprocessor... gcc -E
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for boost/filesystem.hpp... yes
checking for boost/filesystem/path.hpp... yes
checking for boost/regex.hpp... yes
checking for libpng16/png.h... yes
checking for zlib.h... yes
checking for jpeglib.h... yes
./configure: line 5910: -O2: command not found
checking for X... no
checking for fcntl.h... yes
checking for memory.h... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for _Bool... yes
checking for stdbool.h that conforms to C99 or later... yes
checking for inline... inline
checking for int32_t... yes
checking for int64_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint64_t... yes
checking for uint8_t... yes
checking for ptrdiff_t... yes
checking for pid_t... yes
checking for vfork.h... no
checking for sys/param.h... yes
checking for fork... no
checking for vfork... no
checking for getpagesize... no
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for GNU libc compatible malloc... no
checking for working mmap... no
checking for dup2... no
checking for floor... no
checking for gettimeofday... no
checking for memmove... no
checking for memset... no
checking for munmap... no
checking for pow... no
checking for realpath... no
checking for select... no
checking for sqrt... no
checking for strcasecmp... no
checking for strchr... no
checking for strdup... no
checking for strerror... no
checking for strncasecmp... no
checking for strrchr... no
checking for strstr... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
configure: WARNING: unrecognized options: --with-single-user,
--with-git-ffmpeg