By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.
Bug 1119 - Build issue: Multiple FTBFS (k3b, k9copy, krusader, kchmviewer) issues post glibc 2.16
Summary: Build issue: Multiple FTBFS (k3b, k9copy, krusader, kchmviewer) issues post g...
Status: RESOLVED FIXED
Alias: None
Product: TDE
Classification: Unclassified
Component: non-core programs (show other bugs)
Version: R14.0.0 [Trinity]
Hardware: All Linux
: P5 blocker
Assignee: Timothy Pearson
URL:
Depends on:
Blocks:
 
Reported: 2012-07-20 16:13 CDT by David C. Rankin
Modified: 2013-12-08 20:15 CST (History)
3 users (show)

See Also:
Compiler Version:
TDE Version String:
Application Version:
Application Name:


Attachments
k3b patch for 'av_open_input_file' and 'dump_format' declarations errors (870 bytes, patch)
2012-07-25 09:06 CDT, David C. Rankin
Details | Diff
k3b patch - updates decode/ffmpeg compliance with new avformat.h (2.01 KB, patch)
2012-07-25 13:00 CDT, David C. Rankin
Details | Diff
K3B FTBFS on Squeeze (49.33 KB, application/x-gzip)
2012-07-26 14:25 CDT, Slávek Banko
Details
k3b patch - enhance ffmpeg compatibility with older versions (2.63 KB, patch)
2012-07-26 19:27 CDT, Slávek Banko
Details | Diff
k3b patch - enhance ffmpeg compatibility with older versions (v1) (2.63 KB, patch)
2012-07-26 20:23 CDT, Slávek Banko
Details | Diff
k9copy - enhance ffmpeg compatibility with newer versions (10.15 KB, patch)
2012-07-28 11:09 CDT, Slávek Banko
Details | Diff
k9copy - enhance ffmpeg compatibility with newer versions (v1) (10.57 KB, patch)
2012-08-07 20:19 CDT, Slávek Banko
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David C. Rankin 2012-07-20 16:13:37 CDT
Between 7/16 and 7/19 the above packages began experiencing build failures. I do not know if this is glibc 2.16 or renaming related. Most build errors are related to declaration or scope failures. All packages previously built on gcc 4.7 so that can be ruled out. All build logs can be found here:

http://www.3111skyline.com/dl/dt/tde/err/applications/

under their respective directories. The errors are summarized as follows:

k3b:

k3bffmpegwrapper.cpp: In member function 'bool K3bFFMpegFile::open()':
k3bffmpegwrapper.cpp:82:84: error: 'av_open_input_file' was not declared in this scope


k9copy:

In file included from k9avidecode.cpp:12:0:
k9avidecode.h:35:91: error: 'AVFormatParameters' has not been declared

kchmviewer:

(configure)
checking that generated files are newer than configure... done
configure: error: conditional "include_x11" was never defined.
Usually this means the macro was only invoked conditionally.

krusader:

In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algobase.h:66:0,
                 from /usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/algorithm:62,
                 from expander.cpp:13:
/usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h: In instantiation of 'struct std::iterator_traits<TQValueListConstIterator<KURL> >':
/usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:202:5:   required by substitution of 'template<class _Iter> typename std::iterator_traits::iterator_category std::__iterator_category(const _Iter&) [with _Iter = TQValueListConstIterator<KURL>]'
/usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_algo.h:4490:41:   required from '_IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = TQValueListConstIterator<KURL>; _Predicate = std::unary_negate<std::const_mem_fun_ref_t<bool, KURL> >]'
expander.cpp:674:102:   required from here
/usr/lib/gcc/i686-pc-linux-gnu/4.7.1/../../../../include/c++/4.7.1/bits/stl_iterator_base_types.h:166:53: error: no type named 'iterator_category' in 'class TQValueListConstIterator<KURL>'

kima: (fixed)

required addition of '#include <list>' in kima.h

What this shows is that something has slightly changed somewhere. The remaining ~70 or so sources have continued to build fine. The above error may have a common thread. Whether that is tde/tqt3/glibc I can't tell.
Comment 1 David C. Rankin 2012-07-23 15:20:39 CDT
k9copy ftbfs is due to ffmpeg 1:0.11.1-1. This may be an upstream error, or we will need to patch k9copy for the new ffmpeg.

See: http://ffmpeg.org/

similar failure in audacity:

http://audacity.238276.n2.nabble.com/Mac-problem-with-arrow-keys-when-there-is-a-selection-region-td259473.html
Comment 2 David C. Rankin 2012-07-23 17:57:14 CDT
Major changes in ffmpeg 0.11

(1) struct 'AVFormatParameters' is removed from /usr/include/libavformat/avformat.h

(2) 'av_open_input_file' is replaced by 'avformat_open_input'

These changes cause ftbfs in k9copy and k3b.
Comment 3 David C. Rankin 2012-07-25 09:06:41 CDT
Created attachment 707 [details]
k3b patch for 'av_open_input_file' and 'dump_format' declarations errors

This patch allows k3b to build with ffmpeg 0.11-1 to get around the errors:

k3bffmpegwrapper.cpp:82:84: error: 'av_open_input_file' was not declared in this scope
k3bffmpegwrapper.cpp:131:63: error: 'dump_format' was not declared in this scope

This patch will need to be checked. k3b builds and runs fine. Burning still needs to be tested.
Comment 4 David C. Rankin 2012-07-25 13:00:58 CDT
Created attachment 708 [details]
k3b patch - updates decode/ffmpeg compliance with new avformat.h

This patch updates k3b/plugins/decode/ffmpeg to be compatible with ffmpeg 0.11-1 and eliminates all deprecated warnings during compile of k3bffmpegwrapper.cpp. It needs review and testing. Since these deprecations have existed for quite some time, there may be no need for preprocessor checks as they replaced functions have been deprecated for a long time.
Comment 5 Darrell 2012-07-25 20:38:45 CDT
Using the patch I built k3b without incident against ffmpeg 0.8.7, 0.10.2 and 0.11.1.

Patch pushed to GIT in commit cc573f24.

I don't know what suffices for a usability test.
Comment 6 Slávek Banko 2012-07-26 13:13:50 CDT
(Odpověď na komentář #5)
> Using the patch I built k3b without incident against ffmpeg 0.8.7, 0.10.2 and
> 0.11.1.
> 
> Patch pushed to GIT in commit cc573f24.
> 
> I don't know what suffices for a usability test.

This patch causes FTBFS on Debian and Ubuntu!
Comment 7 Darrell 2012-07-26 13:21:51 CDT
That's why I don't like pushing these kinds of patches. I don't know C++ and I only use Slackware. I should not be asked to push these kinds of patches.

So from now on I won't. :-)

With that said, please post the build failures so somebody can help.

Should I reverse the patch or should I let things be and wait for somebody to create a new patch?
Comment 8 Timothy Pearson 2012-07-26 13:37:15 CDT
(In reply to comment #6)
> (Odpověď na komentář #5)
> > Using the patch I built k3b without incident against ffmpeg 0.8.7, 0.10.2 and
> > 0.11.1.
> > 
> > Patch pushed to GIT in commit cc573f24.
> > 
> > I don't know what suffices for a usability test.
> 
> This patch causes FTBFS on Debian and Ubuntu!

Build log please?
Comment 9 Slávek Banko 2012-07-26 14:25:43 CDT
Created attachment 713 [details]
K3B FTBFS on Squeeze

I tried the add patch to 3.5.13.1. On Precise is build ok (ffmpeg 0.8.3). But on Squeeze causes FTBFS (ffmpeg 0.5.9). Older Ubuntu also have an older version of ffmpeg - from 0.5.9 (Lucid) to 0.7.6 (Oneiric).
Comment 10 Slávek Banko 2012-07-26 19:27:20 CDT
Created attachment 714 [details]
k3b patch - enhance ffmpeg compatibility with older versions

Proposed patch extends compatibility to older versions. Please test it. I have successfully build on Debian Squeeze and Ubuntu Precise.
Comment 11 Slávek Banko 2012-07-26 20:23:32 CDT
Created attachment 715 [details]
k3b patch - enhance ffmpeg compatibility with older versions (v1)

Patch refreshed - for avcodec_open2 avformat version was tested instead of avcodec.
Comment 12 Slávek Banko 2012-07-26 20:38:27 CDT
I did research for k9copy. I noticed the following changes:
+ av_gettime moved to libavutil: libavutil/time.h (51, 33, 0)
+ av_open_input_file => avformat_open_input (53, 2, 0)
+ av_close_input_file => avformat_close_input (53, 17, 0)
+ av_find_stream_info => avformat_find_stream_info (53, 6, 0)
+ avcodec_open => avcodec_open2 (53, 8, 0)
+ avcodec_decode_video => avcodec_decode_video2 (52, 23, 0)

I do not have a patch now. Maybe later, if someone does not prepare this patch earlier.
Comment 13 Darrell 2012-07-26 21:33:43 CDT
Using the latest patch I built k3b without incident in Slackware 13.1 against ffmpeg 0.8.7, 0.10.2 and 0.11.1.

David started this mess and he should test the patch before pushing to GIT.
Comment 14 Slávek Banko 2012-07-28 05:02:10 CDT
I checked k3b build also on the remaining versions of Ubuntu - Lucid, Maverick, Natty, Oneiric - successfully. David, before I push the patch into git, I'll wait for your confirmation.
Comment 15 Slávek Banko 2012-07-28 11:09:10 CDT
Created attachment 716 [details]
k9copy - enhance ffmpeg compatibility with newer versions

Proposed patch extends compatibility with newer versions. Please test it. I have successfully build on Debian Squeeze and Ubuntu Precise, Oneiric, Natty, Maverick and Lucid.
Comment 16 Darrell 2012-07-28 13:25:32 CDT
I attempted to build k9copy on Slackware 13.1 against ffmpeg 0.11.1 and received these build failures:

k9avidecode.cpp:269: error: 'struct AVFormatContext' has no member named 'cur_st'
k9avidecode.cpp:270: error: 'struct AVFormatContext' has no member named 'cur_st'

Looking at the latest k9copy for Qt4/KDE4 shows those lines remain the same, so some other mechanism is missing. I can't find any "cur_st" string in the ffmpeg 0.11.1 headers.
Comment 17 Slávek Banko 2012-07-28 19:42:35 CDT
(Odpověď na komentář #16)
> I attempted to build k9copy on Slackware 13.1 against ffmpeg 0.11.1 and
> received these build failures:
> 
> k9avidecode.cpp:269: error: 'struct AVFormatContext' has no member named
> 'cur_st'
> k9avidecode.cpp:270: error: 'struct AVFormatContext' has no member named
> 'cur_st'
> 
> Looking at the latest k9copy for Qt4/KDE4 shows those lines remain the same, so
> some other mechanism is missing. I can't find any "cur_st" string in the ffmpeg
> 0.11.1 headers.

I found the commit that removes cur_st.
But I do not know how to replace it.

https://lists.libav.org/pipermail/libav-commits/2012-March/005470.html
Comment 18 Darrell 2012-07-28 21:52:59 CDT
My previous comment about k9copy for kde4/qt4 is irrelevant. The k9copy web site indicates development ceased a year ago. That is, the code used in the kde4 version was written before ffmpeg 0.11.x.
Comment 19 Slávek Banko 2012-08-02 14:04:57 CDT
k3b patch enhance ffmpeg compatibility with older versions (attachment 715 [details]) pushed to GIT - commit e49a3521.
Comment 20 Slávek Banko 2012-08-07 20:19:32 CDT
Created attachment 777 [details]
k9copy - enhance ffmpeg compatibility with newer versions (v1)

I'm trying to remove use of cur_sr, but I cannot test, if it really works (not only build). For me k9copy in DVD Author mode only crashes (regardless of this patch).

Please, can someone test if it works?
Comment 21 Darrell 2012-08-08 17:12:39 CDT
What DVD Author mode steps are needed to cause the crash?
Comment 22 Slávek Banko 2012-08-08 18:27:01 CDT
(Odpověď na komentář #21)
> What DVD Author mode steps are needed to cause the crash?

1. Run k9copy and in the Action menu, switch to DVD Author
2. At the bottom in the Video file click to select a file
3. Select any file, confirm => k9copy crashes
Comment 23 Darrell 2012-08-09 12:23:10 CDT
The DVD Author crash is not related to ffmpeg 0.11.x. We probably should open a different bug report.

I tested using ffmpeg 0.8.7 (Slackware 13.1, Trinity GIT). I am using a build of k9copy that is not patched for ffmpeg 0.11.x.

After selecting an AVI file, when I selected the Add button, k9copy crashed. Here is the backtrace:

[Thread debugging using libthread_db enabled]
[KCrash handler]
#5  0x00000000 in ?? ()
#6  0x081028f0 in k9AviDecode::readFrame (this=0xbfed4b08, _seconds=0)
    at k9avidecode.cpp:205
#7  0x080c7da6 in k9NewTitle::bAddClicked (this=0x893cc70)
    at k9newtitle.cpp:101
#8  0x080d035b in newTitle::tqt_invoke (this=0x893cc70, _id=49, _o=0xbfed4dd8)
    at newTitle.moc:94
#9  0x080c7759 in k9NewTitle::tqt_invoke (this=0x893cc70, _id=49, 
    _o=0xbfed4dd8) at k9newtitle.moc:100
#10 0xb7312c15 in TQObject::activate_signal (this=0x89bf2f0, clist=0x89ed730, 
    o=0xbfed4dd8) at kernel/qobject.cpp:2383
#11 0xb7314cf6 in TQObject::activate_signal (this=0x8ada520, signal=4)
    at kernel/qobject.cpp:2352
#12 0xb764984b in TQButton::clicked (this=0x89bf2f0)
    at .moc/release-shared-mt/moc_ntqbutton.cpp:150
#13 0xb73adf19 in TQButton::mouseReleaseEvent (this=0x89bf2f0, e=0xbfed52ac)
    at widgets/qbutton.cpp:839
#14 0xb734aa98 in TQWidget::event (this=0x89bf2f0, e=0xbfed52ac)
    at kernel/qwidget.cpp:4725
#15 0xb72af43d in TQApplication::internalNotify (this=0xbfed5664, 
    receiver=0x89bf2f0, e=0xbfed52ac) at kernel/qapplication.cpp:2638
#16 0xb72b04f7 in TQApplication::notify (this=0xbfed5664, receiver=0x89bf2f0, 
    e=0xbfed52ac) at kernel/qapplication.cpp:2424
#17 0xb6b4b5ad in KApplication::notify (this=0xbfed5664, receiver=0x89bf2f0, 
    event=0xbfed52ac) at /dev/shm/tdelibs/tdecore/kapplication.cpp:583
#18 0xb724cbd6 in TQApplication::sendSpontaneousEvent (receiver=0x89bf2f0, 
    event=0xbfed52ac) at kernel/ntqapplication.h:526
#19 0xb7249cb5 in TQETWidget::translateMouseEvent (this=0x89bf2f0, 
    event=0xbfed552c) at kernel/qapplication_x11.cpp:4381
#20 0xb72486a2 in TQApplication::x11ProcessEvent (this=0xbfed5664, 
    event=0xbfed552c) at kernel/qapplication_x11.cpp:3645
#21 0xb725c432 in TQEventLoop::processEvents (this=0x8865f60, flags=4)
    at kernel/qeventloop_x11.cpp:195
#22 0xb72c7b0b in TQEventLoop::enterLoop (this=0x8865f60)
    at kernel/qeventloop.cpp:201
#23 0xb72c79a4 in TQEventLoop::exec (this=0x8865f60)
    at kernel/qeventloop.cpp:148
#24 0xb72afac1 in TQApplication::exec (this=0xbfed5664)
    at kernel/qapplication.cpp:2761
#25 0x0808bab4 in main (argc=7, argv=0xbfed59f4) at main.cpp:151


I have dvdauthor-0.7.0 and vamps-0.99.2 installed.
Comment 24 Slávek Banko 2012-08-10 10:39:36 CDT
(Odpověď na komentář #23)
> The DVD Author crash is not related to ffmpeg 0.11.x. We probably should open a
> different bug report.
> 
> I tested using ffmpeg 0.8.7 (Slackware 13.1, Trinity GIT). I am using a build
> of k9copy that is not patched for ffmpeg 0.11.x.
> 

How to deal now with a patch for the newer versions of ffmpeg? To push in the state, as it is now, and other problems with readFrame solve in a separate bug?
Comment 25 Slávek Banko 2012-08-13 19:02:13 CDT
k9copy patch pushed to GIT in hash 86848f24
Comment 26 Darrell 2012-10-16 21:38:33 CDT
I created bug report 1273 to address K9Copy crashing in DVD Author mode.

As related glibc >-2.16 issues have been resolved, I'm closing this bug report as resolved.

Thanks everybody for helping!