Can't Compile VirtualBox 1.6.6 In Slackware Current
This past weekend I was getting my hands dirty testing Slackware Current. After resolving several issues I proceeded to create a new VirtualBox vboxdrv kernel module. The effort failed and I realized, Oops! New kernel here --- I need to rebuild the entire VirtualBox package.
I am unable to build VirtualBox 1.6.6 in Slackware Current.
I am using my own modified version of the original build script that appeared at slacky.eu many months ago (before any build scripts were available at slackbuilds.org). The build script has worked well for me since version 1.5.6.
Just to be sure, I again built the VirtualBox 1.6.6 package in Slackware 12.1. No problems.
The problem seems related to gcc and possibly the newer kernel 18.104.22.168. There were many bug reports about the early release candidate versions of 2.6.27. The 1.6.6 change log indicates those bugs were resolved and I found no subsequent bug reports about 2.6.27.
Another possibility is a problem with some of the kernel source include files.
I don't know where the actual error starts but here is the tail-end of the compile effort:
As always I appreciate any help or insight.
I would try the slackbuild for VirtualBox 2.04OSE, it has been stable for me.
I understand that you are using VirtualBox for production, however you should try 2.04OSE as you are trying to compile 1.6.6 on current which shouldn't be considered stable enough to use on production machines.
Sorry this doesn't actually answer your question, but I am useless at debugging why compiles fail.
Additional notes: I can compile 1.6.6 and 2.0.6 in Current if I use the 22.214.171.124 kernel. I cannot compile 1.6.6 with the 126.96.36.199 kernel. I can compile 2.0.6 with the 188.8.131.52 kernel. The problem would appear to be the kernel and not gcc, despite the error message.
I prefer to remain with 1.6.6 as the 2.0x series provides me nothing that I need or want.
I appreciate any help from some veteran software compilers. :)
Okay, the plot thickens! I can build version 1.6.6 in Current with the huge 184.108.40.206 kernel but not with my custom compiled 220.127.116.11 kernel. Yet I can build 1.6.6 with essentially the same kernel configuration with the 18.104.22.168 kernel in 12.1. There must be something awry with one of the new features added to the kernel.
Anybody with some best guesses or even wild guesses?
check the vbox install log, /var/log/vbox-install.log
Maybe you should "make prepare" first.
Well boo-hoo! :mad:
I found the cause. VirtualBox 1.6.6 will not compile in Slackware Current with the 22.214.171.124 kernel if the kernel is configured for more than 4GB of RAM. When I temporarily compiled the 126.96.36.199 kernel to support 4GB of RAM or less, then VirtualBox 1.6.6 compiled.
I have the 188.8.131.52 kernel in 12.1 configured to support more than 4GB of RAM and 1.6.6 compiles fine there. Therefore something changed between 184.108.40.206 and 220.127.116.11 that stumps the VirtualBox build process. :(
Can't Compile VirtualBox In Slackware 12.2
With 12.2 now official, I again tried compiling VirtualBox 2.0.6. I used my testing partitions with 12.2 installed and my own 18.104.22.168 kernel. Once again the compile failed. Now, I can build a temporary kernel with less than 4GB of RAM support and based upon my effort as posted previously, I should be able to compile VirtualBox.
I don't understand why I can compile on 12.1 with the 22.214.171.124 kernel and 4GB of RAM support but not 126.96.36.199. Anybody have any ideas?
Second, will compiling VB 2.0.6 with less than 4GB of RAM create problems when I restore my 12.2 system back to 4GB of RAM? I browsed the VB configure file and found no options for RAM requirements.
I depend upon VirtualBox for production and not being able to safely use VB in 12.2 would be a show stopper. :(
Sometimes I'm a bit slow. Sometimes I'm a bit stubborn. Sometimes I don't read. Sometimes I read but fail to comprehend. Fortunately, naturally occurring ignorance has a cure --- a willingness to learn. :)
The problem was not the 4GB barrier. That was only some kind of weird coincidence. The problem was between the keyboard and chair --- a lack of knowledge. Unknown to me, running 'make clean' or 'make mrproper' after building my kernel and then someday later trying to build VirtualBox caused the problem. The trick is to build the kernel and not run 'make clean' or 'make mrproper', or as zhoun mentioned previously (drum roll), run 'make prepare'.
Well, I spent many hours yesterday testing all of this. Compiling a kernel takes time. Building VirtualBox takes time. Several hours go by trying different variables and options. Eventually the eyeballs turn square.
Finally I convinced myself that all I needed was to run 'make prepare' in the kernel build directory before running the VirtualBox build script. No changes to the kernel >4GB RAM option, no need to change the kernel .config file.
I made two passes at building both VirtualBox 1.6.6 and 2.0.6 in 12.2 with the 188.8.131.52 kernel configured for >4GB RAM. No hitches.
If I run 'make clean' in the kernel build directory the VirtualBox build script fails rather quickly.
I never had run into this problem before. I guess I was just lucky to never have run 'make clean' or 'make mrproper' before building VirtualBox.
Not to mention the mystery of why VirtualBox would compile when I modified the RAM option in the kernel.
Sometimes learning a lesson takes all day and then some. I don't fully understand all the connections with the command, but I think I now grasp the big picture. I think the words 'make prepare' will be stamped in my mind for a few days. :)
As the old Groucho Marx joke goes, "Don't do that anymore!"
I am willing to embrace my own lack of knowledge as the cornerstone of the problem here. Conversely, I never had this problem with previous kernels. Seems the 184.108.40.206 kernel or something related is now different. :scratch: Perhaps previously the 'make clean' or 'make mrproper' commands did not remove certain critical files that other software needed to build and now with 220.127.116.11 that is the case. I say this because I had a similar problem with updating the 177.82 nvidia driver and kernel module. Another person had a similar problem with the nvidia driver and the 'make prepare' trick resolved the problem.
Still, if we keep our eyes and ears open we usually learn something every day.
Folks sometimes ask me what I do for recreation. I tell them sometimes I sit on the front porch. And do what? they ask. I tell them sometimes I sit and think, sometimes I just sit.
My head hurts and my butt is numb. Or is that my butt hurts and my head is numb? I don't know. After this experience I think I'll just sit for a bit. No thinking. :)
Sorry to hijack the thread, but I can't build the kernel module for vbox 2.1.0 (the .run file), so I thought i'd drop my /var/log/vbox-install.log in here and see if you guys are thinking what I am thinking (since we're talking about kernel build issues:
Or run make oldconfig && make proper as the error message instructs?
|All times are GMT -5. The time now is 06:30 AM.|