Den 20.09.2024 17:45, skrev Андрей Спицын via Cin:
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

OK. Your suse build host I expect is for Leap 15.

I am using Slowroll but gave it a try yet:

zypper in <your package list>
......snip

Problem: 1: the installed libjpeg62-devel-62.4.0-79.1.x86_64 conflicts with 'libjpeg-devel' provided by the to be installed libjpeg8-devel-8.3.2-79.2.x86_64
 Solution 1: deinstallation of libjpeg62-devel-62.4.0-79.1.x86_64
 Solution 2: do not install libjpeg8-devel-8.3.2-79.2.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c/d/?] (c): 2

Problem: 2: the installed zlib-ng-compat-devel-2.2.1-1.1.x86_64 conflicts with 'zlib-devel' provided by the to be installed zlib-devel-1.3.1-1.1.x86_64
 Solution 1: deinstallation of zlib-ng-compat-devel-2.2.1-1.1.x86_64
 Solution 2: do not install zlib-devel-1.3.1-1.1.x86_64

Choose from above solutions by number or skip, retry or cancel [1/2/s/r/c/d/?] (c): 2

Problem: 3: the to be installed fftw3-devel-3.3.10-119.2.x86_64 requires 'libfftw3-3 = 3.3.10-119.2', but this requirement cannot be provided
not installable providers: libfftw3-3-3.3.10-119.2.i586[openSUSE_Slowroll]
                   libfftw3-3-3.3.10-119.2.x86_64[openSUSE_Slowroll]

 Solution 1: install libfftw3-3-3.3.10-119.2.x86_64 from vendor obs://build.opensuse.org/multimedia
  replacing libfftw3-3-3.3.10-4.3.x86_64 from vendor openSUSE
 Solution 2: do not install fftw3-devel-3.3.10-119.2.x86_64
 Solution 3: break fftw3-devel-3.3.10-119.2.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or skip, retry or cancel [1/2/3/s/r/c/d/?] (c): 2

Resolving dependencies...
Resolving package dependencies...

The following 50 recommended packages were automatically selected:
  libva-gl-devel perl-File-ShareDir perl-HTML-Format perl-List-MoreUtils perl-Params-Util tcsh-lang texi2html texi2roff texlive-collection-basic
  texlive-collection-context texlive-collection-fontsrecommended texlive-collection-latexrecommended texlive-collection-luatex texlive-collection-xetex
  texlive-hyphen-basque texlive-hyphen-catalan texlive-hyphen-churchslavonic texlive-hyphen-croatian texlive-hyphen-czech texlive-hyphen-danish texlive-hyphen-dutch
  texlive-hyphen-english texlive-hyphen-estonian texlive-hyphen-finnish texlive-hyphen-french texlive-hyphen-friulan texlive-hyphen-galician texlive-hyphen-german
  texlive-hyphen-hungarian texlive-hyphen-icelandic texlive-hyphen-irish texlive-hyphen-italian texlive-hyphen-kurmanji texlive-hyphen-latin texlive-hyphen-latvian
  texlive-hyphen-norwegian texlive-hyphen-occitan texlive-hyphen-piedmontese texlive-hyphen-polish texlive-hyphen-portuguese texlive-hyphen-romanian
  texlive-hyphen-romansh texlive-hyphen-slovak texlive-hyphen-slovenian texlive-hyphen-spanish texlive-hyphen-swedish texlive-hyphen-turkish texlive-metapost
  texlive-pdftosrc texlive-scheme-medium

The following 1895 NEW packages are going to be installed:
  Imath-devel alsa-devel bitstream-vera-fonts ed ffmpeg-7-libavcodec-devel ffmpeg-7-libavdevice-devel ffmpeg-7-libavfilter-devel ffmpeg-7-libavformat-devel
  ffmpeg-7-libavutil-devel ffmpeg-7-libpostproc-devel ffmpeg-7-libswresample-devel ffmpeg-7-libswscale-devel fftw3_3_3_10-gnu-hpc-devel freeglut-devel gcc-fortran
  gcc14-fortran ghostscript-fonts-std ghostscript-fonts-std-converted giflib-devel git-gui gitk glu-devel gnu-compilers-hpc gnu-compilers-hpc-devel libOSMesa8
  libOpenEXRUtil-3_2-31 libXaw3d8 libXinerama-devel libXv-devel libboost_atomic1_85_0 libboost_atomic1_85_0-devel libboost_atomic1_85_0-x86-64-v3
  libboost_filesystem-devel libboost_filesystem1_85_0 libboost_filesystem1_85_0-devel libboost_filesystem1_85_0-x86-64-v3 libboost_regex-devel libboost_regex1_85_0
  libboost_regex1_85_0-devel libboost_regex1_85_0-x86-64-v3 libdrm-devel libdv-devel libdvdnav-devel libdvdread-devel libfftw3_3_3_10-gnu-hpc libglut3
  libhdr10plus-3_6 libiec61883-devel libjbig-devel libkpathsea6 liblilv-0-devel libnuma-devel libopenssl1_1 libopus-devel libpciaccess-devel libpotrace0 libptexenc1
  libpulse-devel libquadmath0-devel-gcc14 libsigsegv2 libsndfile-devel libsuil-0-0 libtexlua53-5 libtexluajit2 libtheora-devel libusb-0_1-4 libusb-1_0-devel
  libusb-compat-devel libva-devel libva-gl-devel libvdpau-devel libvorbis-devel libx264-devel libx265-devel libzzip-0-13 lua-lmod lua-lmod-apparmor-abstractions
  lua54 lua54-doc lua54-luafilesystem lua54-luaposix lua54-luaterm lv2 lv2-devel nasm openexr-devel patchelf perl-Class-Inspector perl-Exporter-Tiny
  perl-File-Copy-Recursive perl-File-HomeDir perl-File-Path perl-File-ShareDir perl-File-Which perl-Font-AFM perl-HTML-Form perl-HTML-Format perl-HTML-Tree
  perl-IPC-System-Simple perl-List-MoreUtils perl-List-MoreUtils-XS perl-Params-Util perl-Tk perl-Unicode-EastAsianWidth perl-WWW-Mechanize perl-YAML-Tiny
  perl-libintl-perl python python311-tk serd-devel snobol4 sord-devel speex-devel speexdsp-devel sratom-devel suil-devel suil-plugin-x11-in-gtk2
  suil-plugin-x11-in-gtk3 suil-plugin-x11-in-qt5 system-user-mktex tcsh tcsh-lang texi2html texi2html-lang texi2roff texinfo texlive texlive-12many texlive-a0poster
  texlive-a2ping texlive-a2ping-bin texlive-a4wide texlive-abbr texlive-abstyles texlive-accents texlive-accfonts texlive-accfonts-bin texlive-accsupp texlive-acro
  texlive-addliga texlive-addtoluatexpath texlive-adhocfilelist texlive-adhocfilelist-bin texlive-adjustbox texlive-advdate texlive-advice texlive-ae texlive-aeguill

... and a lot more of texlive- language packages.

I wonder if I really need all those 50 that was installed, or if the English (6) and Norwegian (2) is enough?


By the way, I still got the same 5) make errors as before




пт, 20 сент. 2024 г. в 18:34, Terje J. Hanssen via Cin <cin@lists.cinelerra-gg.org>:


Den 20.09.2024 16:33, skrev Andrew Randrianasulu:


пт, 20 сент. 2024 г., 16:43 Terje J. Hanssen <terjejhanssen@gmail.com>:


Den 20.09.2024 01:19, skrev Andrew Randrianasulu:


On Fri, Sep 20, 2024 at 1:35 AM Terje J. Hanssen <terjejhanssen@gmail.com> wrote:


Den 19.09.2024 19:19, skrev Andrew Randrianasulu:


On Thu, Sep 19, 2024 at 7:52 PM Terje J. Hanssen via Cin <cin@lists.cinelerra-gg.org> 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  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
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

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


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 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, 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
Cin@lists.cinelerra-gg.org
https://lists.cinelerra-gg.org/mailman/listinfo/cin



--
Cin mailing list
Cin@lists.cinelerra-gg.org
https://lists.cinelerra-gg.org/mailman/listinfo/cin