View previous topic :: View next topic |
Author |
Message |
Markus09 Tux's lil' helper
Joined: 22 Mar 2013 Posts: 78
|
Posted: Fri Jan 06, 2017 2:04 am Post subject: [SOLVED] app-emulation/virtualbox-4.3.38 emerge fails |
|
|
Hello!
I tried to emerge virtualbox, but it fails with
Quote: | kmk: *** [/var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex] Error 255 |
I also exported the log of this failing part: http://pastebin.com/RS2Pm3Ch
The USE flags used were already stripped down a little, because the above error also occurs with the default USE flags.
The flags used with the above compile:
Quote: | [ebuild N ] app-emulation/virtualbox-4.3.38 USE="alsa pam qt4 -additions -doc -extensions -headless -java (-libressl) -opengl -pulseaudio -python -sdk -udev -vboxwebsrv -vnc" PYTHON_TARGETS="python2_7" |
Do you have an idea what could be the error?
BR,
Markus
Last edited by Markus09 on Fri Jan 13, 2017 4:17 pm; edited 2 times in total |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
Markus09 Tux's lil' helper
Joined: 22 Mar 2013 Posts: 78
|
|
Back to top |
|
|
davydm n00b
Joined: 06 Jan 2017 Posts: 73
|
Posted: Fri Jan 06, 2017 7:57 pm Post subject: |
|
|
Not to just be a "me too", but I get the exact same error; interesting part is at line 97 in the pastebin link:
/var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex.pre 35: Device (SCKL) { Name (_HID, "ACPI0004") Name (_UID, "SCKCPUL") Processor (CPUL, 0x15, 0x0, 0x0 ) { Name (_HID, "ACPI0007") Name (_UID, "SCKL-CPU0") Name (_PXM, 0x00) Method(_MAT, 0) { Name (APIC, Buffer ( {0x00, 0x08, 0x15, 0x15}) IF (CPCK(0x15))
[*** iASL: Very long input line, message below refers to column 451 ***]
Error 6058 - Invalid type ([Processor] found, Store operator requires [Integer|String|Buffer|Package|DebugObject|Reference])
Just for chuckles, I tried basically disabling most USE flags and still got the same.
I'm quite new to Gentoo, shifted after 16 years of Debian, so please excuse me if I'm doing something wrong; the output from emerge requests certain information and here are the pastebins:
http://pastebin.com/bJz5Rw7a
http://pastebin.com/EHenPXzh
http://pastebin.com/DATwKXV8
http://pastebin.com/7k4rQ3mp
Anything else I can provide to debug? |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
davydm n00b
Joined: 06 Jan 2017 Posts: 73
|
Posted: Sat Jan 07, 2017 6:53 am Post subject: |
|
|
I'm happy to do so -- bearing in mind again that I'm a gentoo n00b, so this may sound like a stupid question: should I be filing a bug upstream, at virtualbox? Or a gentoo bug against the package? I wanted to see if perhaps installing a testing package would have this problem already resolved, so according to https://packages.gentoo.org/packages/app-emulation/virtualbox, there's a 4.3.40 version of virtualbox, however, doing:
Code: | ACCEPT_KEYWORDS="~amd64" emerge -a =app-emulation/virtualbox-4.3.40 |
results in emerge seeming to want me to shift a lot of packages to ~amd64 for minor version updates (perl, icu, boost) and I'm not entirely confident to do so. Any thoughts or advice appreciated.[/code] |
|
Back to top |
|
|
Markus09 Tux's lil' helper
Joined: 22 Mar 2013 Posts: 78
|
Posted: Sat Jan 07, 2017 9:26 am Post subject: |
|
|
I emerged =app-emulation/virtualbox-5.1.12 with ~amd64, which caused a few rebuilds and only two additional keyword changes for the virtualbox-modules and kbuild.
This builds just fine with USE flags:
Code: | app-emulation/virtualbox-5.1.12::gentoo USE="alsa pam qt5 -debug -doc -headless -java -libressl -lvm -opengl -pulseaudio -python -sdk -udev -vboxwebsrv -vnc" PYTHON_TARGETS="python2_7" |
@dacydm:
If you run the code line you posted you allow more packages than you want with ~amd64. You should put the keyword in the file
/etc/portage/package.keywords/package.keywords
with (or with version numbers, if you only want to accept for a specific version)
Code: | app-emulation/virtualbox ~amd64
app-emulation/virtualbox-modules ~amd64 |
Then only, these two packages are using ~amd64. When you emerge I think you will then get the request for ~amd64 for kbuild too (as mentioned above), where emerge can write
Code: | # required by app-emulation/virtualbox-5.1.12::gentoo
# required by virtualbox (argument)
=dev-util/kbuild-0.1.9998_pre20131130-r1 ~amd64 |
into the same keywords file if you tell it so. Then the emerge is running fine (for 5.1.12).
@Bugreport:
I think at virtualbox is the right place, but I'm also not sure. (with a link to this topic, so data is no replicated that much?) |
|
Back to top |
|
|
davydm n00b
Joined: 06 Jan 2017 Posts: 73
|
Posted: Mon Jan 09, 2017 6:33 pm Post subject: |
|
|
@Markus09 thanks for the package.keywords tip; as a n00b, I don't understand why ACCEPT_KEYWORDS="~amd64" didn't work cleanly for the 4.3.30 package (and I apparently didn't try it without a version specifier, as it does work that way:/). I would have popped it in package.keywords if the environment variable had worked, but o well... I think I did try the same without a version specifier and also had havoc -- I must have been doing something Just Plain Wrong somewhere :/
However, I'd rather have the latest-latest vbox anyways, so this works out just fine for me.
Since there are available binaries for virtualbox 4.3.38 (virtualbox-bin installs fine), that would suggest that virtualbox can build at this version with the correct configuration -- so is that still not an ebuild error? Again, please bear with my n00bness. |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21635
|
Posted: Tue Jan 10, 2017 2:50 am Post subject: |
|
|
When you set ACCEPT_KEYWORDS in the environment, that acceptance works for everything Portage considers during that run of emerge, not just for the package(s) that you named on the command line. This was equivalent to setting it in /etc/portage/make.conf, other than that the latter would apply for every run until you edited the file again, whereas environment overrides apply only until you unset the variable.
When you specify keywords in /etc/portage/package.accept_keywords, the keyword applies only to the package named (and respects version restrictions, if you use those). Your attempt at the command line approved both a ~amd64 virtualbox (which you wanted) and updating any supporting packages to ~amd64 if Portage decided to consider updating those packages. When you use the file, Portage may still consider updating supporting packages, but it can only update them within the constraints of the keywords you approved for those supporting packages. Assuming no environment variable and no other relevant entries in package.accept_keywords, any supporting packages can only be updated to stable versions, not testing versions. |
|
Back to top |
|
|
C5ace Guru
Joined: 23 Dec 2013 Posts: 472 Location: Brisbane, Australia
|
Posted: Tue Jan 10, 2017 11:52 am Post subject: |
|
|
I have the same problem. app-emulation/virtualbox-4.3.38 fails compile on new install and fails recompile on 3 existing installations which where made a long time ago and updated on 12 Dec. 2016 to virtualbox-4.3.38.
Build log shows:
Code: |
ASL Input: /var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex.pre - 88 lines, 17639 bytes, 870 keywords
Hex Dump: /var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex - 62531 bytes
Compilation complete. 1 Errors, 0 Warnings, 32 Remarks, 72 Optimizations
kmk: *** [/var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex] Error 255
kmk: *** Deleting file `/var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex'
kmk: *** Waiting for unfinished jobs....
|
Some upgrade after 12 December 2016 causes the problem.
It's silly that the file 'vboxssdt-cpuhotplug.hex' is deleted and not available for examination. |
|
Back to top |
|
|
davydm n00b
Joined: 06 Jan 2017 Posts: 73
|
Posted: Tue Jan 10, 2017 7:52 pm Post subject: |
|
|
Hu wrote: | When you set ACCEPT_KEYWORDS in the environment, that acceptance works for everything Portage considers during that run of emerge, not just for the package(s) that you named on the command line. This was equivalent to setting it in /etc/portage/make.conf, other than that the latter would apply for every run until you edited the file again, whereas environment overrides apply only until you unset the variable.
When you specify keywords in /etc/portage/package.accept_keywords, the keyword applies only to the package named (and respects version restrictions, if you use those). Your attempt at the command line approved both a ~amd64 virtualbox (which you wanted) and updating any supporting packages to ~amd64 if Portage decided to consider updating those packages. When you use the file, Portage may still consider updating supporting packages, but it can only update them within the constraints of the keywords you approved for those supporting packages. Assuming no environment variable and no other relevant entries in package.accept_keywords, any supporting packages can only be updated to stable versions, not testing versions. |
Thank you a million times @Hu. Schooled! Though I would have expected that variable to apply to virtualbox and downward only, for the current operation (ie, )? Perhaps that's a silly debian-style assumption to make (EDIT: it is, in retrospect, considering all inputs)? Remember, I am totally a gentoo n00b -- 16 years on Debain (/derivatives) and < 1 month on Gentoo. I'm (honestly) willing to learn though -- and genuinely appreciating Gentoo (as I should have, long before now). Just trying to work out this "universe" and how it works (:
For the issue of virtualbox-4.3.38 not building from source, would it be your opinion that the problem is with the ebuild, or with the upstream virtualbox sources? I'm still leaning towards ebuild (just because I'm an arb dev without intimate knowledge of the whole picture), but I'm sure this discussion reveals that I'm not exactly a master at this, so I'd really appreciate input. |
|
Back to top |
|
|
artbody Guru
Joined: 15 Sep 2006 Posts: 489 Location: LB
|
Posted: Tue Jan 10, 2017 8:41 pm Post subject: |
|
|
with the ~amd64 option you pull in development-versions this is like > unstable on debian
for some packages this my work but if you set it in the make.conf global results in unstable Gentoo
thats why you should do this in /etc/portage/portage.keywords _________________ Never give up
WM : E16 the true enlightenment
achim |
|
Back to top |
|
|
Hu Moderator
Joined: 06 Mar 2007 Posts: 21635
|
Posted: Wed Jan 11, 2017 2:24 am Post subject: |
|
|
davydm wrote: | Thank you a million times @Hu. Schooled! Though I would have expected that variable to apply to virtualbox and downward only, for the current operation (ie, )? Perhaps that's a silly debian-style assumption to make (EDIT: it is, in retrospect, considering all inputs)? Remember, I am totally a gentoo n00b -- 16 years on Debain (/derivatives) and < 1 month on Gentoo. I'm (honestly) willing to learn though -- and genuinely appreciating Gentoo (as I should have, long before now). Just trying to work out this "universe" and how it works (: |
The environment variable overrides the same named variable from /etc/portage/make.conf (and many other make.conf variables have the same semantics). Since make.conf cannot do per-package overrides, neither can the environment variable.
Beyond that, I can only say that whoever specified it to work this way had different plans than you did, and nobody has convinced them to change it yet.
As a practical note, it is relatively common for ~testing packages to have ~testing dependencies, so implementing it as you had expected would have a decent chance of failing out because, under your model, a ~testing package could be selected from the command line, but a ~testing dependency would still be disallowed.
davydm wrote: | For the issue of virtualbox-4.3.38 not building from source, would it be your opinion that the problem is with the ebuild, or with the upstream virtualbox sources? I'm still leaning towards ebuild (just because I'm an arb dev without intimate knowledge of the whole picture), but I'm sure this discussion reveals that I'm not exactly a master at this, so I'd really appreciate input. | I do not know Virtualbox well enough to answer this. If the ebuild were a thin wrapper around running the upstream build system, I would say it is an upstream problem. However, Virtualbox's ebuild does a substantial amount of patching, so it is possible that this is a problem introduced by the ebuild. You would need someone who can debug this failure to make a conclusive determination. |
|
Back to top |
|
|
C5ace Guru
Joined: 23 Dec 2013 Posts: 472 Location: Brisbane, Australia
|
Posted: Thu Jan 12, 2017 12:17 am Post subject: |
|
|
Problem solved:
Build.log says when building app-emulation/virtualbox-4.3.38 STABLE:
Code: |
ASL Input: /var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex.pre - 88 lines, 17639 bytes, 870 keywords
Hex Dump: /var/tmp/portage/app-emulation/virtualbox-4.3.38/work/VirtualBox-4.3.38/out/linux.amd64/release/obj/VBoxDD/vboxssdt-cpuhotplug.hex - 62531 bytes
|
It appears that 'sys-power/iasl-20160729' and higher is incompatible with 'app-emulation/virtualbox-4.3.38' STABLE. Probably caused by a buffer overrun.
Solution:
Downgrade 'sys-power/iasl-20160729' to 'sys-power/iasl-20140828' and mask '>sys-power/iasl-20140828'.
This lets you build and install 'app-emulation/virtualbox-4.3.38' STABLE.
See: Gentoo's Bugzilla – Bug 605424 |
|
Back to top |
|
|
DX94 n00b
Joined: 12 Jan 2017 Posts: 2
|
Posted: Thu Jan 12, 2017 8:43 am Post subject: |
|
|
C5ace wrote: |
It appears that 'sys-power/iasl-20160729' and higher is incompatible with 'app-emulation/virtualbox-4.3.38' STABLE. Probably caused by a buffer overrun.
Solution:
Downgrade 'sys-power/iasl-20160729' to 'sys-power/iasl-20140828' and mask '>sys-power/iasl-20140828'.
This lets you build and install 'app-emulation/virtualbox-4.3.38' STABLE.
See: Gentoo's Bugzilla – Bug 605424 |
Confirming this works, downgraded IASL, virtualbox successfully compiled. |
|
Back to top |
|
|
Markus09 Tux's lil' helper
Joined: 22 Mar 2013 Posts: 78
|
Posted: Fri Jan 13, 2017 4:54 pm Post subject: |
|
|
Thank you all for your helpful responses!
Thread marked as solved. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|