heide-support / HEIDE

GNU General Public License v2.0
6 stars 4 forks source link

BGV_HE bug #1

Open hosama opened 8 years ago

hosama commented 8 years ago

Hi

I have faced the following bug when I tried to install the IDE

hosam@hosam-OptiPlex-990:~/HEIDE-master/BGV_HE$ make tests g++ -g -O2 -Wfatal-errors -Wshadow -Wall -I/usr/local/include -I/home/hosam/HElib-master/src/ -o validation_test validation_test.cpp bgv_he.a -L/usr/local/lib -lntl -lgmp -lm bgv_he.a(EvalMap.o): In function EvalMap::apply(Ctxt&) const': /home/hosam/HElib-master/src/EvalMap.cpp:410: undefined reference tomat_mul1D(EncryptedArray const&, Ctxt&, PlaintextMatrixBaseInterface const&, long)' /home/hosam/HElib-master/src/EvalMap.cpp:394: undefined reference to mat_mul1D(EncryptedArray const&, Ctxt&, PlaintextBlockMatrixBaseInterface const&, long)' /home/hosam/HElib-master/src/EvalMap.cpp:401: undefined reference tomat_mul1D(EncryptedArray const&, Ctxt&, PlaintextMatrixBaseInterface const&, long)' /home/hosam/HElib-master/src/EvalMap.cpp:417: undefined reference to `mat_mul1D(EncryptedArray const&, Ctxt&, PlaintextBlockMatrixBaseInterface const&, long)' collect2: error: ld returned 1 exit status make: *\ [validation_test] Error 1

What's the matter so far ?

Note : HElib in the new ubdate require to you nt9.4 or higher

heide-support commented 8 years ago

This isn't a ntl error.

HElib refactored some things.

I think there used to be a mat_mul function which did the same thing in EncryptedArrayBase.cpp but it was changed to mat_mul1D and now is in matrix.cpp.

I haven't keep up with newer changes to HElib so I didn't know this had happened. As such matrix.o wasn't included in the list files to reference when compiling. It has been added now.

I went through and did a fresh install on a new linux vm with the change and didn't run into any errors during installation, so you should be good.

hosama commented 8 years ago

Thanks mate , BGV_HE has be installed well now.

However, PyHE seems like it doesn't wont to be installed !!

I faced errors similar to what I faced faced with BGV_HE before and it has affected the rest of installation I may ask you kindly to check the whole installation steps to see if there anything wrong. Also, I'd like to know wherever if there any prerequisites for either of the OS (I'm using ubuntu 14.4) or C++/python libraries/setting

heide-support commented 8 years ago

Could you post the error that you are getting so I have a better idea of what the problem might be.

For reference, I am using ubuntu-14.0.4.3-desktop-amd64.iso to create a vm.

I partitioned a new vm and then followed all the install steps.

So it should be able to run on a pretty bare bones system.

hosama commented 8 years ago

Sure, that it:

sudo HELIB_BASE=$HELIB_BASE python setup.py install running install running build running build_ext cythoning ./src/PyHE.pyx to ./src/PyHE.cpp building 'PyHE' extension creating build creating build/temp.linux-i686-2.7 creating build/temp.linux-i686-2.7/src creating build/BGV_HE creating build/temp.linux-i686-2.7/home creating build/temp.linux-i686-2.7/home/hosam creating build/temp.linux-i686-2.7/home/hosam/HElib-master creating build/temp.linux-i686-2.7/home/hosam/HElib-master/src x86_64-linux-gnu-g++ -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/hosam/HElib-master/src/ -I/usr/include/python2.7 -c ./src/PyHE.cpp -o build/temp.linux-i686-2.7/./src/PyHE.o -DNDEBUG -g -fwrapv -O2 -Wall unable to execute 'x86_64-linux-gnu-g++': No such file or directory error: command 'x86_64-linux-gnu-g++' failed with exit status 1 hosam@hosam-Studio-1555:~/HEIDE-master/PyHE$

In fact, I should know all prerequisites for installing , especially for python , I'm using python2.7 but I tried to install all required packages under python3

heide-support commented 8 years ago

This could be either that you don't have g++ installed or you need to create a symbolic link for x86_64-gnu-g++.

If

> which g++

results in

/usr/bin/g++

then

ln -s /usr/bin/g++ /usr/bin/x86_64-linux-gnu-g++

otherwise

sudo apt-get install g++

Then try to install again.