call-haskell-from-anything icon indicating copy to clipboard operation
call-haskell-from-anything copied to clipboard

Missing dependency on a foreign library

Open manzznam opened this issue 8 years ago • 6 comments

I tried to install the package with CygWin on Windows 10 and got the following error:

Determining GHC version: 8.0.1
cabal.exe: Missing dependency on a foreign library:
* Missing C library: HSrts-ghc8.0.1
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.
cabal: Leaving directory 'C:\Users\Manfred\AppData\Local\Temp\cabal-tmp-1208\call-haskell-from-anything-1.0.1.0'
cabal: Error: some packages failed to install:
call-haskell-from-anything-1.0.1.0 failed during the configure step. The
exception was:
ExitFailure 1

With the use of Cygwin i solved the problem with the configure script in issue #13. Where is the location of this HSrts-ghc8.0.1 library by default?

manzznam avatar Jun 30 '16 17:06 manzznam

Where is the location of this HSrts-ghc8.0.1 library by default?

Oh well. I'll try to boot up a Windows to answer this question.

nh2 avatar Jun 30 '16 21:06 nh2

In the meantime i tried it also with "stack" tool and "stack install call-haskell-from-anything" and got a similar error only with GHC version 7.10.3.

C:\Users\Manfred>stack install call-haskell-from-anything
Run from outside a project, using implicit global project config
Using resolver: lts-6.5 from implicit global project's config file: C:\Users\Manfred\AppData\Roaming\stack\global-project\stack.yaml
call-haskell-from-anything-1.0.1.0: configure

--  While building package call-haskell-from-anything-1.0.1.0 using:
      C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\.stack-work\dist\2672c1f3\setup\setup --builddir=.stack-work\dist\2672c1f3 configure --with-ghc=C:\Users\Manfred\AppData\Local\Programs\stack\x86_64-windows\ghc-7.10.3\bin\ghc.exe --with-ghc-pkg=C:\Users\Manfred\AppData\Local\Programs\stack\x86_64-windows\ghc-7.10.3\bin\ghc-pkg.exe --user --package-db=clear --package-db=global --package-db=C:\Users\Manfred\AppData\Roaming\stack\snapshots\bdebfcf9\pkgdb --package-db=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\pkgdb --libdir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\lib --bindir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\bin --datadir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\share --libexecdir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\libexec --sysconfdir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\etc --docdir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\doc\call-haskell-from-anything-1.0.1.0 --htmldir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\doc\call-haskell-from-anything-1.0.1.0 --haddockdir=C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\install\793afecd\doc\call-haskell-from-anything-1.0.1.0 --dependency=base=base-4.8.2.0-14035a44a8b95c6832da6dae1420f59e --dependency=bytestring=bytestring-0.10.6.0-342400f3bb78fee60dde2cecf10f8e3b --dependency=msgpack=msgpack-1.0.0-989da699a2ef20d7beb2a27a39f7d221 --dependency=mtl=mtl-2.2.1-b85491d29485f54f395006786223e6a0 --dependency=template-haskell=template-haskell-2.10.0.0-bcb07fec12f32563bb45d7fb009640b1 --dependency=vector=vector-0.11.0.0-2ce50bc0eff5c877562e8cc16c8366f6 --extra-include-dirs=C:\Users\Manfred\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\include --extra-lib-dirs=C:\Users\Manfred\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib
    Process exited with code: ExitFailure 1
    Logs have been written to: C:\Users\Manfred\AppData\Roaming\stack\global-project\.stack-work\logs\call-haskell-from-anything-1.0.1.0.log

    [1 of 1] Compiling Main             ( C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\Setup.hs, C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\.stack-work\dist\2672c1f3\setup\Main.o )
    Linking C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\.stack-work\dist\2672c1f3\setup\setup.exe ...
    Configuring call-haskell-from-anything-1.0.1.0...
    Determining GHC version: 7.10.3
    setup.exe: Missing dependency on a foreign library:
    * Missing C library: HSrts-ghc7.10.3
    This problem can usually be solved by installing the system package that
    provides this library (you may need the "-dev" version). If the library is
    already installed but in a non-standard location then you can use the flags
    --extra-include-dirs= and --extra-lib-dirs= to specify where it is.

manzznam avatar Jul 03 '16 09:07 manzznam

I don't think it's Windows-specific. I get the same problem with GHC 8.0.1 on Linux, and adding extra-lib-dirs and extra-include-dirs to .stack/config.yaml didn't help.

jchia avatar Aug 08 '16 16:08 jchia

And the workaround here doesn't work - https://stackoverflow.com/questions/34267376/haskell-missing-c-library-on-arch-linux-works-on-ubuntu# ?

mgsloan avatar Aug 08 '16 20:08 mgsloan

@jchia How do you try with GHC 8, what version of https://hackage.haskell.org/package/msgpack do you use?

nh2 avatar Aug 08 '16 22:08 nh2

@nh2 I used a patched version of the the msgpack/msgpack-haskell on github: https://github.com/jchia/msgpack-haskell/commit/64485b70daade805148bd7c096a5dc13a0bc5627

This is a project setup that has the build error: https://gist.github.com/jchia/09e631bdd44351f7772f3892f4a9f651

jchia avatar Aug 09 '16 00:08 jchia