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