Details
-
Bug
-
Resolution: Done
-
P2: Important
-
Qt Creator 1.2.1, Qt Creator 1.2.90
-
None
Description
When using the Qt SDK commercial package the installer fails claiming insufficient HD ( true of /), when the desired install path /usr (probably /usr/local/Qt/4.5.2/ ) has
plenty of available space.
It does not even suggest where it is going to install to prior to giving
the error. Install directory choice should be made before a check for sufficent space.
look at the change between the opensource installer and the commercial
installer-
O1- Welcome to the Qt SDK Setup Wizard...
O2- Please read the following License Agreement...
O3- Please specify the directory where Qt SDK will be installed.
O4- Select Components...
O5- Setup is now ready to begin installing Qt SDK...
from what you described above, the commercial version has a different
order:
C1- Welcome to the Qt SDK Setup Wizard...
C2- Select components...
C3- Please enter your Qt license key...(entered your licence info)
C4- Please read the following License Agreement...
C5- Please specify the directory where Qt SDK will be installed.
C6- Setup is now ready to begin installing Qt SDK...
Both appear to check for disk space at the end of the Select Components stage (O4 and C2); I tried the open source Installer and it gave me the insufficent disk space message after O4 if I used the default directory. The issue is that if you check for adequate disk space between C2&C3, you don't know where you are really installing it to- leaving you with 2 logical problems-
a) my case- not enough space in the default dir -fails improperly; there
is space in the true install dir, but no space in the defauinstall dir)
b) user selects non default dir with inadequate space- succeeds improperly;
will fail when it tries to install...
I have created a workaround/bug demonstration:
Create a loopback FS for / opt that is either big enough or too small-
a) dd if=/dev/zero of=/somewhere_that_has_space/opt_test.img bs=1M
count=sz_in_MB
b) /sbin/losetup /dev/loop0 /somewhere_that_has_space/opt_test.img
c) mkfs -t ext3 /dev/loop0
if there are no contents in /opt you need to preserve then you may
proceed to the install
d) mkdir /mnt/opt
e) mount -t ext3 /dev/loop0 /mnt/opt
f) cp -R /opt/* /mnt/opt
g) umount /mnt/opt
h) mount -t ext3 /dev/loop0 /opt
Install the sdk...
With a 2048 MB loopback file it succeeds; It fails for a 50 MB
loopback file.