簡體   English   中英

在Windows下安裝glib時Cabal缺少對外部庫的依賴

[英]Cabal missing dependencies on foreign libraries when install glib under Windows

我需要glib才能使threadscope正常工作。 但是我無法使用cabal安裝它。 我嘗試了cabal install glib但收到以下錯誤。 我什至嘗試下載該庫並在本地安裝它,但收到相同的錯誤。

我在Windows上使用Cygwin。 我運行Cygwin安裝程序以確保我缺少庫。 我能夠找到glib,gobject但找不到gthread。

    Gtk2HsSetup.hs:25:2:
         warning: #warning Setup.hs is guessing the version of Cabal. If compilation
     of Setup.hs fails use -DCABAL_VERSION_MINOR=x for Cabal version 1.x.0 when buil
    ding (prefixed by --ghc-option= when using the 'cabal' command)
    [1 of 2] Compiling Gtk2HsSetup      ( Gtk2HsSetup.hs, dist\setup\Gtk2HsSetup.o )

    [2 of 2] Compiling Main             ( Setup.hs, dist\setup\Main.o )
    Linking .\dist\setup\setup.exe ...
    Configuring glib-0.12.0...
    setup.exe: Missing dependencies on foreign libraries:
    * Missing C libraries: gobject-2.0, gthread-2.0, glib-2.0, intl, iconv
    This problem can usually be solved by installing the system packages that
    provide these libraries (you may need the "-dev" versions). If the libraries
    are already installed but in a non-standard location then you can use the
    flags --extra-include-dirs= and --extra-lib-dirs= to specify where they are.
    cabal: Error: some packages failed to install:
    glib-0.12.0 failed during the configure step. The exception was:
    ExitFailure 1

不久前,我在原始Wiki文章中寫了一個關於如何安裝Gtk2H的小勘誤表。 這是鏈接http://progandprog.blogspot.com/2011/04/installing-gtk2hs-012-for-latest.html

我試圖在這里描述所有步驟,希望對您有所幫助。

所有這些步驟都是通過最新的Gtk2H和Haskell平台安裝完成的。 沒有安裝Cygwin和MinGW。

看來您需要先安裝gtk2hs。

這是gtk2hs存儲庫中gtk2hs的Windows安裝說明 (因此,我認為它們是最新且最新的)。

特別是,我認為您需要遵循以下幾點:

Building on Windows
--------------------

Installation on Windows is nearly as easy as on Unix platforms. However, you
need to download the pre-compiled binary libraries of Gtk+ and all it's
dependent libraries. Point your browser to

http://www.gtk.org/download-windows.html

and download one of the "All-in-one bundles". Note that you do *not* need to
install MinGW nor MSys (but it does not hurt if they are installed on your
system). Install the binaries by unpacking them into a directory without
spaces. Again, this is very important:

*** Do not install the binaries into a directory with embedded spaces. ***

Ensure that the /bin directory is added to your %PATH%. You can ensure that
everything is installed correctly if you can say

pkg-config --cflags gtk+-2.0

and you see some compiler flags that contain the path into which you have
installed the binary bundle. We had reports that the binaries containing version 2.22 do not work and that the version 2.16 gives the following errors when running cabal:

setup.exe: gtk-0.12.0: library-dirs: c:/.../dist/win64/libpng-1.4.3-1/lib doesn't exist or isn't a directory

This problem can be worked around by creating said directory and copying libpng into it. Any further feedback regarding the installation of the binary packages is welcome.

You may now install the cabal packages of Gtk2Hs into any directory you like
(including one that contains embedded spaces). Note that cabal installs the
tools necessary to build into something like

C:\Documents and Settings\%user%\Application Data\cabal\bin

Make sure that this path is also in your %PATH% variable!

ghci and Gtk2Hs on Windows

Due to the way cabal registers packages with ghc, it is quite difficult to
perform the renaming of libraries which is necessary for the binary Windows
bundle to work. As a consequence, the cabal package can do this renaming only
with Cabal 1.8 (shipped with ghc 6.12). If you use ghc 6.10 or earlier, you
need to upgrade your Cabal system to 1.8 if you want to build Gtk2Hs with ghci
support. Note that it is always possible to build executables on Windows.

完成這項工作后,您應該能夠簡單地:

cabal install gtk gtk2hs-buildtools glib

我不確定這個答案,但是至少在大多數Linux發行版中,有單獨的庫和“ dev”庫軟件包。 裸露的庫包僅包含該庫-即,僅在構建需要該程序的庫時才需要使用該庫-而“ dev”版本包含C頭文件以及構建使用該庫的程序所必需的其他內容圖書館。 Cygwin有類似的東西嗎? 如果是這樣,您是否安裝了gobject,gthread,glib等的“開發”版本?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM