Created attachment 506236 [details] build.log !!! existing preserved libs: >>> package: dev-libs/libcdio-1.0.0 * - /usr/lib32/libcdio.so.16 * - /usr/lib32/libcdio.so.16.0.0 * used by /usr/lib32/gstreamer-1.0/libgstcdio.so (media-plugins/gst-plugins-cdio-1.12.3) * used by /usr/lib32/libvcdinfo.so.0.2.0 (media-video/vcdimager-0.7.24) * - /usr/lib64/libcdio.so.16 * - /usr/lib64/libcdio.so.16.0.0 * used by /usr/bin/cdxa2mpeg (media-video/vcdimager-0.7.24) * used by /usr/bin/vcd-info (media-video/vcdimager-0.7.24) * used by /usr/bin/vcdimager (media-video/vcdimager-0.7.24) * used by 8 other files Fail to preserve-rebuild after upgrade to dev-libs/libcdio-1.0.0
Created attachment 506244 [details] emerge --info
Same here
Me too.
Fails again with latest revision of dev-libs/libcdio-1.0.0-r1
Created attachment 506268 [details] build.log w/ dev-libs/libcdio-1.0.0-r1
*** Bug 638754 has been marked as a duplicate of this bug. ***
Created attachment 506642 [details, diff] Change the API-calls for libdcio functions to the new API Feel free to use the attached patch (at your own risk). It should update all the old API calls. I've stored the patch to /etc/portage/patches/media-video/vcdimager-0.7.24/ and enabled epatch_user (https://wiki.gentoo.org/wiki//etc/portage/patches#EAPI_5_and_older)
Using patch from comment above, make 2 changes to ebuild -EAPI=6 +EAPI=6 src_prepare() { + eapply_user
Created attachment 506770 [details] vcdimager-0.7.24.ebuild
This patch is almost identical to the one on the upstream bug report, so they both must be correct =) Does the patched vcdimager still build against the two older versions libcdio-0.93 and libcdio-0.94-r1?
Patch works for me, thanks!
Patch works for me too, , thanks!
When in upstream?
News? It is blocking my "memerge -e world" after upgrading to profile 17
Any updates? If there is a workable fix, what is holding it?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42e884c9270107f3a8d8bda29cbed0f8db6755cd commit 42e884c9270107f3a8d8bda29cbed0f8db6755cd Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2017-12-09 10:47:43 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2017-12-09 11:37:00 +0000 media-video/vcdimager: Fix build w/ dev-libs/libcdio-1.0.0 Closes: https://bugs.gentoo.org/638646 Package-Manager: Portage-2.3.17, Repoman-2.3.6 .../files/vcdimager-0.7.24-libcdio-1.0.0.patch | 230 +++++++++++++++++++++ media-video/vcdimager/vcdimager-0.7.24.ebuild | 2 + 2 files changed, 232 insertions(+)
*** Bug 640314 has been marked as a duplicate of this bug. ***
Marked as solved, but now it fails to build against dev-libs/libcdio-1.1.0 ;-)
(In reply to Randy Andy from comment #18) > Marked as solved, but now it fails to build against dev-libs/libcdio-1.1.0 > ;-) I confirm, it is not solved
I also can confirm that it fails to build. It should not be marked as resolved.
It also fails to build against the latest libcdio-2.0.0
(In reply to Andreas Proteus from comment #21) > It also fails to build against the latest libcdio-2.0.0 They were changing API without warning. They did the version bump after they were told to do so. Upstreams promised to fix vcdimager, they were telling mplayer and a lot of softwares compile against libcdio-2.0.0. However mpd also seems to have problems with it. However a valuable code clean up is happening in the mean time, so newer versions have less leaks.
I've compared the CVS version from cvs.savannah.gnu.org:/sources/vcdimager with vcdimager-0.7.24 and thus I've created the attached patch. With this, it compiles just fine with libcdio-2.0.0.
Created attachment 512744 [details, diff] Addtional patch for libcdio-2.0.0
I tried your patch but it didn't work. Why the status of this bug is still "FIXED"? * Applying vcdimager-0.7.24-libcdio-1.0.0.patch ... [ ok ] * Applying libcdio-2.0.0.patch ... 4 out of 7 hunks FAILED -- saving rejects to file lib/dict.h.rej [ !! ] * ERROR: media-video/vcdimager-0.7.24::gentoo failed (prepare phase): * patch -p1 failed with /etc/portage/patches/media-video/vcdimager/libcdio-2.0.0.patch
(In reply to email200202 from comment #25) > I tried your patch but it didn't work. Why the status of this bug is still > "FIXED"? > > * Applying vcdimager-0.7.24-libcdio-1.0.0.patch ... > [ ok ] > * Applying libcdio-2.0.0.patch ... > 4 out of 7 hunks FAILED -- saving rejects to file lib/dict.h.rej > [ !! ] > * ERROR: media-video/vcdimager-0.7.24::gentoo failed (prepare phase): > * patch -p1 failed with > /etc/portage/patches/media-video/vcdimager/libcdio-2.0.0.patch Same Problem here. I thought maybe the patches were just duplicating some changes, so I set up an ebuild just using the libcdio-2.0.0.patch... NOPE, way more failed hunks. Just a question, do I understand that this change in the API on libcdio is going to cause problems in a number of other packages as well? https://bugs.gentoo.org/638646#c22 > They were changing API without warning. They did the version bump after they > were told to do so. Upstreams promised to fix vcdimager, they were telling > mplayer and a lot of softwares compile against libcdio-2.0.0. However mpd also > seems to have problems with it. However a valuable code clean up is happening > in the mean time, so newer versions have less leaks.
(In reply to James from comment #26) > (In reply to email200202 from comment #25) > > I tried your patch but it didn't work. Why the status of this bug is still > > "FIXED"? > > > > * Applying vcdimager-0.7.24-libcdio-1.0.0.patch ... > > [ ok ] > > * Applying libcdio-2.0.0.patch ... > > 4 out of 7 hunks FAILED -- saving rejects to file lib/dict.h.rej > > [ !! ] > > * ERROR: media-video/vcdimager-0.7.24::gentoo failed (prepare phase): > > * patch -p1 failed with > > /etc/portage/patches/media-video/vcdimager/libcdio-2.0.0.patch > > Same Problem here. > I thought maybe the patches were just duplicating some changes, so I set up > an ebuild just using the libcdio-2.0.0.patch... NOPE, way more failed hunks. > > Just a question, do I understand that this change in the API on libcdio is > going to cause problems in a number of other packages as well? > > https://bugs.gentoo.org/638646#c22 The API has changed by the advent of 1.0.0/1.1.0. Many packages were prepared for the change. I had to patch only 2 packages as I remember. Now the API changed again with 2.0.0. Mpd may also have problems. I think if more packages pop up, it would worth to set up a tracker bug for this version. Gentoo is ahead of other distros regarding the version of libcdio and I could find no definitive solution. I masked the package on my systems for now.
I was able to get this to build using libcdio2.0.0, It involved a combination of things, so I will lay that out here, so others dont have this problem. 1. First we have to edit the ebuild to disable using the 1.0.0 patch in portage, and allow user patches. Then re-manifest the ebuild. 2. Add both the patch files that are attached here in both comment 7 and comment 24 to /etc/portage/patches/media-video/vcdimager/ Make sure you name the files so the patch from comment 7 is applied first. Naming the file from comment 7 libcdio-1.0.0.patch and naming the file from comment 24 libcdio-2.0.0.patch did the trick for me. 3. build it. I should note that the patch from comment 24 did not work if using the built in patch in portage for libcdio-1.0.0, and it didnt apply if you didnt patch for libcdio-1.0.0 at all. This is a dirty way to do this.
(In reply to rbrown4014 from comment #28) > I was able to get this to build using libcdio2.0.0, It involved a > combination of things, so I will lay that out here, so others dont have this > problem. > > 1. First we have to edit the ebuild to disable using the 1.0.0 patch in > portage, and allow user patches. Then re-manifest the ebuild. > > 2. Add both the patch files that are attached here in both comment 7 and > comment 24 to /etc/portage/patches/media-video/vcdimager/ Make sure you name > the files so the patch from comment 7 is applied first. Naming the file from > comment 7 libcdio-1.0.0.patch and naming the file from comment 24 > libcdio-2.0.0.patch did the trick for me. > > 3. build it. > > I should note that the patch from comment 24 did not work if using the built > in patch in portage for libcdio-1.0.0, and it didnt apply if you didnt patch > for libcdio-1.0.0 at all. This is a dirty way to do this. Works for me. A user-patch-only alternative is to prepare a revert patch for the one gets applied by the ebuild. If that comes first the other two can follow.
(In reply to Attila Tóth from comment #29) > (In reply to rbrown4014 from comment #28) > > I was able to get this to build using libcdio2.0.0, It involved a > > combination of things, so I will lay that out here, so others dont have this > > problem. > > > > 1. First we have to edit the ebuild to disable using the 1.0.0 patch in > > portage, and allow user patches. Then re-manifest the ebuild. > > > > 2. Add both the patch files that are attached here in both comment 7 and > > comment 24 to /etc/portage/patches/media-video/vcdimager/ Make sure you name > > the files so the patch from comment 7 is applied first. Naming the file from > > comment 7 libcdio-1.0.0.patch and naming the file from comment 24 > > libcdio-2.0.0.patch did the trick for me. > > > > 3. build it. > > > > I should note that the patch from comment 24 did not work if using the built > > in patch in portage for libcdio-1.0.0, and it didnt apply if you didnt patch > > for libcdio-1.0.0 at all. This is a dirty way to do this. > > Works for me. A user-patch-only alternative is to prepare a revert patch for > the one gets applied by the ebuild. If that comes first the other two can > follow. There is no point in that, as you have to edit the ebuild anyway to enable user patches, so commenting out the patch line in the ebuild makes more sense, than writing another patch that then reverts the first patch. Make much more sense to not apply the patch in the first place.
Just tested the portage version. It still fails with libcdio-2.0.0?!?
for future reference, since this changed the installed header file, this needed a revbump. otherwise people won't have the /usr/include/libvcd/info.h update which breaks when packages (like xine-lib) include it. this bug is about building with libcdio-1.0.0 and in that regard, is fixed. if you want to discuss libcdio-1.1.0 or newer, then use bug 641550 which is already open and tracking this issue.