cabal + proxy: downloading packages from hackage - windows

I'm using Haskell Platform 7.10.2-a (64-bit) on Windows:
>cabal -V
cabal-install version 1.22.6.0
using version 1.22.4.0 of the Cabal library
My proxy requires (basic HTTP) authentication:
>set http_proxy=http://user:passwd#acme.com:port
It seems to work for cabal update:
> cabal update
Downloading the latest package list from hackage.haskell.org
Skipping download: Local and remote files match.
However, when I try to install any package, it fails:
> cabal get ghc-mod
Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal
update' to download it.
cabal: There is no package named 'ghc-mod'.
>cabal install shelltestrunner
Warning: The package list for 'hackage.haskell.org' does not exist. Run 'cabal
update' to download it.
cabal: There is no package named 'shelltestrunner'.
You may need to run 'cabal update' to get the latest list of available
packages.
How can I get get or install to actually use the proxy? Or is there some other problem preventing installation of packages from hackage?

I may have found the cause, when using cabal -v update, it displays path like
\\ACME.NET\UserData\username\RF\AppData\Roaming\cabal\packages\hackage.haskell.org\00-index.tar.gz
while other uses of cabal use path like C:\Users\username\AppData\.., but without the RF folder in the displayed path. Must be my company network server config. Anyway, I updated paths like remote-repo-cache to use another folder in cabal/config and it works better now.

Related

Installing make with MobaXterm

Here is the command I'm running
apt-get install make
Here is the error output I'm getting
Found package make
Installing make
Unpacking make-4.2.1-1.tar.xz...
Extracting dependencies for usr/bin/make.exe...
Package make requires the following packages, installing cygwin libguile17 libintl8
Package cygwin is already installed, skipping
Found package libguile17
Installing libguile17
Downloading libguile17-1.8.8-1.tar.xz...
Downloading /home/mobaxterm/.aptcyg/http%3a%2f%2fmirrors.kernel.org%2fsourceware%2fcygwin/release/libguile17/libguile17-1.8.8-1.tar.xz using Windows internet settings
sha512sum: can't open 'libguile17-1.8.8-1.tar.xz': No such file or directory
/bin/apt-cyg: line 476: test: 94f5e268a2f32d7c6b19747792a18d13f468779daca46bdd20aa99d63931c4fe8071a460e62db9d1779b15fee167ce7c6c65a0e90e61225cf8be12e3a14a2252: unary operator expected
md5sum: can't open 'libguile17-1.8.8-1.tar.xz': No such file or directory
/bin/apt-cyg: line 479: test: 94f5e268a2f32d7c6b19747792a18d13f468779daca46bdd20aa99d63931c4fe8071a460e62db9d1779b15fee167ce7c6c65a0e90e61225cf8be12e3a14a2252: unary operator expected
Checksum did not match, exiting
Found package libintl8
Package libintl8 is already included, skipping
Package make installed.
Is there anyone who has GNU make running on MobaXTerm and who would like to help?
Run this command, it worked for me at least.
apt-get --legacy install libguile17
I normally collect the Development plugins from http://mobaxterm.mobatek.net/plugins/Development.mxt3
Once the .mxt3 files are getting downloaded, moved them to the installed folder where the MobaXterm_.exe is there, this location could be in Program Files if you are using installer edition or the extracted folder incase of zip.
Please restart the MobaXtern once.
After restarting MobaXterm, this will work like a champ.
Hope if this solves your issue.

How to install wxHaskell?

I have downloaded the latest Haskell Platform(8.0.1 version) for Windows 7, wxWidgets-3.0.2, set all the needed environment variables. I have successfully installed "wxdirect" using "cabal install", but when I try to install "wxc" it fails. Install logs:
C:\wxWidgets-3.0.2\lib\gcc_dll\mswud\..: getDirectoryContents: does not exist
(The system cannot find the path specified.)
cabal: Leaving directory '.'
Where do I need to get that "gcc_dll\mswud\" folder?
P.S Neither Abriline nor Achelanne works for me for some reason.
P.P.S I tried to install this library following Haskell-wiki instructions, but it didn't work complaining about a ton of dependencies.
UPDATE
I tried installing the wxHaskell using Haskell Platform 2014.2.0.0 with Abriline installer. It stopped on building wxc. Logs:
Building wxc
setup.exe: Maybe.fromJust: Nothing
1] Compiling Main ( wxc-0.92.2.0\dist\setup\setup.hs, wxc-0.92.2.0\dist\setup\Main.o )
Linking .\wxc-0.92.2.0\dist\setup\setup.exe ...
The bitness is correct
Configuring wxc-0.92.2.0...
Configuring wxc to build against wxWidgets 3.0.2
cabal: Leaving directory '.\wxc-0.92.2.0'
UPDATE
Extended logs with "cabal install wxc -v3":
http://rgho.st/7BJcHzJTF
From the log it seems that maybe pkg-config is missing. From the platform's built in msys2 run pacman -S pkg-config and install it, see if it works after that.
I've installed it as follows.
Download wxInstall-Achelanne-64-0.1.zip, unzip, and set this folder as the current directory in a terminal
Type
Set WXWIN=%CD%\wxWidgets
Set WXCFG=gcc_dll\mswu
Set PATH=%CD%;%PATH%
cabal unpack wxdirect
cabal install ./wxdirect-xxx
(where xxx is e.g. 0.92.3).
Find the file wxdirect.exe and put it in the current directory.
Rename the file wxWdigets/include/wx/setup_redirect.h to wxWdigets/include/wx/setup.h
Type
cabal unpack wxc
cabal install ./wxc-xxx
Find the file wxc.dll and put it in the DLLs folder.
Put the folders DLLs and wxWidgets\lib\gcc_dll in your search path.
Now you can install wxcore and wx.

gnu/libtool (libltdl) installed but not found by configure script

I am trying to install guile locally on a system. It requires gnu/libtool. While installing all its dependencies, the "make check" command showed errors while installing gnu/libtool. But if I omitted the command and simply ran "make" followed by "make install", then it was able to install successfully. I was able to install the rest of the dependencies without any problem. However, when I run the following command, then I am getting the below mentioned error:
Command:
../configure --with-libltdl-prefix=$PREFIX/libtool --with-libgmp-prefix=$PREFIX/gmp --with-libunistring-prefix=$PREFIX/libunistring --with-libiconv-prefix=$PREFIX/libiconv --with-libreadline-prefix=$PREFIX/libreadline --with-libintl-prefix=$PREFIX/gettext --prefix=$PREFIX/guile
Error:
configure: error: GNU libltdl (Libtool) not found, see README.
the $PREFIX is defined and I have installed the libltdl library in the libtool folder. When I look through the include and lib sub directories of the libtool folder, I can find the libltdl folders and .so files.
So, I am unsure as to why the configure script is not able to find the locally installed version of libtool. I will be highly grateful if someone can point out the problem in the command and how to remedy this error.
I had a similar issue when trying to compile bind9 using distcc under Rasbian. I had previously installed the package libtool but I was also missing the package libtool-bin.
That solved my issue.
Try
apt list libtool* --installed
and see if both show up.

Install Octave Package Manually

I want to install the package dataframe of Octave on one of my servers, which does not have internet access. I used my laptop to download dataframe-1.1.0.tar.gz. I wonder how I can install it on my server manually.
In the README.html of Octave 4.0.0 folder you can find the following passage:
Included Octave Forge Packages
A number of Octave-Forge packages have been included with Octave, however they must be installed in order to use them.
To install:
• Start Octave and then open the build_packages.m file found in the src folder where Octave was installed.
• Run the script build_packages.m to build and install the packages.
Installation is a one-time procedure. After installation packages must still be loaded in order to use them with the pkg load PACKAGENAME command.
Other packages are available from Octave-Forge.
What you need to do for other packages, which are not included with Octave, is: download the package from http://octave.sourceforge.net/packages.php. Then put the package in the src folder and modify build_packages.m respectively before executing it.
According to the Octave documentation:
37.1 Installing and Removing Packages
Assuming a package is available in the file image-1.0.0.tar.gz it can
be installed from the Octave prompt with the command
pkg install image-1.0.0.tar.gz
If the package is installed successfully nothing will be printed on
the prompt, but if an error occurred during installation it will be
reported. It is possible to install several packages at once by
writing several package files after the pkg install command. If a
different version of the package is already installed it will be
removed prior to installing the new package. This makes it easy to
upgrade and downgrade the version of a package, but makes it
impossible to have several versions of the same package installed at
once.

Cabal install failure on existing sandbox in Windows

I have installed the Haskell-platform on Windows. I am trying to build an existing project from an existing cabal sandbox. Whenever I attempt to reinstall, all packages fail with the following error:
cabal.exe: expected an absolute directory name for --prefix:
Was wondering where I need to specify an absolute directoy. Cabal is installed here:
Note: I am using Powershell to execute these commands.
C:\Users\user\AppData\Roaming\cabal\bin\cabal.exe
Here's the full output.
websockets-snap-0.8.2.1 (new package)
Project-0.1 (new package)
cabal.exe: The following packages are likely to be broken by the reinstalls:
haskell-platform-2013.2.0.0
cgi-3001.1.7.5
Use --force-reinstalls if you want to install anyway.
PS C:\Users\user\Project> cabal install --force-reinstalls
Resolving dependencies...
Warning: The following packages are likely to be broken by the reinstalls:
haskell-platform-2013.2.0.0
cgi-3001.1.7.5
Continuing even though the plan contains dangerous reinstalls.
Configuring Crypto-4.2.5.1...
cabal.exe: expected an absolute directory name for --prefix:
/Users/user/Project/.cabal-sandbox
Failed to install Crypto-4.2.5.1
Configuring MonadRandom-0.1.13...
cabal.exe: expected an absolute directory name for --prefix:
/Users/user/Project/.cabal-sandbox
Failed to install MonadRandom-0.1.13
Configuring SHA-1.6.1...
cabal.exe: expected an absolute directory name for --prefix:
/Users/user/Project/.cabal-sandbox
Failed to install SHA-1.6.1
How do I specify an absolute directory name for prefix?
You could try using the solution described here. It's basically about removing/replacing powershells default dir alias. But that's for sure not the most powershell-compatible way of fixing it.

Resources