1

I am building an older version of TensorFlow in WSL for SyntaxNet (now deprecated) and I get:

ERROR: It appears that the development version of libcurl is not
available. Please install the libcurl3-dev package.

I use sudo apt install libcurl3-dev and I get Note, selecting 'libcurl4-openssl-dev' instead of 'libcurl3-dev', so I finally install libcurl4-openssl-dev. When I try to set up TensorFlow again, I get the same error,

ERROR: It appears that the development version of libcurl is not
available. Please install the libcurl3-dev package.

What is the problem?

I look for the libcurl3-dev package for a manual installation, but I can not find it. The problem is related to the package or there is another limitation: For example I am setting up in WSL.

NotTheDr01ds
  • 15,620
  • 5
  • 44
  • 70
  • Welcome to Stack Overflow! I've posted an "answer", but I know it isn't going to *solve* this particular problem. In order to do that, you'll probably need to provide some more info, such as *how* you are attempting to set up TensorFlow. What instructions are you following? What step generated that error message? While I don't know if I'll be able to answer it or not, you'll likely need to provide more info for *anyone* to have a shot at it unless they've seen this exact situation themselves before. – NotTheDr01ds Aug 11 '23 at 11:42
  • Thanks. I'm installing SyntaxNet a google's NLP project which was part of tensorflow models, now it is deprecated (since 2018), so I'm using old packages. Also, it is the first time I use tensorflow: Is it necessary a GPU? For set up tensorflow I just run `./configure` in terminal. – AYRTON ROMARIO DEXTRE RAMIREZ Aug 11 '23 at 16:52
  • Hmm - Where did you obtain the SyntaxNet and/or TensorFlow you are attempting to build? According to what I found [here](https://github.com/tensorflow/models/issues/3064), SyntaxNet appeared to (a) require a manual build (as you are doing), but also a specific commit. The `[README]` for SyntaxNet even seems to be [gone](https://github.com/tensorflow/models/tree/master/research/syntaxnet). – NotTheDr01ds Aug 11 '23 at 17:47
  • And no, you may not need WSL2 and a GPU for TensorFlow - That's just the typical configuration under WSL since it has built-in support for it for many GPU's. – NotTheDr01ds Aug 11 '23 at 17:49
  • Yes. I clone the following repo https://github.com/mldbai/tensorflow-models/tree/master/syntaxnet which contain syntaxnet's models. – AYRTON ROMARIO DEXTRE RAMIREZ Aug 11 '23 at 17:58

1 Answers1

0

I did some additional research on this after the discussion in the comments. From the looks of it, there's likely no easy solution. There are, however, some possible solutions.

As far as I can tell, the last time that libcurl3-dev was included in Ubuntu was 16.04, which also seems to be the last time anyone tried to build the SyntaxNet-compatible TensorFlow on Ubuntu. At this point, of course, both 16.04 and 18.04 are out of support, but 16.04 seemed to be the target, while you are trying under 18.04.

As far as I can tell, you have three options:

  • The "easiest" might be to download the 16.04 Docker image and import it into WSL, with the understanding that it hasn't been updated in over 2 years and has a number of known vulnerabilities. As far as I can tell, libcurl3 was the default version in 16.04.

    Of course, you may run into other issues with it being an older, unsupported build, but since you are trying to compile an older, unsupported SyntaxNet/TensorFlow, it might still be the easiest path.

  • Alternatively, you could go to the opposite end of the spectrum and try to build with a supported version of Ubuntu, preferably 22.04 as the latest LTS release. Then try adapting this Ask Ubuntu answer that was originally written around installing libcurl3-dev on 18.04. The packages for 18.04 are now gone (again, unsupported), but they are still listed for the "in support" releases.

    Again, you may run into other issues here as well with the newer package versions in Ubuntu 22.04 (or even 20.04). However, since you would then be on a supported release, it would be easier to get help on these topics on Ask Ubuntu.

  • Finally, and just pie-in-the-sky, you could try to update the older TensorFlow build to use libcurl4. Whether or not this is feasible, I simply do not know.

Also, as mentioned in my previous answer, keep in mind that WSL1 does not support GPU-accelerated (DirectML) TensorFlow. However, SyntaxNet may not need GPU-acceleration, and it sounds like your system may not have a GPU in the first place.

NotTheDr01ds
  • 15,620
  • 5
  • 44
  • 70