Coder Social home page Coder Social logo

Comments (12)

ladnir avatar ladnir commented on August 20, 2024

set VOLE_PSI_PIC to be true. https://github.com/Visa-Research/volepsi/blob/main/cmake/buildOptions.cmake#L46. i.e.

cmake -DVOLE_PSI_PIC=true ... or python3 -DVOLE_PSI_PIC=true

from volepsi.

TY-cc avatar TY-cc commented on August 20, 2024

Thank you. I have try to use this way, but report error as follow:

[ 13%] Linking CXX shared library libvolePSI.so
/usr/bin/ld: /home/cc/VOLE/volepsi-main/out/install/linux/lib/libcoproto.a(SocketScheduler.cpp.o): relocation R_X86_64_PC32 against symbol `_ZTVSt12system_error@@GLIBCXX_3.4.11' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status

On the other hand,I have a problem. I try to set "-fPIC" about sub-library, they have "libOTe.a", "libcrytoTools.a", and "libcoproto.a". I added the instruction ' set _ property ( TARGET XXX PROPERTY POSITION _ INDEPENDENT _ CODE ON ) ' to their cmake file, the libOTe.a and libcrytoTools.a compile success, but the libcoproto.a report same error. why?

from volepsi.

TY-cc avatar TY-cc commented on August 20, 2024

I cleaned up the previous installation using “--clean” and rebuilt it using “python3 build.py-DCOPROTO _ ENABLE _ BOOST = ON-DCOPROTO _ ENABLE _ OPENSSL = ON-DVOLE _ PSI _ PIC = true”. A new error occurred, but the error type is the same

/usr/bin/ld: /home/cc/VOLE/volepsi-main/out/install/linux/lib/libbitpolymul.a(bc.cpp.o): relocation R_X86_64_PC32 against symbol `_ZN3bpm6_sh_opE' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

yeah, that one might be a bit tricky. That library has assembly in it and I'm not totally sure if we can set PIC for it. But we can try,

in out/bitpolymul/bitpolymul/CMakeLists.txt, you can add -fPIC to the target_compile_options command. You will then need to delete

out/install
out/libOTe/out/install

and then call python3 build.py

from volepsi.

TY-cc avatar TY-cc commented on August 20, 2024

Cool, your method succeeded. I tried add 'add _ compile _ options ( -fPIC ) ' in /bitpolymul/bitpolymul/CMakeLists.txt, but it was useless. Here, -fPIC must be added to target _ compile _ options.
Thank you for your reply

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

Great, we can leave this open and when I have time I'll fix this in bitpolymul and close it.

from volepsi.

TY-cc avatar TY-cc commented on August 20, 2024

All right, listen to your arrangement. Thanks again

from volepsi.

RindalVisa avatar RindalVisa commented on August 20, 2024

ok. the PIC flag should now hopefully work better. Changed the option name to VOLE_PSI_ENABLE_PIC but i think VOLE_PSI_PIC should still work. See the readme.

from volepsi.

TY-cc avatar TY-cc commented on August 20, 2024

I want to remove the version number of the library. How to i modify it ? thanks

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

I doubt that's what you actually want to do. Why would you want to remove it?

If you really want to know it's in cmake I believe.

from volepsi.

TY-cc avatar TY-cc commented on August 20, 2024

I wrote a new interface in the dynamic library to facilitate my own call. But this requires a link soft link can be done. I know that the library 's version information is in the vole-main / volepsi / cmakelist file, please forgive me for trying to get lazy. Sorry

from volepsi.

ladnir avatar ladnir commented on August 20, 2024

OK, glad you figured it out

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.