View Issue Details

IDProjectCategoryView StatusLast Update
0000299Cinelerra-GGBugpublic2019-09-16 12:25
ReporterOlaf Assigned ToPhyllisSmith  
PrioritynormalSeveritytextReproducibilityalways
Status assignedResolutionopen 
Summary0000299: Documentation: build requires gcc.
DescriptionCinelerra-GG is dependent on "GNU C compiler" (gcc). This should be mentioned in the documentation.
Steps To ReproduceUse clang instead of gcc.
./configure ... --disable-dav1d (dav1d-0.4.0.patch1: -mpreferred-stack-boundary)
make ...
TagsNo tags attached.
Attached Files

Activities

PhyllisSmith

2019-09-13 05:54

manager   ~0002124

I have added this to my local documentation for later addition to the LaTex version manual. It will be in the Installation section as:

"To do a single-user build, read the README that is at the top level after you get the source.
...
NOTE: if your system has never had Cinelerra-GG Infinity installed, you will have to make sure all of the compilers and libraries necessary are installed – for example Cinelerra-GG is dependent on "GNU C compiler" (gcc).

Meanwhile, there is now an option on the configure for the build to use "clang" for most of the compilations (not all, but maybe about 90%). You would have to use --with-clang to use this option. The reason for adding the clang possibility is because in a single small test case here, there was about a 10% speedup on the media decode.

Andrea_Paz

2019-09-13 10:20

manager   ~0002126

I did some tests compiling with gcc and clang. Between one test and the next I did a "make clean" (maybe it's better to delete everything and re-download from scratch?). I then playback WhatTimeIsIt.xml by Igor.
 These are the results:
 
 Compile time:
 clang 21'
 gcc 19' (as always)
 
 Size cinelerra5 folder:
 clang 2.7GB
 gcc 2.9GB
 
 Playback:
 clang 8/9 fps
 gcc 8/9 fps

Andrea_Paz

2019-09-13 10:22

manager   ~0002127

I attach cin5.log for gcc and clang.
cin5log.tar.gz (595,814 bytes)

Olaf

2019-09-13 14:13

reporter   ~0002128

@Andrea_Paz: "maybe it's better to delete everything and re-download from scratch?"
make clean ; ./autogen.sh ; ./configure ...
From your log:
cin5-clang.log:3717:checking whether C compiler accepts -mpreferred-stack-boundary=4... yes
All variables set correctly? Because:
"clang: error: unknown argument: '-mpreferred-stack-boundary=5'" (Error 2)

@PhyllisSmith,
this is interesting, I only thought of other (better) error messages.
For information only, at libzmpeg3 every time is over, abort with error 2.
(/usr/bin/gcc -> clang*
/usr/bin/g++ -> clang++*
$ echo $CC $CXX
/usr/bin/clang /usr/bin/clang++
./configure --prefix=/usr --with-jobs=8 --without-oss --without-opencv --without-vaapi --disable-dav1d --with-clang)

Andrea_Paz

2019-09-13 16:10

manager   ~0002130

I simply installed clang and then I compiled CinGG.
I see now on the Arch wiki that I had to configure makepkg.conf adding "export CC=clang" and "export CXX=clang++".
Which I didn't do, so the test with "--with-clang" is useless and I apologize.

Olaf

2019-09-13 17:48

reporter   ~0002132

@Andrea_Paz, the new switch "--with-clang" does essentially what the Arch wiki describes. But this is apparently not enough. For a test run, make sure that the programs cc, c++, cpp, gcc, g++ point to clang, clang++ and clang-cpp.

PhyllisSmith

2019-09-13 22:38

manager   ~0002135

I should have mentioned that what was checked in for a clang build is what worked on Fedora 30 on our desktop. libzmpeg3 was deliberately left as compiling in gcc because of inline MMX assembly code. An earlier test for us showed that using clang performed quite a bit slower.

Anyway, awhile back, a BSD programmer was getting CinelerraGG to run and they compiled what they could using clang. Various distros probably will have varying results compiling with clang and anyone using this will have to "fix" it for their distro most likely.

Olaf

2019-09-14 12:51

reporter   ~0002141

I have no idea what you mean by "fix."
make_cin_clang.log (38,644 bytes)   
clang version 8.0.1-3+b1 (tags/RELEASE_801/final)
Target: x86_64-pc-linux-gnu

./configure --prefix=/usr --with-jobs=8 --without-oss --without-opencv --without-vaapi --disable-dav1d --without-libzmpeg --without-commercial --with-clang
========================================================================

make -j8 all-recursive
make[1]: warning: -j8 forced in submake: resetting jobserver mode.
make[1]: Entering directory '/[src]/cinelerra-5.1'
Making all in thirdparty
make[2]: Entering directory '/[src]/cinelerra-5.1/thirdparty'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/[src]/cinelerra-5.1/thirdparty'
Making all in libzmpeg3
make[2]: Entering directory '/[src]/cinelerra-5.1/libzmpeg3'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/[src]/cinelerra-5.1/libzmpeg3'
Making all in mpeg2enc
make[2]: Entering directory '/[src]/cinelerra-5.1/mpeg2enc'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/[src]/cinelerra-5.1/mpeg2enc'
Making all in mplexlo
make[2]: Entering directory '/[src]/cinelerra-5.1/mplexlo'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/[src]/cinelerra-5.1/mplexlo'
Making all in db
make[2]: Entering directory '/[src]/cinelerra-5.1/db'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/[src]/cinelerra-5.1/db'
Making all in guicast
make[2]: Entering directory '/[src]/cinelerra-5.1/guicast'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/[src]/cinelerra-5.1/guicast'
Making all in cinelerra
make[2]: Entering directory '/[src]/cinelerra-5.1/cinelerra'
make[2]: warning: -j8 forced in submake: resetting jobserver mode.
clang++ `cat x86_64/c_flags`  -DMSGQUAL=channelinfo -c channelinfo.C -o x86_64/channelinfo.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=editpanel -c editpanel.C -o x86_64/editpanel.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=editpopup -c editpopup.C -o x86_64/editpopup.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=edits -c edits.C -o x86_64/edits.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=edl -c edl.C -o x86_64/edl.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=edlsession -c edlsession.C -o x86_64/edlsession.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=effectlist -c effectlist.C -o x86_64/effectlist.o
clang++ `cat x86_64/c_flags`  -DMSGQUAL=exportedl -c exportedl.C -o x86_64/exportedl.o
In file included from effectlist.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from effectlist.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from effectlist.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from effectlist.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from effectlist.C:23:
In file included from ./awindowgui.h:38:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
5 warnings generated.
clang++ `cat x86_64/c_flags`  -DMSGQUAL=fadeengine -c fadeengine.C -o x86_64/fadeengine.o
In file included from channelinfo.C:3:
In file included from ./asset.h:32:
In file included from ./indexable.h:29:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from channelinfo.C:4:
In file included from ./batch.h:29:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from channelinfo.C:4:
In file included from ./batch.h:29:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from channelinfo.C:4:
In file included from ./batch.h:29:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from channelinfo.C:4:
In file included from ./batch.h:29:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from channelinfo.C:6:
In file included from ./channelinfo.h:9:
In file included from ./devicedvbinput.h:33:
In file included from ./vdevicedvb.h:28:
./vdevicempeg.h:47:6: warning: 'VDeviceMPEG::open_input' hides overloaded virtual function [-Woverloaded-virtual]
        int open_input(char *name=0);
            ^
./vdevicebase.h:42:14: note: hidden overloaded virtual function 'VDeviceBase::open_input' declared here: different number of parameters (0 vs 1)
        virtual int open_input() { return 1; };
                    ^
channelinfo.C:1069:11: error: use of undeclared identifier 'mpeg3_dvb_get_chan_info'
                int i = mpeg3_dvb_get_chan_info(fd, n, -1, 0, info, sizeof(info)-1);
                        ^
channelinfo.C:1083:13: error: use of undeclared identifier 'mpeg3_dvb_get_chan_info'
                int len = mpeg3_dvb_get_chan_info(fd,n,ord,i++,cp,sizeof(info)-1);
                          ^
6 warnings and 2 errors generated.
make[2]: *** [Makefile:606: x86_64/channelinfo.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from editpopup.C:22:
In file included from ./asset.h:32:
In file included from ./indexable.h:29:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from editpopup.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from editpopup.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from editpopup.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from editpopup.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from editpopup.C:43:
./trackcanvas.h:61:7: warning: 'TrackCanvas::resize_event' hides overloaded virtual function [-Woverloaded-virtual]
        void resize_event();
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:182:14: note: hidden overloaded virtual function 'BC_WindowBase::resize_event' declared here: different number of parameters (2 vs 0)
        virtual int resize_event(int w, int h);
                    ^
6 warnings generated.
In file included from edlsession.C:22:
In file included from ./asset.h:32:
In file included from ./indexable.h:29:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from edlsession.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from edlsession.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from edlsession.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from edlsession.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
5 warnings generated.
In file included from edits.C:22:
In file included from ./aedit.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from edits.C:22:
In file included from ./aedit.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from edits.C:22:
In file included from ./aedit.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from edits.C:22:
In file included from ./aedit.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from edits.C:23:
In file included from ./asset.h:32:
In file included from ./indexable.h:29:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from edits.C:38:
./plugin.h:86:14: warning: 'Plugin::identical' hides overloaded virtual function [-Woverloaded-virtual]
        virtual int identical(Plugin *that);
                    ^
./edit.h:58:14: note: hidden overloaded virtual function 'Edit::identical' declared here: type mismatch at 1st parameter ('Edit &' vs 'Plugin *')
        virtual int identical(Edit &edit);
                    ^
In file included from edits.C:41:
./transition.h:88:6: warning: 'Transition::identical' hides overloaded virtual function [-Woverloaded-virtual]
        int identical(Transition *that);
            ^
./plugin.h:86:14: note: hidden overloaded virtual function 'Plugin::identical' declared here: type mismatch at 1st parameter ('Plugin *' vs 'Transition *')
        virtual int identical(Plugin *that);
                    ^
In file included from edits.C:41:
./transition.h:103:7: warning: 'Transition::copy_from' hides overloaded virtual function [-Woverloaded-virtual]
        void copy_from(Transition *that);
             ^
./plugin.h:81:15: note: hidden overloaded virtual function 'Plugin::copy_from' declared here: type mismatch at 1st parameter ('Edit *' vs 'Transition *')
        virtual void copy_from(Edit *edit);
                     ^
8 warnings generated.
In file included from exportedl.C:22:
In file included from ./asset.h:32:
In file included from ./indexable.h:29:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from exportedl.C:25:
In file included from ./confirmsave.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from exportedl.C:25:
In file included from ./confirmsave.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from exportedl.C:25:
In file included from ./confirmsave.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from exportedl.C:25:
In file included from ./confirmsave.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from exportedl.C:41:
In file included from ./transition.h:34:
./plugin.h:86:14: warning: 'Plugin::identical' hides overloaded virtual function [-Woverloaded-virtual]
        virtual int identical(Plugin *that);
                    ^
./edit.h:58:14: note: hidden overloaded virtual function 'Edit::identical' declared here: type mismatch at 1st parameter ('Edit &' vs 'Plugin *')
        virtual int identical(Edit &edit);
                    ^
In file included from exportedl.C:41:
./transition.h:88:6: warning: 'Transition::identical' hides overloaded virtual function [-Woverloaded-virtual]
        int identical(Transition *that);
            ^
./plugin.h:86:14: note: hidden overloaded virtual function 'Plugin::identical' declared here: type mismatch at 1st parameter ('Plugin *' vs 'Transition *')
        virtual int identical(Plugin *that);
                    ^
In file included from exportedl.C:41:
./transition.h:103:7: warning: 'Transition::copy_from' hides overloaded virtual function [-Woverloaded-virtual]
        void copy_from(Transition *that);
             ^
./plugin.h:81:15: note: hidden overloaded virtual function 'Plugin::copy_from' declared here: type mismatch at 1st parameter ('Edit *' vs 'Transition *')
        virtual void copy_from(Edit *edit);
                     ^
8 warnings generated.
In file included from editpanel.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from editpanel.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from editpanel.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from editpanel.C:23:
In file included from ./awindowgui.h:26:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcdialog.h:27:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from editpanel.C:23:
In file included from ./awindowgui.h:38:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from editpanel.C:38:
./mbuttons.h:60:6: warning: 'MButtons::resize_event' hides overloaded virtual function [-Woverloaded-virtual]
        int resize_event();
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:182:14: note: hidden overloaded virtual function 'BC_WindowBase::resize_event' declared here: different number of parameters (2 vs 0)
        virtual int resize_event(int w, int h);
                    ^
In file included from editpanel.C:45:
./trackcanvas.h:61:7: warning: 'TrackCanvas::resize_event' hides overloaded virtual function [-Woverloaded-virtual]
        void resize_event();
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:182:14: note: hidden overloaded virtual function 'BC_WindowBase::resize_event' declared here: different number of parameters (2 vs 0)
        virtual int resize_event(int w, int h);
                    ^
7 warnings generated.
In file included from edl.C:22:
In file included from ./asset.h:32:
In file included from ./indexable.h:29:
./garbage.h:53:33: warning: all paths through this function will call itself [-Winfinite-recursion]
        Garbage &operator=(Garbage &v) { return *this=v; } //disallow = operator
                                       ^
In file included from edl.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:34:
/[src]/cinelerra-5.1/cinelerra/../guicast/bcpan.h:96:6: warning: 'BC_Pan::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int popup_x = -1, int popup_y = -1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 2)
        virtual int activate();
                    ^
In file included from edl.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:190:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int take_focus = 1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 1)
        virtual int activate();
                    ^
In file included from edl.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bcfilebox.h:33:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/bctextbox.h:25:
/[src]/cinelerra-5.1/cinelerra/../guicast/bclistbox.h:191:6: warning: 'BC_ListBox::activate' hides overloaded virtual function [-Woverloaded-virtual]
        int activate(int x, int y, int w=-1, int h=-1);
            ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:351:14: note: hidden overloaded virtual function 'BC_WindowBase::activate' declared here: different number of parameters (0 vs 4)
        virtual int activate();
                    ^
In file included from edl.C:23:
In file included from ./assets.h:35:
In file included from /[src]/cinelerra-5.1/cinelerra/../guicast/guicast.h:61:
/[src]/cinelerra-5.1/cinelerra/../guicast/errorbox.h:37:7: warning: 'ErrorBox::create_objects' hides overloaded virtual function [-Woverloaded-virtual]
        void create_objects(const char *text);
             ^
/[src]/cinelerra-5.1/cinelerra/../guicast/bcwindowbase.h:202:15: note: hidden overloaded virtual function 'BC_WindowBase::create_objects' declared here: different number of parameters (0 vs 1)
        virtual void create_objects() { return; };
                     ^
In file included from edl.C:39:
./floatautos.h:45:6: warning: 'FloatAutos::automation_is_constant' hides overloaded virtual function [-Woverloaded-virtual]
        int automation_is_constant(int64_t start,
            ^
./autos.h:153:14: note: hidden overloaded virtual function 'Autos::automation_is_constant' declared here: different number of parameters (2 vs 4)
        virtual int automation_is_constant(int64_t start, int64_t end);
                    ^
In file included from edl.C:39:
./floatautos.h:70:7: warning: 'FloatAutos::dump' hides overloaded virtual function [-Woverloaded-virtual]
        void dump();
             ^
./autos.h:112:15: note: hidden overloaded virtual function 'Autos::dump' declared here: different number of parameters (1 vs 0)
        virtual void dump(FILE *fp);
                     ^
In file included from edl.C:49:
./panautos.h:43:7: warning: 'PanAutos::dump' hides overloaded virtual function [-Woverloaded-virtual]
        void dump();
             ^
./autos.h:112:15: note: hidden overloaded virtual function 'Autos::dump' declared here: different number of parameters (1 vs 0)
        virtual void dump(FILE *fp);
                     ^
In file included from edl.C:52:
./plugin.h:86:14: warning: 'Plugin::identical' hides overloaded virtual function [-Woverloaded-virtual]
        virtual int identical(Plugin *that);
                    ^
./edit.h:58:14: note: hidden overloaded virtual function 'Edit::identical' declared here: type mismatch at 1st parameter ('Edit &' vs 'Plugin *')
        virtual int identical(Edit &edit);
                    ^
In file included from edl.C:53:
./pluginset.h:50:7: warning: 'PluginSet::clear_recursive' hides overloaded virtual function [-Woverloaded-virtual]
        void clear_recursive(int64_t start, int64_t end);
             ^
./edits.h:75:15: note: hidden overloaded virtual function 'Edits::clear_recursive' declared here: different number of parameters (7 vs 2)
        virtual void clear_recursive(int64_t start,
                     ^
In file included from edl.C:53:
./pluginset.h:53:7: warning: 'PluginSet::clear' hides overloaded virtual function [-Woverloaded-virtual]
        void clear(int64_t start, int64_t end, int edit_autos);
             ^
./edits.h:73:15: note: hidden overloaded virtual function 'Edits::clear' declared here: different number of parameters (2 vs 3)
        virtual void clear(int64_t start, int64_t end);
                     ^
In file included from edl.C:53:
./pluginset.h:54:7: warning: 'PluginSet::copy_from' hides overloaded virtual function [-Woverloaded-virtual]
        void copy_from(PluginSet *src);
             ^
./edits.h:45:15: note: hidden overloaded virtual function 'Edits::copy_from' declared here: type mismatch at 1st parameter ('Edits *' vs 'PluginSet *')
        virtual void copy_from(Edits *edits);
                     ^
In file included from edl.C:63:
./vtrack.h:114:6: warning: 'VTrack::clear_derived' hides overloaded virtual function [-Woverloaded-virtual]
        int clear_derived(int64_t start, int64_t end);
            ^
./track.h:221:14: note: hidden overloaded virtual function 'Track::clear_derived' declared here: type mismatch at 1st parameter ('double' vs 'int64_t' (aka 'long'))
        virtual int clear_derived(double start,
                    ^
In file included from edl.C:63:
./vtrack.h:115:6: warning: 'VTrack::copy_automation_derived' hides overloaded virtual function [-Woverloaded-virtual]
        int copy_automation_derived(AutoConf *auto_conf, int64_t start, int64_t end, FileXML *xml);
            ^
./track.h:226:14: note: hidden overloaded virtual function 'Track::copy_automation_derived' declared here: type mismatch at 2nd parameter ('double' vs 'int64_t' (aka 'long'))
        virtual int copy_automation_derived(AutoConf *auto_conf,
                    ^
In file included from edl.C:63:
./vtrack.h:116:6: warning: 'VTrack::paste_automation_derived' hides overloaded virtual function [-Woverloaded-virtual]
        int paste_automation_derived(int64_t start, int64_t end, int64_t total_length, FileXML *xml, int shift_autos, int &current_pan);
            ^
./track.h:232:14: note: hidden overloaded virtual function 'Track::paste_automation_derived' declared here: type mismatch at 1st parameter ('double' vs 'int64_t' (aka 'long'))
        virtual int paste_automation_derived(double selectionstart, double selectionend,
                    ^
In file included from edl.C:63:
./vtrack.h:117:6: warning: 'VTrack::clear_automation_derived' hides overloaded virtual function [-Woverloaded-virtual]
        int clear_automation_derived(AutoConf *auto_conf, int64_t start, int64_t end, int shift_autos = 1);
            ^
./track.h:218:14: note: hidden overloaded virtual function 'Track::clear_automation_derived' declared here: type mismatch at 2nd parameter ('double' vs 'int64_t' (aka 'long'))
        virtual int clear_automation_derived(AutoConf *auto_conf,
                    ^
16 warnings generated.
make[2]: Leaving directory '/[src]/cinelerra-5.1/cinelerra'
make[1]: *** [Makefile:515: all-recursive] Error 1
make[1]: Leaving directory '/[src]/cinelerra-5.1'
make: *** [Makefile:471: all] Error 2
make_cin_clang.log (38,644 bytes)   
make_libzmpeg3_clang.log (26,898 bytes)   
gcc -> clang version 8.0.1-3+b1 (tags/RELEASE_801/final)
Target: x86_64-pc-linux-gnu

./configure --prefix=/usr --with-jobs=8 --without-oss --without-opencv --without-vaapi --disable-dav1d --with-clang

libzmpeg3:
========================================================================

gcc -c `cat x86_64/c_flags`  audio/ac3.C -o x86_64/audio/ac3.o
gcc -c `cat x86_64/c_flags`  audio/dct.C -o x86_64/audio/dct.o
gcc -c `cat x86_64/c_flags`  audio/huffman.C -o x86_64/audio/huffman.o
gcc -c `cat x86_64/c_flags`  audio/layer2.C -o x86_64/audio/layer2.o
gcc -c `cat x86_64/c_flags`  audio/layer3.C -o x86_64/audio/layer3.o
gcc -c `cat x86_64/c_flags`  audio/audio.C -o x86_64/audio/audio.o
gcc -c `cat x86_64/c_flags`  audio/pcm.C -o x86_64/audio/pcm.o
gcc -c `cat x86_64/c_flags`  audio/synthesizers.C -o x86_64/audio/synthesizers.o
In file included from audio/layer2.C:7:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from audio/audio.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from audio/huffman.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  audio/tables.C -o x86_64/audio/tables.o
In file included from audio/dct.C:29:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  libzmpeg3.C -o x86_64/libzmpeg3.o
In file included from audio/synthesizers.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  atrack.C -o x86_64/atrack.o
gcc -c `cat x86_64/c_flags`  bits.C -o x86_64/bits.o
In file included from audio/ac3.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  css.C -o x86_64/css.o
In file included from audio/layer3.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
audio/layer3.C:622:3: warning: struct 'bandInfoStruct' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
  struct bandInfoStruct *bi = &bandInfo[sfreq];
  ^
audio/../libzmpeg3.h:981:20: note: previous use is here
      static class bandInfoStruct {
                   ^
audio/layer3.C:622:3: note: did you mean class here?
  struct bandInfoStruct *bi = &bandInfo[sfreq];
  ^~~~~~
  class
2 warnings generated.
gcc -c `cat x86_64/c_flags`  demux.C -o x86_64/demux.o
In file included from audio/pcm.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  strack.C -o x86_64/strack.o
In file included from libzmpeg3.C:7:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  title.C -o x86_64/title.o
In file included from atrack.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from audio/tables.C:1:
audio/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
audio/tables.C:107:1: warning: struct 'bandInfoStruct' was previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]
struct zaudio_decoder_layer_t::
^
audio/../libzmpeg3.h:981:20: note: previous use is here
      static class bandInfoStruct {
                   ^
audio/tables.C:107:1: note: did you mean class here?
struct zaudio_decoder_layer_t::
^~~~~~
class
2 warnings generated.
gcc -c `cat x86_64/c_flags`  vtrack.C -o x86_64/vtrack.o
gcc -c `cat x86_64/c_flags`  zio.C -o x86_64/zio.o
In file included from css.C:2:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  dvb.C -o x86_64/dvb.o
In file included from bits.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  huf.C -o x86_64/huf.o
gcc -c `cat x86_64/c_flags`  xfont.C -o x86_64/xfont.o
In file included from demux.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/getpicture.C -o x86_64/video/getpicture.o
In file included from strack.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from title.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/headers.C -o x86_64/video/headers.o
In file included from zio.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/idct.C -o x86_64/video/idct.o
gcc -c `cat x86_64/c_flags`  video/macroblocks.C -o x86_64/video/macroblocks.o
In file included from vtrack.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from dvb.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/mmxtest.C -o x86_64/video/mmxtest.o
gcc -c `cat x86_64/c_flags`  video/motion.C -o x86_64/video/motion.o
In file included from xfont.C:7:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/getpicture.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/cache.C -o x86_64/video/cache.o
In file included from huf.C:3:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/headers.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/video.C -o x86_64/video/video.o
gcc -c `cat x86_64/c_flags`  video/output.C -o x86_64/video/output.o
In file included from video/idct.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/reconstruct.C -o x86_64/video/reconstruct.o
gcc -c `cat x86_64/c_flags`  video/seek.C -o x86_64/video/seek.o
In file included from video/mmxtest.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/macroblocks.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/motion.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/slice.C -o x86_64/video/slice.o
gcc -c `cat x86_64/c_flags`  video/subtitle.C -o x86_64/video/subtitle.o
gcc -c `cat x86_64/c_flags`  video/cc.C -o x86_64/video/cc.o
In file included from video/cache.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  video/vlc.C -o x86_64/video/vlc.o
In file included from video/video.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/output.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
video/output.C:518:18: warning: explicitly assigning value of variable of type 'int' to itself [-Wself-assign]
        row_span = row_span;
        ~~~~~~~~ ^ ~~~~~~~~
2 warnings generated.
gcc -c `cat x86_64/c_flags`  ifo.C -o x86_64/ifo.o
gcc -c `cat x86_64/c_flags`  toc.C -o x86_64/toc.o
In file included from video/vlc.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
gcc -c `cat x86_64/c_flags`  mpeg3.C -o x86_64/mpeg3.o
In file included from video/seek.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/reconstruct.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
video/reconstruct.C:164:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:230:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:79:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:139:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:317:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:369:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:232:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:278:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:506:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:121:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:386:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:417:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:682:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:287:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:594:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:196:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:832:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:480:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:751:3: error: invalid operand for instruction
  movq_m2r(m_(sadd1),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:335:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm7
                               ^~~~
video/reconstruct.C:980:3: error: invalid operand for instruction
  movq_m2r(m_(sadd2),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:219:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $562958543486978, %mm7
                               ^~~~
video/reconstruct.C:895:3: error: invalid operand for instruction
  movq_m2r(m_(sadd2),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:60:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $562958543486978, %mm7
                               ^~~~
video/reconstruct.C:1152:3: error: invalid operand for instruction
  movq_m2r(m_(sadd2),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:27:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $562958543486978, %mm7
                               ^~~~
video/reconstruct.C:1184:5: error: invalid operand for instruction
    movq_m2r(m_(sadd1),mm5);
    ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:112:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm5
                               ^~~~
video/reconstruct.C:1045:3: error: invalid operand for instruction
  movq_m2r(m_(sadd2),mm7);
  ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:301:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $562958543486978, %mm7
                               ^~~~
video/reconstruct.C:1077:5: error: invalid operand for instruction
    movq_m2r(m_(sadd1),mm5);
    ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:386:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm5
                               ^~~~
video/reconstruct.C:1116:5: error: invalid operand for instruction
    movq_m2r(m_(sadd1),mm5);
    ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:492:1: note: expanded from here
"movq"
^
<inline asm>:1:25: note: instantiated into assembly here
        movq $281479271743489, %mm5
                               ^~~~
1 warning and 17 errors generated.
make: *** [Makefile:122: x86_64/video/reconstruct.o] Fehler 1
make: *** Es wird auf noch nicht beendete Prozesse gewartet....
In file included from ifo.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
ifo.C:67:5: warning: 'delete' applied to a pointer that was allocated with 'new[]'; did you mean 'delete[]'? [-Wmismatched-new-delete]
    delete zdata;
    ^
          []
ifo.C:47:20: note: allocated with 'new[]' here
  uint8_t *zdata = new uint8_t[DVD_VIDEO_LB_LEN];
                   ^
2 warnings generated.
In file included from mpeg3.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from video/slice.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
video/slice.C:299:23: warning: assigning field to itself [-Wself-assign-field]
          quant_scale = quant_scale; /*???*/
                      ^
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
video/slice.C:193:7: error: invalid operand for instruction
      movq_m2r(m_(i128),mm1);     /* 128,,128 */
      ^
video/mmx.h:405:28: note: expanded from macro 'movq_m2r'
#define movq_m2r(var, reg)      mmx_m2r(movq, var, reg)
                                ^
video/mmx.h:379:24: note: expanded from macro 'mmx_m2r'
        __asm__ __volatile__ (#op " %0, %%" #reg \
                              ^
<scratch space>:180:1: note: expanded from here
"movq"
^
<inline asm>:1:27: note: instantiated into assembly here
        movq $36029346783166592, %mm1
                                 ^~~~
2 warnings and 8 errors generated.
make: *** [Makefile:122: x86_64/video/slice.o] Fehler 1
In file included from video/subtitle.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
In file included from toc.C:1:
./libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
toc.C:21:20: warning: unused function 'read_data' [-Wunused-function]
static inline void read_data(uint8_t *bfr, int &pos, uint8_t *out, int len)
                   ^
2 warnings generated.
In file included from video/cc.C:1:
video/../libzmpeg3.h:3070:9: warning: empty struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
typedef struct {} mpeg3_layer_t;
        ^
1 warning generated.
make_libzmpeg3_clang.log (26,898 bytes)   

PhyllisSmith

2019-09-16 03:21

manager   ~0002148

Based on the log files (thank you for supplying them which helped) GIT checkin now includes a mod to allow for compiling using clang for libzmpeg3. It worked here when testing with Fedora 30 O/S.

What I mean by "fix" is the type of stuff necessary for O/S, like Arch, as you passed along to Andrea in note 2132.

Olaf

2019-09-16 12:25

reporter   ~0002152

Obviously, the mod does more than just compile "libzmpeg3". Together with "libzmpeg3", "cin" now also compiles.

Debian binary package built, compiled with:
./configure --prefix=/usr --with-jobs=8 \
--without-oss --without-opencv --disable-dav1d --with-clang
(Whereby the compilers gcc, g++ etc. under /usr point to clang, as described below.)

A first short test run with and without plugins shows no abnormalities and also no relevant differences in the achieved frame rate.

dav1d: The respective argument for adjusting the stack "-mpreferred-stack-boundary" (gcc) or "-mstack-alignment" (clang) is irrelevant to me. My future quantum computer has certainly built in a hardware decoder for AV1. Until then, I'd love to do without editing AV1 material.

Issue History

Date Modified Username Field Change
2019-09-10 14:56 Olaf New Issue
2019-09-13 05:48 PhyllisSmith Assigned To => PhyllisSmith
2019-09-13 05:48 PhyllisSmith Status new => assigned
2019-09-13 05:54 PhyllisSmith Note Added: 0002124
2019-09-13 10:20 Andrea_Paz Note Added: 0002126
2019-09-13 10:22 Andrea_Paz File Added: cin5log.tar.gz
2019-09-13 10:22 Andrea_Paz Note Added: 0002127
2019-09-13 14:13 Olaf Note Added: 0002128
2019-09-13 16:10 Andrea_Paz Note Added: 0002130
2019-09-13 17:48 Olaf Note Added: 0002132
2019-09-13 22:38 PhyllisSmith Note Added: 0002135
2019-09-14 12:51 Olaf File Added: make_cin_clang.log
2019-09-14 12:51 Olaf File Added: make_libzmpeg3_clang.log
2019-09-14 12:51 Olaf Note Added: 0002141
2019-09-16 03:21 PhyllisSmith Note Added: 0002148
2019-09-16 12:25 Olaf Note Added: 0002152