Bug 891123 - flac unreleased git source break with stream_decoder.h
Summary: flac unreleased git source break with stream_decoder.h
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: flac
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miroslav Lichvar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-01 22:39 UTC by Nicolas Chauvet (kwizart)
Modified: 2013-01-03 09:03 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-01-02 15:07:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
rpmsodiff between 1.2.1 and current git (14.61 KB, text/plain)
2013-01-02 20:12 UTC, Nicolas Chauvet (kwizart)
no flags Details

Description Nicolas Chauvet (kwizart) 2013-01-01 22:39:57 UTC
Description of problem:
The build of vlc fails on f19 with the the unreleased git version of flac with:

http://buildsys.rpmfusion.org/logs/fedora-development-rpmfusion_free/15415-vlc-2.0.5-1.fc19/i686/build.log

Version-Release number of selected component (if applicable):
flac-1.2.1-12.20121204gita43f56.fc18

How reproducible:
always

Steps to Reproduce:
1. build vlc with the version of flac currently only available in rawhide (f19)
2.
3.
  
Actual results:
flac.c:41:28: fatal error: stream_decoder.h: No such file or directory

Expected results:
vlc should built fine with every released version of it's dependencies.

Additional info:
unless flac upstream is close to make a new release, I don't think it worth to make an intermediate git release available, given API/ABI may broke before the release. I would suggest to only backport the needed patches instead.

Comment 1 Miroslav Lichvar 2013-01-02 14:08:47 UTC
The flac upstream is planning to make a 1.3.x release soon, so this is a prerelease. There shouldn't be any breakage in the libFLAC or libFLAC++ API/ABI since 1.2.1, only some extensions and mainly in libFLAC++.

This looks like a problem with the packaged pkg-config file, for some reason it doesn't include -I/usr/include/FLAC.

Comment 2 Miroslav Lichvar 2013-01-02 14:36:01 UTC
It looks like that change was intentional and the previous pc file was wrong.

https://git.xiph.org/?p=flac.git;a=commitdiff;h=b76d4f817c54c6fcfcb82fe72e38660c1b480774

The header should be included as FLAC/stream_decoder.h, the names of the headers in the FLAC directory alone are indeed too generic and could clash with other codecs. The example code in examples/c/decode/file/main.c always used FLAC/stream_decoder.h.

I'll ask the upstream, but I think it would be better to fix the vlc code instead of putting back the CPP flag.

Comment 3 Miroslav Lichvar 2013-01-02 15:07:41 UTC
It seems it was already causing conflicts with assert.h and I don't think the change in the pc file will be reverted.

http://lists.xiph.org/pipermail/flac-dev/2012-April/003355.html

Please forward the bugfix to the vlc upstream. Thanks.

Comment 4 Nicolas Chauvet (kwizart) 2013-01-02 20:10:31 UTC
OK, I will make the change in vlc upstream.

What about flac for f18 ? It would be fine to revert to current 1.2.1 version in repo given that there is a silent ABI change according to rpmsodiff.
(please see as attachment).

Comment 5 Nicolas Chauvet (kwizart) 2013-01-02 20:12:06 UTC
Created attachment 671663 [details]
rpmsodiff between 1.2.1 and current git

I haven't checked if the symbols removed are exported in the API.

Comment 6 Miroslav Lichvar 2013-01-03 09:03:18 UTC
The rpmsodiff output looks good to me, the removed symbols are private and they are no longer visible, because flac is now compiled with -fvisibility=hidden.

In any case, f18 still has the old 1.2.1, there were no updates yet.


Note You need to log in before you can comment on or make changes to this bug.