LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Can't Build qt5 with slackrepo in VM (https://www.linuxquestions.org/questions/slackware-14/cant-build-qt5-with-slackrepo-in-vm-4175604916/)

bilbod 04-29-2017 11:30 AM

Can't Build qt5 with slackrepo in VM
 
I am trying to build qt5 using slackrepo and the SBo build script inside a virtualbox VM.

I get the following error:

Code:

tar: qt-everywhere-opensource-src-5.7.1/qtbase/include/QtCore/QJsonParseError: Cannot write: No space left on device
tar: qt-everywhere-opensource-src-5.7.1/qtbase/include/QtNetwork/QSslError: Cannot write: No space left on device
tar: qt-everywhere-opensource-src-5.7.1/qtbase/include/QtDBus/QDBusError: Cannot write: No space left on device
tar: qt-everywhere-opensource-src-5.7.1/qtbase/include/QtSql/QSqlError: Cannot write: No space left on device
tar: qt-everywhere-opensource-src-5.7.1/qtscxml/include/QtScxml/QScxmlError: Cannot write: No space left on device

There are hundreds of lines like this in the build.log. There is plenty of space on the vdi. The only explanation I can think of is that slackrepo is using tmpfs and it is filling up.

The VM has 4 GB RAM, 30GB vdi, 4GB swap which leaves 26GB for the file system. About 15GB are free. Default size of tmpfs is 1/2 RAM (2GB).

I ran the slackBuild without slackrepo and the source untars without a problem. The expanded source size is 1.8GB, close to the size of tmpfs.

I tried disabling tmpfs and I tried increasing its size. Neither worked. Maybe that means tmpfs is not the problem or maybe I did it wrong?

Is there someway to tell slackrepo to not use tmpfs so I can tell for sure if that is the problem?

bassmadrigal 04-29-2017 11:39 AM

Do you have /tmp/ as tmpfs? If so, that is likely your problem. All of the extracting and building occurs in /tmp/, starting with copying the source over and extracting it.

You could try changing the following entry in your /etc/slackrepo/slackrepo_SBo.conf file to a place on your drive that isn't tmpfs.

Code:

TMP="/tmp/%REPO%"
I do know that slackrepo in a VM can handle building qt5 without issue because I recently did it on my laptop.

BW-userx 04-29-2017 12:23 PM

can you build it on your real system then get the tzx ( i think its called. could be txz .. ) then install it on the VM OS?

or maybe Alien Bob got one already built you can use.

bassmadrigal 04-29-2017 12:27 PM

Quote:

Originally Posted by BW-userx (Post 5703975)
can you build it on your real system then get the tzx ( i think its called.) then install it on the VM OS?

If you do that, slackrepo will complain that the host system is dirty and you won't get proper dependencies listed in your packages. slackrepo relies on the host system being "clean" (in that there are no additional packages installed except for slackrepo itself), so if you start manually installing packages, you're likely to cause yourself some grief in the future.

BW-userx 04-29-2017 12:38 PM

Quote:

Originally Posted by bassmadrigal (Post 5703976)
If you do that, slackrepo will complain that the host system is dirty and you won't get proper dependencies listed in your packages. slackrepo relies on the host system being "clean" (in that there are no additional packages installed except for slackrepo itself), so if you start manually installing packages, you're likely to cause yourself some grief in the future.

what HUH?
wait...
slackrepo is an independent of and not a 'nick name' for slacks mirrors. Ok.
I googled it to update my data base
Code:

Slackrepo is a highly automated tool for Slackware users to manage their own package repositories.
It builds packages from a repository of SlackBuilds (for example, a clone of SlackBuilds.org),
and then outputs the packages to a package repository.


bilbod 04-29-2017 12:52 PM

Quote:

Originally Posted by bassmadrigal (Post 5703965)
Do you have /tmp/ as tmpfs? If so, that is likely your problem. All of the extracting and building occurs in /tmp/, starting with copying the source over and extracting it.

You could try changing the following entry in your /etc/slackrepo/slackrepo_SBo.conf file to a place on your drive that isn't tmpfs.

Code:

TMP="/tmp/%REPO%"
I do know that slackrepo in a VM can handle building qt5 without issue because I recently did it on my laptop.

I don't think that will help. slackrepo uses a change root environment. I am using all defaults. I did not mount tmpfs on /tmp. You will see below what slackrepo mounts.

Code:

tmpfs            /dev/shm        tmpfs      defaults        0  0
That is the only relevant line in my fstab file.

I just changed the ram for the VM to 6GB (the host only has 8GB). tar stopped giving "No space left on device" error and qt5 is compiling. My estimate is 1.5 to 2 hours to finish.

Code:

mount |grep tmp

tmpfs on /dev/shm type tmpfs (rw)
tmpfs on /tmp/slackrepo.RSzmdi type tmpfs (rw,mode=1777)
tmpfs on /tmp/slackrepo.RSzmdi/ovl type tmpfs (rw,mode=1777)
overlay on /tmp/slackrepo.RSzmdi/chrootdir type overlay (rw,lowerdir=/,upperdir=/tmp/slackrepo.RSzmdi/ovl/dirty,workdir=/tmp/slackrepo.RSzmdi/ovl/work)
/dev on /tmp/slackrepo.RSzmdi/chrootdir/dev type none (rw,bind)
/dev/pts on /tmp/slackrepo.RSzmdi/chrootdir/dev/pts type none (rw,bind)
/dev/shm on /tmp/slackrepo.RSzmdi/chrootdir/dev/shm type none (rw,bind)
proc on /tmp/slackrepo.RSzmdi/chrootdir/proc type proc (rw)
sysfs on /tmp/slackrepo.RSzmdi/chrootdir/sys type sysfs (rw)
/etc/resolv.conf on /tmp/slackrepo.RSzmdi/chrootdir/etc/resolv.conf type none (rw,bind)
/tmp/slackrepo.RSzmdi/slackbuild_qt5 on /tmp/slackrepo.RSzmdi/chrootdir/tmp/slackrepo.RSzmdi/slackbuild_qt5 type none (rw,bind)
/tmp/slackrepo.RSzmdi/output_qt5 on /tmp/slackrepo.RSzmdi/chrootdir/tmp/slackrepo.RSzmdi/output_qt5 type none (rw,bind)
/tmp/slackrepo.RSzmdi/tmp on /tmp/slackrepo.RSzmdi/chrootdir/tmp/slackrepo.RSzmdi/tmp type none (rw,bind)

Except for the 1st line, slackrepo is mounting all that stuff and is clearly using tmpfs. I would like to be able to turn that feature off. IIRC, chromium requires 12GB of space. I would never be able to compile it on this machine using tmpfs.

bassmadrigal 04-29-2017 01:40 PM

Quote:

Originally Posted by BW-userx (Post 5703984)
HUH? are you taking about slackpkg update - slackpkg upgrade-all and installing a txz that's been compiled on one Slack then installed into a different slack, then when one runs update - upgrade-all it complains?

We're talking about slackrepo not slackpkg. slackrepo requires a clean environment so when you build packages, it doesn't have any errant dependencies that you don't specifically specify. Then you can use a repo tool that supports dependencies and install everything in one shot on a different computer.

Quote:

Originally Posted by bilbod (Post 5703988)
I don't think that will help. slackrepo uses a change root environment. I am using all defaults. I did not mount tmpfs on /tmp. You will see below what slackrepo mounts.

Code:

tmpfs            /dev/shm        tmpfs      defaults        0  0
That is the only relevant line in my fstab file.

I just changed the ram for the VM to 6GB (the host only has 8GB). tar stopped giving "No space left on device" error and qt5 is compiling. My estimate is 1.5 to 2 hours to finish.

Code:

mount |grep tmp

tmpfs on /dev/shm type tmpfs (rw)
tmpfs on /tmp/slackrepo.RSzmdi type tmpfs (rw,mode=1777)
tmpfs on /tmp/slackrepo.RSzmdi/ovl type tmpfs (rw,mode=1777)
overlay on /tmp/slackrepo.RSzmdi/chrootdir type overlay (rw,lowerdir=/,upperdir=/tmp/slackrepo.RSzmdi/ovl/dirty,workdir=/tmp/slackrepo.RSzmdi/ovl/work)
/dev on /tmp/slackrepo.RSzmdi/chrootdir/dev type none (rw,bind)
/dev/pts on /tmp/slackrepo.RSzmdi/chrootdir/dev/pts type none (rw,bind)
/dev/shm on /tmp/slackrepo.RSzmdi/chrootdir/dev/shm type none (rw,bind)
proc on /tmp/slackrepo.RSzmdi/chrootdir/proc type proc (rw)
sysfs on /tmp/slackrepo.RSzmdi/chrootdir/sys type sysfs (rw)
/etc/resolv.conf on /tmp/slackrepo.RSzmdi/chrootdir/etc/resolv.conf type none (rw,bind)
/tmp/slackrepo.RSzmdi/slackbuild_qt5 on /tmp/slackrepo.RSzmdi/chrootdir/tmp/slackrepo.RSzmdi/slackbuild_qt5 type none (rw,bind)
/tmp/slackrepo.RSzmdi/output_qt5 on /tmp/slackrepo.RSzmdi/chrootdir/tmp/slackrepo.RSzmdi/output_qt5 type none (rw,bind)
/tmp/slackrepo.RSzmdi/tmp on /tmp/slackrepo.RSzmdi/chrootdir/tmp/slackrepo.RSzmdi/tmp type none (rw,bind)

Except for the 1st line, slackrepo is mounting all that stuff and is clearly using tmpfs. I would like to be able to turn that feature off. IIRC, chromium requires 12GB of space. I would never be able to compile it on this machine using tmpfs.

Oh, this is the newer stuff that David recently added. I'm not using that version yet. The version I use doesn't use a tmpfs. This is the version I'm using:

Code:

wget https://github.com/idlemoor/slackrepo/archive/e150e2b/slackrepo-e150e2bff690788dca49cd68086a7dac0b1478bb.tar.gz
Maybe David will see this thread and be able to provide some assistance.

BW-userx 04-29-2017 02:23 PM

Quote:

Originally Posted by bassmadrigal (Post 5704006)
We're talking about slackrepo not slackpkg. slackrepo requires a clean environment so when you build packages, it doesn't have any errant dependencies that you don't specifically specify. Then you can use a repo tool that supports dependencies and install everything in one shot on a different computer.



Oh, this is the newer stuff that David recently added. I'm not using that version yet. The version I use doesn't use a tmpfs. This is the version I'm using:

Code:

wget https://github.com/idlemoor/slackrepo/archive/e150e2b/slackrepo-e150e2bff690788dca49cd68086a7dac0b1478bb.tar.gz
Maybe David will see this thread and be able to provide some assistance.

you should have read a little more
Quote:

slackrepo is an independent of and not a 'nick name' for slacks mirrors. Ok.
I googled it to update my data base
Quote:

Originally Posted by BW-userx
Slackrepo is a highly automated tool for Slackware users to manage their own package repositories.
It builds packages from a repository of SlackBuilds (for example, a clone of SlackBuilds.org),
and then outputs the packages to a package repository.


then noticed that I stopped posing in here.

I'm out(again): cause: not qualified for this question.

bassmadrigal 04-29-2017 02:37 PM

Quote:

Originally Posted by BW-userx (Post 5704024)
you should have read a little more


then noticed that I stopped posing in here.

I'm out(again): cause: not qualified for this question.

I don't know why you correct yourself in the middle of your posts. It makes it difficult to know what point you're trying to get across when you adjust things halfway through your posts. I stopped reading after you mentioned slackpkg since they weren't the same thing.

If you want to keep the text you posted but correct information you already typed, you can use [strike][/strike] to strike out your test. It makes it much easier for people to follow what you're typing.

BW-userx 04-29-2017 03:12 PM

Quote:

Originally Posted by bassmadrigal (Post 5704027)
I don't know why you correct yourself in the middle of your posts. It makes it difficult to know what point you're trying to get across when you adjust things halfway through your posts. I stopped reading after you mentioned slackpkg since they weren't the same thing.

If you want to keep the text you posted but correct information you already typed, you can use [strike][/strike] to strike out your test. It makes it much easier for people to follow what you're typing.

it was already posted can't do take backs in here.. they really need a how to on that in here too ....

here let me just wipe it but one part.. even this is a screwy post now.

55020 04-29-2017 04:09 PM

hi, yes the newest version of slackrepo in git now uses tmpfs during the build, this is experimental and (especially after your feedback) I'll be providing some way of turning it off and making it more responsive to the size of what it's building. Sorry this bit you. I should have a fixed version in the next couple of days; I'll post again here when it's done.

Or a quick fix would be to provide say 10Gb of swap.

bilbod 04-29-2017 06:46 PM

Quote:

Originally Posted by bassmadrigal (Post 5704006)
Oh, this is the newer stuff that David recently added. I'm not using that version yet. The version I use doesn't use a tmpfs. This is the version I'm using:

Code:

wget https://github.com/idlemoor/slackrepo/archive/e150e2b/slackrepo-e150e2bff690788dca49cd68086a7dac0b1478bb.tar.gz

There appears to be something wrong with that file.

Code:

cp: cannot stat 'etc/ponce/default_hintfiles': No such file or directory
The only change I made was to change the VERSION in the slackBuild before running it.

Code:

#VERSION=${VERSION:-0.2.0}
VERSION="e150e2bff690788dca49cd68086a7dac0b1478bb"

I don't think that could cause a missing directory?

bassmadrigal 04-29-2017 10:09 PM

You may want to try the SlackBuild from that git version (use the raw link to directly download it).

https://github.com/idlemoor/slackrep...epo.SlackBuild

If that still kicks out errors, I'll try to work up a revised SlackBuild later tonight or tomorrow (depending on how soon we go to bed tonight -- it's 11PM now).

EDIT: Another option is to just grab the 2.0rc1 package from my server. This is the version I downloaded from his dropbox before dropbox broke public folders, which broke his link.

http://bassmadrigal.tk/temp/slackrep...arch-1_dbs.txz

bilbod 04-30-2017 03:38 AM

Quote:

Originally Posted by bassmadrigal (Post 5704110)
EDIT: Another option is to just grab the 2.0rc1 package from my server. This is the version I downloaded from his dropbox before dropbox broke public folders, which broke his link.

http://bassmadrigal.tk/temp/slackrep...arch-1_dbs.txz

I have the 0.2.0rc1 source so I used that. I used it to build qt5. It took forever in the VM (5.5 hrs).

bassmadrigal 04-30-2017 06:52 AM

Quote:

Originally Posted by bilbod (Post 5704157)
I used it to build qt5. It took forever in the VM (5.5 hrs).

Could be worse... on my low-power HTPC, it was taking over 24 hours compiling for me to get an error. That was fun to try and troubleshoot (after a week of attempts, I finally gave up).


All times are GMT -5. The time now is 09:23 PM.