Opened 16 years ago
Closed 16 years ago
Last modified 16 years ago
#4528 closed defect (fixed)
Changeset 15545 breaks Gentoo ebuilds
Reported by: | Floppe | Owned by: | Nigel |
---|---|---|---|
Priority: | minor | Milestone: | 0.21 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | Gentoo |
Cc: | Ticket locked: | no |
Description
Get the following error when emerging
>>> Completed installing mythtv-0.21_pre15545 into /var/tmp/portage/media-tv/mythtv-0.21_pre15545/image/ --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/var/log/sandbox/sandbox-media-tv_-_mythtv-0.21_pre15545-4399.log" rmdir: /usr/include/mythtv/libmyth symlink: /usr/include/mythtv/libmyth --------------------------------------------------------------------------------
I modified the ebuild and added a patch that reverts changeset 15545 and now I can emerge trunk rev 15585 with no problems.
Change History (12)
comment:1 Changed 16 years ago by
comment:2 Changed 16 years ago by
I'm not sure I understand the error (maybe provide the file /var/log/sandbox/sandbox-media-tv_-_mythtv-0.21_pre15545-4399.log ?), but instead of reverting the whole change, what about:
Index: libmyth.pro =================================================================== --- libmyth.pro (revision 15586) +++ libmyth.pro (working copy) @@ -68,9 +68,7 @@ # Allow both #include <blah.h> and #include <libmyth/blah.h> inc2.path = $${PREFIX}/include/mythtv/libmyth -unix:inc2.extra = rmdir $$inc2.path ; ln -s $$inc.path $$inc2.path -# On Windows, we have to have two copies of the files -!unix:inc2.files = $${inc.files} +inc2.files = $${inc.files} using_oss {
comment:3 Changed 16 years ago by
Owner: | changed from Isaac Richards to Nigel |
---|---|
Status: | new → assigned |
comment:6 Changed 16 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:7 Changed 16 years ago by
Resolution: | fixed |
---|---|
Status: | closed → new |
Still not working, tested with rev 15604
>>> Completed installing mythtv-0.21_pre15604 into /var/tmp/portage/media-tv/mythtv-0.21_pre15604/image/ --------------------------- ACCESS VIOLATION SUMMARY --------------------------- LOG FILE = "/var/log/sandbox/sandbox-media-tv_-_mythtv-0.21_pre15604-17782.log" symlink: /usr/include/mythtv/libmyth -------------------------------------------------------------------------------- vdrbox ~ # cat /var/log/sandbox/sandbox-media-tv_-_mythtv-0.21_pre15604-17782.log symlink: /usr/include/mythtv/libmyth vdrbox ~ #
comment:8 Changed 16 years ago by
OK, I have no idea what the problem is. It tells us that /usr/include/mythtv/libmyth is a symlink, but so what? It is meant to be a symlink. What the heck has been violated?
Is there a debug or verbose (-v) option for emerge? Does the symlink have bad permissions?
comment:9 Changed 16 years ago by
The issue is the install_root isn't being used.
Sandboxing is setting the install root to /var/tmp/portage/media-tv/mythtv-0.21_pre15604/image/ and so the package install all it's files into there as if that was /, and then it (portage/emerge in this case) copies it over into the real root directory, so it knows what packages own what files automagically.
You're messing with root directly, and it's kicking it back saying, we can't do that.
So it is telling us what info we need to change, so extra logging or the like isn't really needed.
comment:10 Changed 16 years ago by
Thanks for the clarification. Looking into the generated makefile, qmake automatically uses INSTALL_ROOT in the dependencies, but I don't think we can force it in the rules, because qmake sometimes munges the paths to be relative.
comment:11 Changed 16 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Aye, I can verify this bug.
Can we use $(INSTALL_ROOT)/$$(PREFIX) ?
That should fix it for the gentoo users (and other sandboxing users)