Terje,
Here is list of suse packages from my suse build host:
"libusb-devel", "fftw-devel", "flac-devel", "libXv-devel",
"ncurses-devel", "texinfo",
"libogg-devel", "libvorbis-devel", "libx264-devel",
"libx265-devel", "libsndfile-devel", "libtiff-devel", "ffmpeg-devel",
"lv2-devel", "liblilv-0-devel", "libjpeg8-devel",
"suil-devel", "nasm", "libpulse-devel", "xz-devel", "yasm",
"gcc", "gcc-c++", "zlib-devel", "libpng16-devel",
"perl-XML-Parser", "rpm-build",
"freeglut-devel", "libXv-devel", "alsa-devel",
"libbz2-devel", "ncurses-devel",
"libXinerama-devel", "freetype-devel",
"libXft-devel", "giflib-devel", "ctags",
"bitstream-vera-fonts", "xorg-x11-fonts-core",
"xorg-x11-fonts", "dejavu-fonts",
"openexr-devel", "libavc1394-devel",
"libjpeg8-devel", "libdv-devel",
"libdvdnav-devel", "libdvdread-devel",
"libiec61883-devel", "libuuid-devel",
"ilmbase-devel", "fftw3-devel", "libsndfile-devel",
"libtheora-devel", "flac-devel" ,
"libtiff-devel", "patch", "libnuma-devel",
"lzma-devel", "udftools", "git" , "wget",
"yasm", "autoconf", "automake", "libjbig-devel",
"libvdpau-devel", "libva-devel",
"gtk2-devel", "libusb-1_0-devel", "libpulse-devel",
"libtool", "python", "patchelf",
"libboost_regex-devel", "libboost_filesystem-devel",
"cmake"
I hope this helps you.
Best regards,
Andrey
пт, 20 сент. 2024 г. в 18:34, Terje J. Hanssen via Cin
<[email protected]>:
Den 20.09.2024 16:33, skrev Andrew Randrianasulu:
пт, 20 сент. 2024 г., 16:43 Terje J. Hanssen
<[email protected]>:
Den 20.09.2024 01:19, skrev Andrew Randrianasulu:
On Fri, Sep 20, 2024 at 1:35 AM Terje J. Hanssen
<[email protected]> wrote:
Den 19.09.2024 19:19, skrev Andrew Randrianasulu:
On Thu, Sep 19, 2024 at 7:52 PM Terje J. Hanssen
via Cin <[email protected]> wrote:
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.
git clone
git://git.cinelerra-gg.org/goodguy/cinelerra.git
<http://git.cinelerra-gg.org/goodguy/cinelerra.git>
should do it
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)
my current build uses "./configure --with-single-user
--with-git-ffmpeg=https://git.ffmpeg.org/ffmpeg.git" but
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
<http://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 <http://configure.ac:19>: installing
'cfg/compile'
configure.ac:89 <http://configure.ac:89>: installing
'cfg/config.guess'
configure.ac:89 <http://configure.ac:89>: installing
'cfg/config.sub'
configure.ac:12 <http://configure.ac:12>: installing
'cfg/install-sh'
configure.ac:12 <http://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
lack of vfork.h and sqrt.h and few others is concerning!
you probably need to install more development files, my
bulk solution was to drag gtk2-dev in and see how it drags X
libs and other dev files into system as dependency
zypper in gtk2-devel
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 35 NEW packages are going to be installed:
at-spi2-core-devel cairo-devel dbus-1-devel
fontconfig-devel freetype2-devel fribidi-devel
gdk-pixbuf-devel glib2-devel graphite2-devel gtk2-devel
harfbuzz-devel libXfixes-devel libXft-devel libXi-devel
libXrender-devel libXtst-devel libbrotli-devel libbz2-devel
libdatrie-devel libffi-devel
libgirepository-2_0-0 libharfbuzz-cairo0 libicu-devel
libmount-devel libpcre2-posix3 libpixman-1-0-devel
libselinux-devel libsepol-devel libthai-devel
pango-devel pcre2-devel typelib-1_0-GIRepository-3_0
typelib-1_0-GLibUnix-2_0 typelib-1_0-GdkPixdata-2_0
typelib-1_0-Gtk-2_0
But still lack of vfork.h and sqrt.h and more
5)
# make
make all-am
make[1]: Entering directory
'/home/cinelerra/cinelerra-5.1/tools/makeappimagetool'
g++ -DHAVE_CONFIG_H -I. -g -O2
-DBOOST_NO_CXX11_SCOPED_ENUMS -Dcimg_display=0
-Dcimg_use_jpeg=1 -Dcimg_use_png=1 -MT appdir.o -MD -MP
-MF .deps/appdir.Tpo -c -o appdir.o appdir.cpp
appdir.cpp: In static member function ‘static bool
linuxdeploy::core::appdir::AppDir::PrivateData::copyFile(const
boost::filesystem::path&, boost::filesystem::path,
boost::filesystem::perms, bool)’:
appdir.cpp:164:57: error: ‘bf::copy_option’ has not been
declared
164 | bf::copy_file(from, to,
bf::copy_option::overwrite_if_exists);
| ^~~~~~~~~~~
make[1]: *** [Makefile:469: appdir.o] Error 1
make[1]: Leaving directory
'/home/cinelerra/cinelerra-5.1/tools/makeappimagetool'
make: *** [Makefile:340: all] Error 2
this, from short googling, looks like boost error?
do you have boost 1.85 by any chance?
Yes, I have the following "boost" installed
S | Name | Type | Version |
Arch | Repository
---+------------------------------------+---------+------------+--------+----------------------
i | boost-devel | package |
1.85.0-1.1 | noarch | openSUSE-Slowroll-Oss
i | boost-jam | package |
1.85.0-1.1 | noarch | openSUSE-Slowroll-Oss
i | boost-license1_85_0 | package |
1.85.0-2.1 | noarch | openSUSE-Slowroll-Oss
i | boost1_85_0-jam | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_headers1_85_0-devel | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_iostreams1_85_0 | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_iostreams1_85_0-x86-64-v3 | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_locale1_85_0 | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_locale1_85_0-x86-64-v3 | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_thread1_85_0 | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
i | libboost_thread1_85_0-x86-64-v3 | package |
1.85.0-2.1 | x86_64 | openSUSE-Slowroll-Oss
I found similar looking issue with fixed there
https://github.com/monero-project/monero/issues/9304
but for now I thinkwe better to concentrate on running
cingg's main configure, as opposed to makeappimagetool
configure.
I tried 5) make again, but still got the similar errors ....
To clear up, because I'm a bit confused at the moment:
Are we trying to install Cingg "unbundled, dynamic linked,
single-user" to be able to use the system ffmpeg and libs?
If so, don't we need to edit the configure file then?
6)
# make install
g++ -DHAVE_CONFIG_H -I. -g -O2
-DBOOST_NO_CXX11_SCOPED_ENUMS -Dcimg_display=0
-Dcimg_use_jpeg=1 -Dcimg_use_png=1 -MT appdir.o -MD -MP
-MF .deps/appdir.Tpo -c -o appdir.o appdir.cpp
appdir.cpp: In static member function ‘static bool
linuxdeploy::core::appdir::AppDir::PrivateData::copyFile(const
boost::filesystem::path&, boost::filesystem::path,
boost::filesystem::perms, bool)’:
appdir.cpp:164:57: error: ‘bf::copy_option’ has not been
declared
164 | bf::copy_file(from, to,
bf::copy_option::overwrite_if_exists);
| ^~~~~~~~~~~
make: *** [Makefile:469: appdir.o] Error 1
Experiences with the latter?
---------
Refer to extracted sections from the CinGG
manual Chapter 1 - Installation below:
If you prefer to not have to take the time to
build CINELERRA-GG Infinity yourself,
there are pre-built dynamic or static binaries
for various versions of Ubuntu, Mint,
Suse, Fedora, Debian ........
The pkgs directory contains the standard
packaged application for various distros.
This will install a dynamic system version for
users who prefer to have the binaries
in the system area
---------
Notes about Building from Git in your
Customized Environment
Getting a build to work in a custom
environment is not easy. If you have already
installed libraries which are normally in the
thirdparty build, getting them to be
recognized means you have to install the devel
version so the header files which match the
library interfaces exist. If you want to build
using only the thirdparty libraries installed
in your system, just include
"–without-thirdparty" to your configure
script. For example:
./confgure --with-single-user
--disable-static-build --without-thirdparty
Below is the list of thirdparty builds, but
this list may have changed over time.
Table 1.1: List of thirdparty builds
a52dec yes
djbfft yes
ffmpeg yes
fftw auto
flac auto
giflib yes
ilmbase auto
lame auto
libavc1394 auto
libraw1394 auto
libiec61883 auto
libdv auto
..........
The yes means force build and auto means
probe and use the system version if the build
operation is not static. To get your
customized build to work, you need to change
the probe options for the conflicting
libraries from yes to auto, or even rework the
configure.ac <http://configure.ac> script.
There may be several libraries which need
special treatment.
An example of a problem you might encounter
with your customized installation is with
a52dec which has probes line
(CHECK_LIB/CHECK_HEADERS) in configure.ac
<http://configure.ac>, but djbfft does not. In
this case, djbfft is only built because a52dec
is built, so if your system has a52dec, set
a52dec to auto and see if that problem is
solved by retrying the build with:
./confgure --with-single-user
-enable-a52dec=auto .
With persistence, you can get results, but it
may take several tries to stabilize the build.
If you need help, email the log and
config.log, which is usually sufficient to
determine why a build failed.
If you have already installed the libfdk_aac
development package on your computer because
you prefer this version over the default aac,
you will have to do the following to get this
alternative operational. The libfdk_aac
library is not a part of CINELERRA-GG by
default because it is not license free.
export FFMPEG_EXTRA_CFG=" --enable-libfdk-aac
--enable-nonfree"
export EXTRA_LIBS=" -lfdk-aac"
for f in `grep -lw aac
cinelerra-5.1/ffmpeg/audio/*`; do
sed -e 's/\<aac\>/libfdk_aac/' -i $f
done
--
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin
--
Cin mailing list
[email protected]
https://lists.cinelerra-gg.org/mailman/listinfo/cin