File permissions different in the SDK build engine
asked 2019-09-20 00:10:20 +0200
This post is a wiki. Anyone with karma >75 is welcome to improve it.
Hello folks,
I have tried to compile libmlocale which is partially autotools based thus it needs running ./configure.
My build fails with:
RPM build errors:
/var/tmp/rpm-tmp.L4oyur: line 41: ./configure: Permission denied
error: Bad exit status from /var/tmp/rpm-tmp.L4oyur (%build)
Bad exit status from /var/tmp/rpm-tmp.L4oyur (%build)
It turned out that if I ssh to the build machine and check the sources location the file permissions are not having the executable flag:
[mersdk@SailfishSDK libmlocale]$ ls -l
total 196
-rw-r--r-- 1 mersdk 1001 26850 Jan 5 2018 LICENSE.LGPL
-rw-r--r-- 1 mersdk 1001 24890 Sep 19 21:14 Makefile
-rw-r--r-- 1 mersdk 1001 545 Jan 5 2018 README
drwxr-xr-x 1 mersdk 1001 4096 Sep 19 21:14 RPMS
drwxr-xr-x 1 mersdk 1001 4096 Sep 19 20:20 benchmarks
-rw-r--r-- 1 mersdk 1001 18284 Sep 19 20:20 configure
-rw-r--r-- 1 mersdk 1001 4258 Jan 7 2018 debugfiles.list
While on the host:
mm@lapos:~/Projektek/jolla/libmlocale$ ls -l
összesen 204
drwxrwxr-x 8 mm mm 4096 szept 19 22:20 benchmarks
**-rwxr-xr-x 1 mm mm 18284 szept 19 22:20 configure**
-rw-r--r-- 1 mm mm 4258 jan 7 2018 debugfiles.list
-rw-r--r-- 1 mm mm 4214 jan 7 2018 debuglinks.list
-rw-r--r-- 1 mm mm 66 jan 7 2018 debugsources.list
drwxrwxr-x 4 mm mm 4096 jan 5 2018 doc
-rw-r--r-- 1 mm mm 0 jan 7 2018 documentation.list
drwxrwxr-x 2 mm mm 4096 szept 19 22:27 lib
-rw-rw-r-- 1 mm mm 26850 jan 5 2018 LICENSE.LGPL
-rw-rw-r-- 1 mm mm 26210 szept 19 22:25 Makefile
First I suspected the VirtualBox to be responsible for this problem (similar problems can be found on the web). Usually it is recommended to install the Guest additions. It turned out that I run VirtualBox 5.2.32 while the Guest additions installed in the build machine is 5.3.20 (since it is a patch revision difference it should not matter). I have tried to update Guest addidions, but it requres the kernel headers which is not present on the system.
Then it turned out that the files under /home/src have all executable bit set, while paths under /home/mersdk/share/ do not.