Using Concrete in a Jupyter Notebook

Hi, i’m an enthusiast of FHE and i’m new in Concrete.
I’m using Jupyter Notebook with a Rust kernel, and i’m trying to reproduce the code on the Concrete Documentation, but this following error message is appearing to me:

While processing instruction Ok("LOAD_AND_RUN /tmp/.tmpUMA6R7/target/debug/deps/ run_user_code_20"), got error: Message("/tmp/.tmpUMA6R7/target/debug/deps/ undefined symbol: ZN13concrete_core4math6random14uniform_binary144$LT$impl$u20$concrete_core…math…random…RandomGenerable$LT$concrete_core…math…random…uniform_binary…UniformBinary$GT$$u20$for$u20$u64$GT$12generate_one17h902fc20b708f5eeaE")

Please can someone help me with this? Is there anything I can do to solve it?

Hi @Vanessa! May I ask for a bit more details? Are you trying to use Concrete Numpy, or the Rust library directly? What part of our documentation are you referring to?

1 Like

I’m trying to use the Rust library.
I’m using this documentation doc.
For example, the error message appears after I run this following part of code:

let secret_key = LWESecretKey::new(&LWE128_630);

I successfully imported some libraries.

Oh, I’ve never tried to use concrete inside a notebook, but maybe you need to import concrete-core as well?

Still doesn’t work :frowning:

It seems to me that there were internal modifications that are causing incompatibility.

I’m not seeing the method mentioned in the error message.

Another example of error.

So how do you specify which version of concrete you use? By the way, concrete-core is really the low-level library: it requires an extensive knowledge of TFHE to build secure programs. The concrete crate is built on top of it and its aim is to provide the user with easier-to-use entry points. I don’t know what you intend to do with the notebook but probably for a start it’s better to use only instructions available via concrete. :slight_smile: Still, it’s really strange that you have this version incompatibility: what are the concrete and concrete-core versions you’re using?

I think I’m going to cry here.

Even if I specify version 0.1.11 and only use concrete there is still an error message.

Oh, now you have a dependency issue with the concrete-commons crate. May I ask you to try specifying these version numbers for the crates:

  • concrete-core = “=0.1.10”
  • concrete-npe = “=0.1.9”
  • concrete-commons = “=0.1.1”

Still doesn’t work :frowning:

Hello @Vanessa! So, we have reproduced this behavior on our side too. However, we don’t know yet what is causing it: we’re opening an issue in the evcxr repository to ask them for advice here. I’ll keep you posted about a possible fix.

Best regards,

Ok, I will be waiting.