Coder Social home page Coder Social logo

Comments (33)

ladnir avatar ladnir commented on August 20, 2024

thats correct

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

But when I run the executable, only the test case shows pass, and using -help doesn't give command help like libpsi does.

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Take a look at main. Should be pretty self explanatory. There an example where protocol messages are manually passed between parties by writing the messages to files and having other other party read the file. This example demonstrates how to pass messaged if you don't want to use something like a network socket.

There is also the performance benchmark code that computes the running time. This uses a custom socket for communication that only works within a single program, ie no tcp/ip socket.

As previously mentioned, I will be adding another example with tls support over tcp/ip.

int main(int argc, char** argv)

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i get it. so i have to write it myself. thanks

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

What are you trying to achieve?

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

I tried testing the performance metrics of this psi and I thought it would be as easy as testing using libpsi.

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

It should be easy to get performance numbers. Call frontend with

-perf -psi

You can set the log2 of the set size using -nn 10. This would run the psi with 2^10 items per set. Here area few other parameters you can set. See here

auto n = 1ull << cmd.getOr("nn", 10);

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i start to try it. And i want to know if the command of this library has help,just like libpsi.

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i get it. This repo doesn't yet allow us to import data files ourselves like libpsi does. The project has not yet been implemented

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

No, but could be added. Will be updating the code this weekend most likely.

from volepsi.

RindalVisa avatar RindalVisa commented on August 20, 2024

ok, you should be able to do everything you want now. There is a help section for frontend. You can do the PSI using a file as your set and you can now run everything over tls.

from volepsi.

RindalVisa avatar RindalVisa commented on August 20, 2024
git pull
python3 build.py -DCOPROTO_ENABLE_BOOST=ON -DCOPROTO_ENABLE_OPENSSL=ON --clean

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

Is boost a third-party library that needs to be downloaded and installed like openssl?

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

It's a third party library. The default behavior is to look for boost on the system and if not found then to automatically download it for you. Are you getting issues with boost?

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i use "python3 build.py -DCOPROTO_ENABLE_BOOST=ON -DCOPROTO_ENABLE_OPENSSL=ON",but it doesn't work.

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Did you use --clean?

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

CMake Error: Unknown argument --clean

from volepsi.

ladnir avatar ladnir commented on August 20, 2024
git pull
python3 build.py -DCOPROTO_ENABLE_BOOST=ON -DCOPROTO_ENABLE_OPENSSL=ON --clean 

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

What OS are you on?

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Assuming linux means Ubuntu sudo apt-get install openssl openssl-dev

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i have downloaded openssl.

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

OpenSSL 3.0.5 5 Jul 2022 (Library: OpenSSL 3.0.5 5 Jul 2022)

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

maybe it's not openssl. I reloaded volepsi yesterday and there was no such thing, just a mistake at the beginning. After re-downloading and pulling again today, there is this problem.

i will try to delete all clean

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Should be as the readme says:

git clone https://github.com/Visa-Research/volepsi.git
cd volepsi
python3 build.py  -DCOPROTO_ENABLE_BOOST=ON -DCOPROTO_ENABLE_OPENSSL=ON

the issue is that you are manually building libOTe with the wrong parameters.

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Please post the full output of

cd .\thirdparty\libOTe\thirdparty\coproto\
python3 .\build.py -DCOPROTO_ENABLE_BOOST=ON -DCOPROTO_ENABLE_OPENSSL=ON

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

From that folder (coproto), can you remove the out/ folder and rerun build.py and post the result.

I'm a bit confused about this error. It appears you have openssl but you can't linking the openssl library.

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

And now cmake --build out/build/linux --verbose

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

This seems a bit complicated.
The issue appears to be a conflict between the version of openssl being included and linked. It seems that the library is doing #include <openssl/ssl.h> and this is given a newer version of openssl compared to the one being linked /usr/lib64/libssl.so. Maybe you have multiple versions of openssl installed?

Can you add

    message("OPENSSL_INCLUDE_DIR=${OPENSSL_INCLUDE_DIR}")
    message("OPENSSL_SSL_LIBRARY=${OPENSSL_SSL_LIBRARY}")
    message("OPENSSL_LIBRARIES  =${OPENSSL_LIBRARIES}")
    message("OPENSSL_VERSION    =${OPENSSL_VERSION}")

to the end of .../coproto/cmake/coprotoFindDeps.cmake.

One test to see if you have an openssl version conflict would be to

mkdir /usr/lib64/temp
mv /usr/lib64/libssl.* /usr/lib64/temp/
mv /usr/lib64/libcrypto.* /usr/lib64/temp/

Later you can move these back if you want, i.e. mv /usr/lib64/temp/* /usr/lib64/. Then rebuild coproto.

rm -rf out/
cmake -S . -B out/build/linux/ -DCOPROTO_ENABLE_BOOST=ON -DCOPROTO_ENABLE_OPENSSL=ON
cmake --build out/build/linux --verbose

Post the output of this...

This will tell us if cmake can find some other version of openssl on your system, hopefully the same version that #include <openssl/ssl.h> is finding.

Alternatively, we could build openssl from source and directly use that version. That is a bit involved and havent needed to do that in the past.

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i remember that linux has openssl and i also download new openssl.

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Can you Uninstaller the apt-get version?

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

my os uses yum

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Well not sure. You can try to Uninstaller your version of openssl. Or you can use a docker/contain/vm.

from volepsi.

nihaoqingtuan avatar nihaoqingtuan commented on August 20, 2024

i will try again

from volepsi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.