oslocyclotronlab / oslo-method-software

Software for the Oslo Method
7 stars 6 forks source link

Path to executables is wrong #21

Closed cecgresonant closed 4 years ago

cecgresonant commented 4 years ago

I just tried to install and compile the current version of the Oslo method software. I see that there has been a name change in the master branch so that it is named "oslo-method-software", before it was "oslo-method-software-master". The problem is that the linking is still done with the path "/path-to-software/oslo-method-software-master/prog/bin/". So the exported path should be:

export UIO_APPLICATIONS=/Applications/oslo-method-software-master

and not what is currently in the README:

export UIO_APPLICATIONS=/Applications/oslo-method-software

fzeiser commented 4 years ago

The master branch is called master. I assume you have downloaded the repo via the download button. Using that, you can get different kinds of names. I would recommend cloning the repo instead of downloading.

fzeiser commented 4 years ago

What would you like to see changed in the readme? There is says:

Then, clone this repository (or download and unpack the zip file) into the folder where you want the software to be installed. Let us say it is

/path-to-software/oslo-method-software/

[...]

So I think it already states that you should change the path if you put the repo in a folder with a different name.

cecgresonant commented 4 years ago

I did a git clone, not a download via the download button.

cecgresonant commented 4 years ago

The problem is the /path-to-software/oslo-method-software/ should be /path-to-software/oslo-method-software-master/

fzeiser commented 4 years ago

Well, it could also be that you want to have a directory that it called OM-software, and then it should be /path-to-software/OM-software. As mentioned above, the readme already assumes that you adopt the path.

It is btw. non standard configuration that you get oslo-method-software-master as a folder name when you use a command like git clone git@github.com:oslocyclotronlab/oslo-method-software.git or git clone https://github.com/oslocyclotronlab/oslo-method-software. The standard configuration will put it under the repo name, so oslo-method-software

cecgresonant commented 4 years ago

The oslo-method-software-master name was from 2 years ago (2018). So I guess things were set differently back then. What I am trying to point out, is that if you do a git clone and follow rigorously the instructions in the README.md, you will NOT get the executables where you think they will go. So either it would be good to update the make files, or (perhaps) more easy, just update the README.md file.

fzeiser commented 4 years ago

Sorry, but I still don't understand. When I do a fresh clone of the repo as described above git clone https://github.com/oslocyclotronlab/oslo-method-software, the files get in a directory called oslo-method-software. The readme says that I should export (e.g.) export UIO_APPLICATIONS=/path-to-software/oslo-method-software. So where is the problem?

In addition, the Readme points out in the very beginning that the path should be changed if the software is located somewhere else.

cecgresonant commented 4 years ago

In the copying of the executables.

cecgresonant commented 4 years ago

When you do the

make all make install

the last step puts the executables in the wrong folder.

fzeiser commented 4 years ago

In which folder do you execute make / make all?

cecgresonant commented 4 years ago

In which folder?

in the folder /path-to-software/oslo-method-software-master/prog/bin/

which is created in the

make install

step. But the export link is not pointing to this folder, but to /path-to-software/oslo-method-software/prog/bin/

which is completely empty.

cecgresonant commented 4 years ago

In which folder do you execute make / make all?

In the exact folders as described in the README.md: in the mama folder and in the prog folder.

fzeiser commented 4 years ago

I just tried it once again and cannot reproduce your behavior. I also don't see how the Makefile should have changed the variable from UIO_APPLICATIONS.

You can see this also from the output of the make install command within /prog:

❯ make install
  File "ame2003mass2cpp.py", line 37
    const ame2003_mass_t ame2003_masses[] = {"""
                                               ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""struct ame2003_mass_t {
    const int A, Z, origin)?
mkdir /home/fabiobz/Desktop/tmp/oslo-method-software/prog/bin
mkdir: cannot create directory ‘/home/fabiobz/Desktop/tmp/oslo-method-software/prog/bin’: File exists
Makefile:58: recipe for target 'install' failed
make: [install] Error 1 (ignored)
for program in shiva2paw waiting funcfit gameff autofit onemev mama2pc vigs isotrop zigzag legendre decay range thetaangle xmeasure rhosigchi scatter kin readlog hex rocket neutron neutroneb thermo euler gbf gbfbranch toro fgtheo splinetest egidy sea spline2mama normalization f_model rotor nilsson  normrhof cm2lab grazing spincut rutherford fmodel tave binomial binomialc siriangle sfec alfnasort alfnamatrix webrho webstrf fitone micro robin counting gammex d2rho combi pet elise extendspin radex scissors pjolter primex diablo ; \
    do install -m 0755 $program /home/fabiobz/Desktop/tmp/oslo-method-software/prog/bin/$program; \
done

(Note that the error arises as /prog was already created before from the make install of mama. It's more a note then an error)

cecgresonant commented 4 years ago

Maria and I just had the same error. We did

make very-clean make all make install

first in the mama folder and then in the prog folder. I will add my output ASAP

fzeiser commented 4 years ago

Ok. Could you also add the output of echo $UIO_APPLICATIONS just to be sure?

cecgresonant commented 4 years ago

Sure! :)

Here is the output from the mama folder, following the steps

make very-clean
make all
make install
cp main.a ../..
    [CC] minig_custom.o
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../src minig_x.a
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C libs/minig_x minig_x.a
make[3]: `minig_x.a' is up to date.
  [LINK] mama_update
anncecil@eduroam-193-157-185-203:mama> make install
make -C src install
**mkdir -p /Applications/oslo-method-software-master/prog/bin**
for program in mama ; \
        **do install -m 0755 $program /Applications/oslo-method-software-master/prog/bin/$program; \**
    done
make -C spy install
for program in spy ; \
        **do install -m 0755 $program /Applications/oslo-method-software-master/prog/bin/$program; \**
    done
make -C update install
for program in mama_update ; \
        **do install -m 0755 $program /Applications/oslo-method-software-master/prog/bin/$program; \**
    done
anncecil@eduroam-193-157-185-203:mama> 

Here is the output when running the same steps in the folder prog:

const ame2003_mass_t ame2003_masses[] = {"""
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("""struct ame2003_mass_t {
    const int A, Z, origin)?
**mkdir /Applications/oslo-method-software-master/prog/bin
mkdir: /Applications/oslo-method-software-master/prog/bin: File exists**
make: [install] Error 1 (ignored)
for program in shiva2paw waiting funcfit gameff autofit onemev mama2pc vigs isotrop zigzag legendre decay range thetaangle xmeasure rhosigchi scatter kin readlog hex rocket neutron neutroneb thermo euler gbf gbfbranch toro fgtheo splinetest egidy sea spline2mama normalization f_model rotor nilsson  normrhof cm2lab grazing spincut rutherford fmodel tave binomial binomialc siriangle sfec alfnasort alfnamatrix webrho webstrf fitone micro robin counting gammex d2rho combi pet elise extendspin radex scissors pjolter primex diablo ; \
        **do install -m 0755 $program /Applications/oslo-method-software-master/prog/bin/$program; \**
    done
anncecil@eduroam-193-157-185-203:prog> 

Here is the output from the echo:

anncecil@eduroam-193-157-185-203:> echo $UIO_APPLICATIONS 
/Applications/oslo-method-software-master
anncecil@eduroam-193-157-185-203:> 
fzeiser commented 4 years ago

Ok, so the installation works as it should, do you agree? (Appart maybe from the fact that it is not nice that you get an error that you are supposed to ignore)

fzeiser commented 4 years ago

In addition: What happens if you go to some location of your choice and clone the repo:

cd ~
mkdir my_test
cd my_test
git clone https://github.com/oslocyclotronlab/oslo-method-software
ls

Could you output the result of ls?

cecgresonant commented 4 years ago

Ok, so the installation works as it should, do you agree? (Appart maybe from the fact that it is not nice that you get an error that you are supposed to ignore)

Indeed! But again, my point is that the link path is wrong. My output above shows that the expected path is

oslo-method-software-master/prog/bin

NOT

oslo-method-software/prog/bin

which is what you would have by following the current README.md. This is the whole problem, and can easily be fixed by just adding the "-master" .

fzeiser commented 4 years ago

worked now...