haskell icon indicating copy to clipboard operation
haskell copied to clipboard

Library won't compile.

Open noahmartinwilliams opened this issue 3 years ago • 2 comments

This is the error I keep getting when I run "stack build" : `tensorflow > configure (lib) tensorflow > Configuring tensorflow-0.3.0.0... tensorflow > Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.4: Missing dependency on a foreign tensorflow > library: tensorflow > * Missing (or bad) C library: tensorflow tensorflow > This problem can usually be solved by installing the system package that tensorflow > provides this library (you may need the "-dev" version). If the library is tensorflow > already installed but in a non-standard location then you can use the flags tensorflow > --extra-include-dirs= and --extra-lib-dirs= to specify where it is.If the tensorflow > library file does exist, it may contain errors that are caught by the C tensorflow > compiler at the preprocessing stage. In this case you can re-run configure tensorflow > with the verbosity flag -v3 to see the error messages. tensorflow > Progress 1/5

-- While building package tensorflow-0.3.0.0 (scroll up to its section to see the error) using: /home/noah/.stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.4 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-3.0.1.0 configure --with-ghc=/home/noah/.stack/programs/x86_64-linux/ghc-tinfo6-8.8.4/bin/ghc-8.8.4 --with-ghc-pkg=/home/noah/.stack/programs/x86_64-linux/ghc-tinfo6-8.8.4/bin/ghc-pkg-8.8.4 --user --package-db=clear --package-db=global --package-db=/home/noah/.stack/snapshots/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/pkgdb --package-db=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/pkgdb --libdir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/lib --bindir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/bin --datadir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/share --libexecdir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/libexec --sysconfdir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/etc --docdir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/doc/tensorflow-0.3.0.0 --htmldir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/doc/tensorflow-0.3.0.0 --haddockdir=/home/noah/src/package-sources/haskell-packages/accelerate-tensorflow/extra-deps/tensorflow-haskell/.stack-work/install/x86_64-linux-tinfo6/5f87740c7e101397b17aa2ac8685c9748e89ee26d08aaeabf4dc8d36af0864b1/8.8.4/doc/tensorflow-0.3.0.0 --dependency=async=async-2.2.2-KJKVlh0cMBrJuriUQALiHZ --dependency=attoparsec=attoparsec-0.13.2.4-HW2We22p35a4B78Ivj8S0o --dependency=base=base-4.13.0.0 --dependency=bytestring=bytestring-0.10.10.1 --dependency=containers=containers-0.6.2.1 --dependency=data-default=data-default-0.7.1.1-5cjrhz8y8DG881Qqkxq9GB --dependency=exceptions=exceptions-0.10.4-6ENJVzINLe28VlhOUrvEZK --dependency=fgl=fgl-5.7.0.3-HNyWLMXtEuHH0MXVxvGwjB --dependency=lens-family=lens-family-2.0.0-70BUOMvFPr5EGLTPNhxGJO --dependency=mainland-pretty=mainland-pretty-0.7.0.1-68pdUneslOz63guIchO2ON --dependency=mtl=mtl-2.2.2 --dependency=proto-lens=proto-lens-0.7.0.0-LJRw6tZDH9P6i67SRhJCoB --dependency=semigroups=semigroups-0.19.1-KswQSjRjA2JDrzoYmnhZUy --dependency=split=split-0.2.3.4-KyPtAwfJzED2zEIheQpqQL --dependency=temporary=temporary-1.3-8J4CbYC9Bae4gdkn7lOATi --dependency=tensorflow-proto=tensorflow-proto-0.3.0.0-7Pv5VPsqLOM2iwjBzqvuGT --dependency=text=text-1.2.4.0 --dependency=transformers=transformers-0.5.6.2 --dependency=vector=vector-0.12.1.2-AWRYcz9jfa25Avs2q9Jg9V --extra-include-dirs=/usr/local/include --extra-include-dirs=/usr/include --extra-lib-dirs=/usr/local/lib --extra-lib-dirs=/usr/lib --exact-configuration --ghc-option=-fhide-source-paths Process exited with code: ExitFailure 1 ` I've installed tensorflow 2.3.0 for the gpu at /usr/lib, with the headers at /usr/include. I'm using the latest version of Manjaro Linux, and stack version 2.7.5.

noahmartinwilliams avatar Mar 21 '22 18:03 noahmartinwilliams

Hi. Did you give the --extra-include-dirs= and --extra-lib-dirs= part a try?

I've forgotten where cabal looks for libraries. In our CI, we are putting them in /usr/local/lib and /usr/local/include: https://github.com/tensorflow/haskell/blob/master/ci_build/Dockerfile#L40. If /usr/{lib,include} aren't included by default, you could try adding them at https://github.com/tensorflow/haskell/blob/master/stack.yaml#L23-L26.

fkm3 avatar Mar 22 '22 02:03 fkm3

Yes. I've also tried moving everything to /usr/local/lib and /usr/local/include, and that didn't work either. I remember that with cabal I used to need to pass it something like "--ghc-options=-dynamic" for arch-based distros, but I don't know how to do that with stack.

noahmartinwilliams avatar Mar 22 '22 14:03 noahmartinwilliams