soarlab / maline

Android Malware Detection Framework
GNU Affero General Public License v3.0
81 stars 31 forks source link

Cannot create virtual box by "vagrant up" #18

Open Anemone95 opened 6 years ago

Anemone95 commented 6 years ago

After I run the command vagrant up, I get an error like this:

    default: R-3.1.1/doc/html/Search.html
    default: R-3.1.1/doc/html/SearchOn.html
    default: R-3.1.1/doc/html/up.jpg
    default: tar:
    default: Exiting with failure status due to previous errors
    default: Error while extracting the source code for R-3.1.1
    default: make:
    default: *** [R] Error 102
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

The error seems to happen in compiling R-3.1.1. By the way, I use Windows 10.0.16299, and Vagrant 2.0.1. Is there any solutions?

mdimjasevic commented 6 years ago

Hi @Anemone0! I am not sure what is happening here. Maybe it is a (temporary) connectivity issue with your virtual machine in Vagrant? Can you try once more? Just make sure to remove any leftovers of this broken VM.

zvonimir commented 6 years ago

I tried going vagrant up on my machine, and this is how the process ends:

    default: installing packages ...
    default:   building HTML index ...
    default: make[3]: Leaving directory `/vagrant/tmp/R-3.1.1/src/library'
    default: make[2]: Leaving directory `/vagrant/tmp/R-3.1.1/src'
    default: make[2]: Entering directory `/vagrant/tmp/R-3.1.1/tests'
    default: make[2]: Nothing to be done for `install'.
    default: make[2]: Leaving directory `/vagrant/tmp/R-3.1.1/tests'
    default: make[1]: Leaving directory `/vagrant/tmp/R-3.1.1'

I suspect that means that everything got installed properly.

zvonimir commented 6 years ago

Ok, on my Windows 10 machine running the latest versions of vagrant and VirtualBox, I do get the same exact error as @Anemone0. If I scroll back in the log, I also noticed these:

    default: R-3.1.1/src/library/Recommended/boot.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/boot.tgz: Cannot create symlink to `boot_1.3-11.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/boot_1.3-11.tar.gz
    default: R-3.1.1/src/library/Recommended/class.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/class.tgz: Cannot create symlink to `class_7.3-10.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/class_7.3-10.tar.gz
    default: R-3.1.1/src/library/Recommended/cluster.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/cluster.tgz: Cannot create symlink to `cluster_1.15.2.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/cluster_1.15.2.tar.gz
    default: R-3.1.1/src/library/Recommended/codetools.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/codetools.tgz: Cannot create symlink to `codetools_0.2-8.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/codetools_0.2-8.tar.gz
    default: R-3.1.1/src/library/Recommended/foreign.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/foreign.tgz: Cannot create symlink to `foreign_0.8-61.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/foreign_0.8-61.tar.gz
    default: R-3.1.1/src/library/Recommended/KernSmooth.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/KernSmooth.tgz: Cannot create symlink to `KernSmooth_2.23-12.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/KernSmooth_2.23-12.tar.gz
    default: R-3.1.1/src/library/Recommended/lattice.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/lattice.tgz: Cannot create symlink to `lattice_0.20-29.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/lattice_0.20-29.tar.gz
    default: R-3.1.1/src/library/Recommended/Makefile.in
    default: R-3.1.1/src/library/Recommended/Makefile.win
    default: R-3.1.1/src/library/Recommended/MASS.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/MASS.tgz: Cannot create symlink to `MASS_7.3-33.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/MASS_7.3-33.tar.gz
    default: R-3.1.1/src/library/Recommended/Matrix.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/Matrix.tgz: Cannot create symlink to `Matrix_1.1-4.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/Matrix_1.1-4.tar.gz
    default: R-3.1.1/src/library/Recommended/mgcv.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/mgcv.tgz: Cannot create symlink to `mgcv_1.8-0.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/mgcv_1.8-0.tar.gz
    default: R-3.1.1/src/library/Recommended/nlme.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/nlme.tgz: Cannot create symlink to `nlme_3.1-117.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/nlme_3.1-117.tar.gz
    default: R-3.1.1/src/library/Recommended/nnet.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/nnet.tgz: Cannot create symlink to `nnet_7.3-8.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/nnet_7.3-8.tar.gz
    default: R-3.1.1/src/library/Recommended/rpart.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/rpart.tgz: Cannot create symlink to `rpart_4.1-8.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/rpart_4.1-8.tar.gz
    default: R-3.1.1/src/library/Recommended/spatial.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/spatial.tgz: Cannot create symlink to `spatial_7.3-8.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/spatial_7.3-8.tar.gz
    default: R-3.1.1/src/library/Recommended/survival.tgz
    default: tar:
    default: R-3.1.1/src/library/Recommended/survival.tgz: Cannot create symlink to `survival_2.37-7.tar.gz'
    default: : Protocol error
    default: R-3.1.1/src/library/Recommended/survival_2.37-7.tar.gz

I am not sure if this is the root cause or not. Btw, my hunch is also that this problem is not related to ssh, but rather to unpacking/installing R. I am not sure though. It also seems to be happening only in newer versions of vagrant/VirtualBox. It could also be that Ubuntu 12.04 is not well-supported in these new versions. So maybe updating to 14.04 would help. Just brainstorming.

zvonimir commented 6 years ago

It seems to maybe be related to this: https://stackoverflow.com/questions/17895256/creating-symbolic-link-protocol-error

Anemone95 commented 6 years ago

@zvonimir is right. When vagrant up, the project directory is mounted to VirtualBox. Build scripts need to hard link to compile R-3.1.1, but NTFS does not support this. (You can see this process in env/emulab/prepare-dataanalysis.sh):

cd ${MALINE}
mkdir tmp opt
cd tmp

# get the source code for R-3.1.1
wget http://cran.at.r-project.org/src/base/R-3/R-3.1.1.tar.gz
if [ $? -ne 0 ]; then
    echo "Error while downloading the source code for R-3.1.1"
    exit 101
fi

tar -xvf R-3.1.1.tar.gz
if [ $? -ne 0 ]; then
    echo "Error while extracting the source code for R-3.1.1"
    exit 102
fi

cd R-3.1.1

./configure --with-x=no --prefix=${MALINE}/opt/R-3.1.1/
if [ $? -ne 0 ]; then
    echo "Error while configuring R-3.1.1"
    exit 103
fi

make
if [ $? -ne 0 ]; then
    echo "Error during the make process for-R 3.1.1"
    exit 104
fi

So I changed the compilation path to the user's home directory and succeeded. Line 5- 7 in env/emulab/prepare-dataanalysis.sh:

cd /home/vagrant
mkdir tmp opt
cd tmp

However, I am not sure if such changes will affect the normal operation of the program.