Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library won't compile. #276

Open
noahmartinwilliams opened this issue Mar 21, 2022 · 2 comments
Open

Library won't compile. #276

noahmartinwilliams opened this issue Mar 21, 2022 · 2 comments

Comments

@noahmartinwilliams
Copy link

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.

@fkm3
Copy link
Contributor

fkm3 commented Mar 22, 2022

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.

@noahmartinwilliams
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants