Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ice-dev] Installer fails if zip file is already in the directory

As an addendum, if you haven't yet deleted all of the archives you should be able to run `Install_ICE.py [options] --skip-download` and you will be able to avoid re-downloading everything.

Andrew

On Wed, Nov 11, 2015 at 4:51 PM, Andrew Bennett <bennett.andr@xxxxxxxxx> wrote:
You're right, it is bad practice to have the installer fail because of this incompatibility.  There are a couple of other methods of workaround that I could put in:
  1. Rename the file that is trying to be mkdir'd and let the user know.  This could potentially be bad if the user doesn't read the output or just forgets down the line.
  2. Change the name of the directory that the module is installed into.  This could be hard(er) to get right in the event of multiple failures when trying to find a suitable rename.
Besides that, I think the new structure is a much better way of handling the installation and is what should've been in the bash version originally.  There should not be any reason to re-break this in the future (if that's any consolation).

Andrew

On Wed, Nov 11, 2015 at 4:27 PM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:

Andrew,

I haven't tried the new one yet. My laptop is updating to Fedora 23.

I'm complaining because we didn't have a clear migration path between the bash and python versions, which resulted in my error. As a result, I had to dump the entire directory and start over, which takes forever and is annoying.

Jay

On Nov 11, 2015 7:11 PM, "Andrew Bennett" <bennett.andr@xxxxxxxxx> wrote:
From what your stack trace looks like the installer is not trying to replace a directory, but a file.  The installer shouldn't be erasing that.  If the installer encounters a directory that it wants to replace, then it will work. 

The Python install script has a bit different structure from the Bash one, so they won't be exactly compatible.  I have updated the Python version, if you try to reproduce your error you should now see:
            --------------------------- ERROR -----------------------------
            Cannot create directory ICE.  File already exists.
            Either delete this file, or specify a different installation
            location by using the --prefix option.
            --------------------------- ERROR -----------------------------
If this isn't what you see, I am misunderstanding what the issue is.  Could you provide the command you are using to invoke the installer as well as the output of `ls` in the directory you are trying to install in?

Andrew

On Wed, Nov 11, 2015 at 3:55 PM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:

I have an update from a previous installer (bash) and it broke.

I think it should give the user the option to replace the directory, not assume that it shouldn't do anything.

Jay

On Nov 11, 2015 5:40 PM, "Andrew Bennett" <bennett.andr@xxxxxxxxx> wrote:
This issue is occurring because it is trying to create the ICE directory where you already have a file name ICE (like saying `touch ICE; mkdir -p ICE` fails).  I don't think that the installer should delete the file, since it's not actually replacing it with an updated version but a completely different file structure.  I will be pushing an update that will make the error a bit more transparent.  If you have an installation done by the installer and run it again it seems to work fine.  The update option is actually entirely optional unless you are only downloading/installing a subset of ICE, HDFJava, and VisIt. 

Andrew

On Wed, Nov 11, 2015 at 1:04 PM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:
Actually, this fails if any existing ICE file is in the directory. The installer should delete the old install if the --update option is passed.

Jay

On Wed, Nov 11, 2015 at 4:01 PM, Jay Jay Billings <jayjaybillings@xxxxxxxxx> wrote:
The Python installer fails if the ICE zip file is already in the directory:

Traceback (most recent call last):
  File "/home/bkj/research/ICEWorkspace/ice/org.eclipse.ice.installer/Install_ICE.py", line 427, in <module>
    main()
  File "/home/bkj/research/ICEWorkspace/ice/org.eclipse.ice.installer/Install_ICE.py", line 421, in main
    pkg_dirs = unpack_packages(opts, pkg_files)
  File "/home/bkj/research/ICEWorkspace/ice/org.eclipse.ice.installer/Install_ICE.py", line 221, in unpack_packages
    dirs[pkg] = unzip_package(pkg, archive, opts.prefix)
  File "/home/bkj/research/ICEWorkspace/ice/org.eclipse.ice.installer/Install_ICE.py", line 173, in unzip_package
    mkdir_p(out_path)
  File "/home/bkj/research/ICEWorkspace/ice/org.eclipse.ice.installer/Install_ICE.py", line 78, in mkdir_p
    os.makedirs(path)
  File "/usr/lib64/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 17] File exists: '/home/bkj/research/ICEInstall/ICE'

Jay

--
Jay Jay Billings
Oak Ridge National Laboratory
Twitter Handle: @jayjaybillings



--
Jay Jay Billings
Oak Ridge National Laboratory
Twitter Handle: @jayjaybillings

_______________________________________________
ice-dev mailing list
ice-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ice-dev


_______________________________________________
ice-dev mailing list
ice-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ice-dev

_______________________________________________
ice-dev mailing list
ice-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ice-dev


_______________________________________________
ice-dev mailing list
ice-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ice-dev

_______________________________________________
ice-dev mailing list
ice-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ice-dev



Back to the top