ocssw's offline installation err checksum does not match

Please enter here to ask a question about any NASA Science related topics!
Post Reply
halomarine
Posts: 12
Joined: Wed Jan 29, 2020 9:59 am America/New_York

ocssw's offline installation err checksum does not match

by halomarine » Wed Jan 29, 2020 10:55 am America/New_York

hello,
Sorry my English is not good.
these days, I've tried to install seadas in linux-ubuntu 18.0.4, it seems I met trouble in ocssw's installation. Because of bad netword situation, I downloaded some Repositories i need, and try to install ocssw offline.(what i need are modis processing).
I've download the modisa.bundle / modist.bundle, and when start installation, error shows:
error - executing command "cp /home/bundle /home/seadas"  
tried to download modisterra.bundle 5 times, but failed checksum.
so what can i do to match the checksum of modisterra.bundle
I don't know much about computer language, what i can do is to copy some lines in install_ocssw.py 

def loadChecksums():
    """
    Download and read the bundle checksums into checksumDict.
    """
    global checksumDict, csFile
    installFile(checksumFileName, continueFlag=False)

    if verbose:
        print('Loading checksum file.')
    try:
        csFile = open(os.path.join(installDir, checksumFileName), 'r')
    except IOError:
        print("Bundle checksum file (" + checksumFileName + ") not downloaded")
        exit(1)
    for line in csFile:
        parts = line.strip().split()
        if len(parts) == 2:
            checksumDict[parts[1]] = parts[0]
    csFile.close()
    deleteFile(checksumFileName)

def testFileChecksum(fileName):
    """
    test the checksum on the given bundle file.
    """
    global checksumDict, bundleFile
    if verbose:
        print('comparing checksum for ' + fileName)
    if fileName not in checksumDict:
        print(fileName + ' is not in the checksum file.')
        exit(1)

    bundleDigest = checksumDict[fileName]
    blocksize = 65536
    hasher = hashlib.sha256()
    try:
        bundleFile = open(os.path.join(installDir, fileName), 'rb')
    except IOError:
        print("Bundle file (" + fileName + ") not downloaded")
        exit(1)

    buf = bundleFile.read(blocksize)
    while len(buf) > 0:
        hasher.update(buf)
        buf = bundleFile.read(blocksize)
    digest = hasher.hexdigest()
    bundleFile.close()
    if digest != bundleDigest:
        print('Checksum for ' + fileName + ' does not match')
        return False
    return True

and i notice that there might be answers in file named bundles.sha256sum, in this file i found (assumes the former part of a line is checksum(maybe hash?) of one's bundle ) about two patterns of modis.bundle(it has modisa.bundle and modist.bundle,also has modisaqua.bundle and modisterra.bundle). is there any way to help me matching each file's checksums or just skip this session?
best wishes
jinz

Tags:

gnwiii
Posts: 604
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 1

ocssw's offline installation err checksum does not match

by gnwiii » Wed Jan 29, 2020 12:51 pm America/New_York

The only way to deal with a "failed checksum" is to find a way to get a correct download.  In some cases the result of a download will be a small html file which may contain hints for the reason the requested download failed.   Since you have linux, you can use "type <filename>".

I assume you have downloaded bundles.sha256sum and some .bundle files.  The examples will use ocrvc.bundle because it is small.

First, check that the bundle file is indeed a "Git bundle":

$ file ocrvc.bundle
ocrvc.bundle: Git bundle

If you get "HTML document, ASCII text", rename the file by substituting "html" for
bundle and opening it with a we browser to see if it explains why the bundle was
not downloaded.  If there was a problem with you EOSDATA login you may see
a login page.  At some sites you may get a page warning that you are not allowed
to use the remote site.

Next, extract the bundles.sha256sum line for one of your bundles:

$ grep ocrvc.bundle bundles.sha256sum > ocrvc.sha256sum


Check that the bundle file has the correct sha256sum:

$ sha256sum.exe -c ocrvc.sha256sum
ocrvc.bundle: OK


If you do not get "OK" you will need to find a way to download
the file without corruption.

halomarine
Posts: 12
Joined: Wed Jan 29, 2020 9:59 am America/New_York

ocssw's offline installation err checksum does not match

by halomarine » Wed Jan 29, 2020 11:27 pm America/New_York

Sincerely thank you for your help.

1. For the download, however, I have looked at each bundle file according to the method you gave, which is indeed in Git format and seems to have been completely downloaded from the size.I don't even get an HTML file downloaded.

2. I extracted the sha256sum checksum from the modisa.bundle file, and found that it does not match the corresponding line in bundle. Sha256sum.I tried to change the latter to match up with the former,and results show success.(Indeed, I don't know what the consequences of that are)

3.and then encountered another problem:
there is no such opt-linux_64.bundle

I found out that I don't have opt - linux_64. Bundle, download website (https://oceandata.sci.gsfc.nasa.gov/ocssw/) also does not give corresponding bundle, then how should I download the opt - linux_64.bundle? Could you give me a url please?
:eek::eek:

gnwiii
Posts: 604
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 1

ocssw's offline installation err checksum does not match

by gnwiii » Thu Jan 30, 2020 7:18 am America/New_York

If your downloads are usually reliable, it is likely that the sha256sum mismatches are due to a problem with your sha256sum utility or perhaps an outdated bundles.sha256sum file.  I have:
$ sha256sum --version
sha256sum (GNU coreutils) 8.28
[...]


Mismatches for all files indicate a problem with the  sha256sum calculation.  If you get mismatches for only a few files then your downloads are probably corrupt. For modisa.bundle downloaded just now the sha256sum matches the value from bundles.sha256sum:

$ grep ' modisa.b' bundles.sha256sum > modisa.sha256sum
$ cat modisa.sha256sum
d0c36aa316e3537c56d34b098992efde567696563a6b133acdfda59fd32689f4  modisa.bundle
$ sha256sum -c modisa.sha256sum
modisa.bundle: OK


Does your bundles.sha256sum give the above value?  If not, your bundles.sha256sum might be outdated, so try downloading it again.
If your bundles.sha256sum agrees with the above value, try downloading the modisa.bundle again and see if the sha256sum changes (hopefully to match the above value from bundles.sha256sum).

The URL for opt-linux_64.bundle is similar to the URL for the other bundles.

halomarine
Posts: 12
Joined: Wed Jan 29, 2020 9:59 am America/New_York

ocssw's offline installation err checksum does not match

by halomarine » Thu Jan 30, 2020 11:35 am America/New_York

Thats right ! :grin::grin:
As you said, seems to be the reason for the outdated version of bundles.sha256sum.but i noticed that in the bundles. Sha256sum file, please have a look at the following:
d0c36aa316e3537c56d34b098992efde567696563a6b133acdfda59fd32689f4  modisa.bundle
e9f7d06677eb9cb66302a068cc44dc2b9ea20187bc5c18842c245f040a205576  modis.bundle
e77abde3dc527a6073685f75733f24add518dea0133db295274c069037164efa  modist.bundle

also have the following:
8e73c9750b96b8422c0d67d1c4fc0508b4babf9d31a589a2798dfcc4952a65e4  modisterra.bundle
0f58ae4345c2d4bfca3b08683959ad293a12a0e14fd6b6e21c9eb30c974a3199  modisaqua.bundle

:cry::cry:seems like we have two patterns of bundle that can install

The file I downloaded from https://oceandata.sci.gsfc.nasa.gov/ocssw/ is which names modisa.bundle. and modist.bundle.

first ,the error goes: cp: cannot get '~/modisaqua.bundle' stat: no such file or sth.

Here i guess Python programs require the name modisaqua. bundle and modisterra.bundle to install modisaqua and modisterra....:eek:So I renamed the two files. but you can see above, bundles.sha256sum indicates that the name is different, and the checksum is different.

then another error goes out :you cannot only change the name ,you have to change the checksum besides;:eek:

and then I changed the checksum to match corresponding files. Finally I got no trouble in it.

Well, being a Linux idiot can be plagued by a simple problem for days:eek:

Although I am very sorry, I do have some other questions to ask.

After I manually install ocssw, how can I activate the ocssw menu in the visual interface of seadas? Because I found that the OCSSW menu still only had the install data processors option, other options are not available.

Oh, by the way, due to the regional time difference, I am sorry that I may not be able to reply to you in time.
I am also grateful that you have sacrificed your time to help me!

sincerely,
jinz

gnwiii
Posts: 604
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 1

ocssw's offline installation err checksum does not match

by gnwiii » Thu Jan 30, 2020 1:04 pm America/New_York

It appears that the list of bundles in Ocean Data Science Software Repositories are for and outdated MODIS directory structure, so modisa.bundle should be replaced with modiasaqua.bundle and modist.bundle should be replaced with modiaterra.bundle.

You should download modisaqua.bundle and modisterra.bundle.  These do have entries in the bundles.sha256sum file and (as you found) are what the installer uses. 

Once the OCSSW software is installed correctly the menu should be active.  Note that the SeaDAS 7 GUI expects the OCSSW software to be installed in the SeaDAS directory.  Since the command-line installer is normally used on systems that don't have the GUI, the default is to put the OCSSW software in the users "HOME" directory.
You can adjust the location of the OCSSW software in the <seadas_home>/config/seadas.config file.   For example, I have
$ ls ~/seadas-7
CHANGELOG.txt                 VERSION.txt             licenses
LICENSE.txt                   bin                     modules
ProcessingGUI_log_gwhite.html  config                 readme.html
ProcessingGUI_log_gwhite.txt   gpl.html              seadas-website.url
SeaDAS_Distribution_Policy     lib                    seadas_license.html
but I installed the software using the Python script, so I have

$ ls ~/ocssw
OCSSW_bash.env  bin             opt             share
benchmark       ocssw-src       scripts         var

To use this in the GUI, I have:

$ grep seadas.ocssw,root ~/seadas-7/config/seadas.config
seadas.ocssw.root = ${seadas.home}/../ocssw


The nice thing about computers is that, unlike, say building a project of wood where a wrong measurement can mean you have to go out and buy more wood, you can usually get away with mistakes.  SeaDAS, like many software projects, has a small number of people making improvements, and a much larger community of users.   It is very helpful to the community when someone takes the time to report and investigate a problem.  

Don't worry about the time difference -- it is a fact of life when the user community is spread around the world.  I'm retired and have volunteer activities and outdoor activities that depend on the weather (in Canada, so shovelling snow), so I don't keep a regular schedule.  If I don't rely to one of your messages, someone else may jump in.  One thing to remember is that others who encounter the same problem may come to this topic in the future, so it can be helpful to provide a final post with a summary of how the problem was resolved.

OB.DAAC - SeanBailey
User Services
User Services
Posts: 1166
Joined: Wed Sep 18, 2019 6:15 pm America/New_York

ocssw's offline installation err checksum does not match

by OB.DAAC - SeanBailey » Thu Jan 30, 2020 2:40 pm America/New_York

The bundles existed and were accessible using the install_ocssw.py script, but yes the page was just not updated to reflect the new bundles.  It has now been populated with the full set. 

Sean

gnwiii
Posts: 604
Joined: Fri Jan 29, 2021 5:51 pm America/New_York
Answers: 1

ocssw's offline installation err checksum does not match

by gnwiii » Thu Jan 30, 2020 3:29 pm America/New_York

Thanks for the prompt update.

halomarine
Posts: 12
Joined: Wed Jan 29, 2020 9:59 am America/New_York

ocssw's offline installation err checksum does not match

by halomarine » Fri Jan 31, 2020 8:33 am America/New_York

First of all, thank you and your colleagues for your long dedication.

I was happy to see the menu activated.

It was the first time in my life that I joined a forum and communicated with people from different languages and cultures.

Although there are differences in regional culture and language, your kindness to help others is something I feel deeply, which gives me the courage to overcome difficulties.

I believe that it is because of the existence of some people like you that makes this forum have some value beyond its own functions, which is what I admire.

Just like some kinds of volunteer activities(shoveling snow) you participate in, paying your time and energy for conveniences that no one else will notice in their lifetime. It's a high-involvement, low-return job that requires a higher level of awareness. :grin::grin:

tomorrow I would like to share the experience with my friends!

sincerely,
jc

Post Reply