# This script file describes succintly what i wish to do with my program. # When i enter the following list of commands manually into a terminal this works fine and i can configure, make, install and uninstall the software at will. # download and extract files wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz tar -xzf hello-2.1.1.tar.gz # compile downloaded software cd hello-2.1.1 ./configure make sudo make install make clean # move folder to a different location cd .. cp -r ./hello-2.1.1 ~ # change to the copy of the folder in this new location and # uninstall the software from the system, using the copy of the original folder in the new location. cd ~/hello-2.1.1 sudo make uninstall ********************************* # In my script software i am essentially performing the same procedure as above but the functionality is split between several script wrappert files. # The following commands are all called via a test script, called usig sudo so the whole script runs with superuser priviliges # download and extract files wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz = contained within ./download.sh tar -xzf hello-2.1.1.tar.gz = contained within ./untar.sh cd hello-2.1.1 = contained within compile.sh ./configure = contained within compile.sh make = contained within compile.sh make install = contained within install.sh make clean = contained within install.sh cd .. = contained within install.sh cp -r ./hello-2.1.1 /usr/share/merlin = contained within install.sh # Note in my script software the above line is slightly modified compared with the manual procedure. # Instead of making a copy of the folder in ~ a copy is made in a system folder /usr/share/merlin. # This can be done by BASH as all these commands are contained in a script that is run as root. rm -r ./hello-2.1.1 # note that this line is not in the original procedure, we delete the original copy of the folder = contained within install.sh # since we have a safe copy in a new location. cd /usr/share/merlin/hello-2.1.1 = contained within uninstall.sh make uninstall = contained within uninstall.sh # Despite the fact that these two processes are essentially equivalent as far as i can see the scripted version of the procedure does not work. # When my test script executes uninstall.sh, as soon as the 'make uninstall' line is reached the whole thing grinds to a halt # The following error is generated: /home/ste/merlin/hello-2.1.1/missing: line 46: aclocal-1.6: command not found WARNING: `aclocal-1.6' is missing on your system. You should only need it if you modified `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site. /bin/sh: /home/ste/merlin/hello-2.1.1/missing: No such file or directory make: *** [Makefile.in] Error 127 # NB: Im sure automake and perl are on my system: normally i can compile and install code without problems using autotools. # Note that i tried to solve the bug by rewriting my script so that all textual occurences of "/home/ste/merlin" are replaced # with "/usr/share/merlin" in all the makefiles and scripts etc within /usr/share/merlin/hello-2.1.1 however this makes no difference; i still get this error. # As far as i can tell i have not modified the files mentioned in the error message, so i have no idea why im getting this error! Completely stumped! :) # if you could help me out i can be contacted at address@hidden or via the list. # Cheers! :)