build-pkg.sh qt5-5.15.2, use savefile as build directory -- aufs tips & tricks
I'm trying to build qt5-5.15.2 because for some annoying reason for many python packages the newest version of the python package likes to use the newest version of qt5. So the basic instructions to do this are:
1. download the the qt5 reccipie from here:
http://distro.ibiblio.org/fatdog/source/800/recipes/
2. Extract this file to the following folder.
/usr/src/pkgbuild/pkg/qt5
So in this folder I have the following files:
Code: Select all
# ls
assistant-qt5.desktop qconfig.h QTBUG-48321.patch
designer-qt5.desktop qdbusviewer-qt5.desktop qt-everywhere-src-5.15.2.tar.xz
linguist-qt5.desktop qt5.sh recipe
the source file doesn't actually come in the recipie archive. The build-pkg script will download this file. However, you'll need at least the md5sum of this archive for the script to work.
Modify the following lines of the build script to match:
Code: Select all
PKGVER=5.15.2
MD5SUM=e1447db4f06c841d8947f0a6ce83a7b5
SRC_URL=https://download.qt.io/archive/qt/5.15/$PKGVER/single/$TARBALL
Now in theory you can run this script by doing the following:
Code: Select all
cd /usr/src/pkgbuild
./build-pkg.sh qt5
However, I didn't have sufficient memory to do this. I tried both expanding my save file and creating a swap file but it didn't seem to help. For some reason the swap file wasn't as big as I tried to make it.
To get around this limitation I tried using a folder within my save file as the build directory. Aufs doesn't seem to like to mount branches like this. I know I can mount a directory of a real device as one of the aufs branches and I know I can mount a save file as one of the aufs branches. My hard drive has no linux partitions so I decided to do the latte.
Frirst I made a save file using the following script (code borrowed from sandbox-rw.sh):
see post: I created a script to write a blank save file (borrowed from sandbox-rw.sh)
Then I modified build-pkg.sh as follows:
Code: Select all
BUILD_DIR="/mnt/+aufs+devsave+build+ext4"
BUILD_DIR_PREFIX=${BUILD_DIR_PREFIX:-/tmp}
BUILD_DIR_OLD=${BUILD_DIR:-$(mktemp -d -p $BUILD_DIR_PREFIX build-pkg.XXXXXXXX)}
CHROOT_DIR=/tmp/chroot-${BUILD_DIR_OLD##*/}
https://pastebin.com/PdaE5fUe
where "/mnt/+aufs+devsave+build+ext4" is the mount path to the save file that I created.
I made the save file, which I used as the build directory 10GB and this is likely vastly larger than needed to build qt5.
Anyway, after making these changes, I was able to run the build script but it didn't work because I dong' have qmake5 on my system.
Code: Select all
Check config.log for details.
ln: failed to create symbolic link '/opt/qt5/bin/moc-qt5-64': No such file or directory
ln: failed to create symbolic link '/opt/qt5/bin/uic-qt5-64': No such file or directory
ln: failed to create symbolic link '/opt/qt5/bin/qmake-qt5-64': No such file or directory
mkdir: created directory '/install'
mv: cannot stat '/opt/qt5/bin/qmake': No such file or directory
ln: failed to create symbolic link '/opt/qt5/bin/qmake': No such file or directory
Build error qt5-5.15.2-x86_64-1, dropping to temporary shell.
/code]