Windows 10 update appears to have broken GHC - haskell

I have the latest Haskell Platform (8.0.2) and it appears that the forced update of Windows10 (1703) has broken GHC. There is a ticket (#13411) about this, and it seems like I need to replace the gcc.exe file in my build.
Where do I find the appropriate gcc.exe file and where do I put it (assuming standard installation of the Haskell Platform)?

GCC should be in mingw\bin in your installation directory, e.g.
C:\Program Files\Haskell Platform\8.0.2\mingw\bin\gcc.exe
The appropriate binary can be found in your linked repository. The one meant for GHC 8.0.X should suite you fine. Be sure to use the x64 one if you've installed the 64bit variant of the platform, and x86 otherwise.

As of 20 April 2017 1700 UTC this seems like the process:
Download the version of GHC 8.0.2 with the Windows 10 patch (As described here.).
Open the archive file. Windows 10's native archive browser does not understand the .tar.xz format so you will need something like 7-Zip to open it.
Find the "gcc.exe" file under \ghc-8.0.2\mingw\bin\ and copy it over the file in C:\Program Files\Haskell Platform\8.0.2\mingw\bin\.

Related

liboctinterp.so.3 - cannot open shared object file [duplicate]

I have two versions of Octave installed, version 3.6.4 installed via the package manager (Linux Mint Debian), and version 4.0.0 compiled from source. I also have numerous .oct files in a folder pointed to in an .octaverc file. My problem is that the version 4.0.0 cannot "see" these .oct files and if I try to call them the whole session crashes unless I recompile them under 4.0.0 with mkoctfile. However, doing this means that the version 3.6.4 cannot "see" them and trying to call them gives an error message
failed to load: liboctinterp.so.3: cannot open shared object file: No such file or directory
How can I get both versions to recognize my .oct functions without having to recompile them each time?
I copy the answer from Mike and Olaf from the help mailinglist (crossposting http://octave.1599824.n4.nabble.com/Oct-files-run-in-Octave-version-3-6-4-or-4-0-0-but-not-both-td4672690.html)
Short answer: you can't.
The Octave library API and ABI change between releases. Octave 3.6 was liboct{ave,interp}.so.1, Octave 3.8 was liboct{ave,interp}.so.2, and 4.0 is liboct{ave,interp}.so.3. These libraries are not forwards or backwards compatible.
You can compile your oct-files in two (or three?) different paths with the
wanted Octave version in the path.
If you want to install your files system-wide, a good candidate directory for the differently compiled oct-files seems to be
fullfile (OCTAVE_HOME (), "lib/octave/site/oct/", octave_config_info ("canonical_host_type"))
assuming OCTAVE_HOME () is different for each of your Octave versions. This directory seems to be in the path by default.
If not system-wide, you could check OCTAVE_VERSION () in your .octaverc and set the path differently for each version.

mingw64 - the file has been downloaded incorrectly

I try to install MinGW-w64, but during install i got
the file has been downloaded incorrectly
I have 64 bit win10 and my option of installation:
I use that link sourceforge. and some commentators have same problem.
Any idea how to fix it?
Newer MinGW-w64 releases are now available at https://winlibs.com/ as standalone packages that don't need an installer. Just extract to a folder and start using. This also allows having multiple versions on your side by side (e.g. 32-bit and 64-bit).
This MinGW article addresses the issue. It's actually pretty simple to fix. The problem is with the Windows installer. What you need to do is download the MinGW zip archive directly (not the installer) and extract the files to something like C:\mingw and then add it to PATH in Environment Variables. Here's direct link to the SourceForge files you'll need.

Unable to Run mksdcard sdk tool on ARMv7 Processor Ubuntu 14.04

When trying to install Android Studio on my Linux Laptop, I get "Unable to Run mksdcard tool" From what I can tell from searching, this is usually caused by lacking the 32 bit compatibility libraries on 64 bit Linux, however I am running it on an ARMv7 processor, using the crouton project to use Linux on my Chromebook. I have tried install the recomended packages ending in i386, but the command line returned:
Reading Package Lists... Done
Building Dependendency Tree
Reading State information... Done
E: unable to locate package [Name of package here]
E: Couldn't find any package by Regex '[Name of package]'
Does anyone know what is causing this and how I can fix it?
I've discovered a workaround.
After a little searching, I've found that we can create executable binary of the tool for the ARMv7 platform ourselves! Whupee!
Head over to GitHub and pick up the source code, mksdcard.c. Download this to wherever you'd like, but make sure you download it as mksdcard.c and not as mksdcard.c.txt, which your browser might try to do. You can always rename the file later in case you accidentally save the filename incorrectly.
Over in your chroot environment, head to the directory where you downloaded the file.
Make sure you have the gcc compilation tools installed. Try running gcc -v in an attempt to see what version of GCC you have installed. If this doesn't work, you'll need to install GCC via sudo apt-get install gcc.
Run gcc -o mkdscard mksdcard.c. This uses GCC to compile the source code into something that can be executed. After compilation has completed, you can use ./mkscard to have Linux execute the binary file, which verifies that it works.
Navigate to your Android SDK Tools directory. This is usually ~/Downloads/Android/Sdk/tools. By running ls, you'll list the files and find the version of mksdcard that your Linux distribution doesn't understand how to run. (Running ./mksdcard on this file will confirm this.)
Backup the broken binary somewhere, then delete the copy in the tools folder. (I created a backups/ directory within the Android SDK Tools folder to move it to.)
Within the directory, use rm -r mksdcard to delete the old mksdard binary.
Finally, copy your compatible binary over to take it's place, e.g. cp ~/Downloads/mksdcard . (Copies the mksdcard binary we've created to the current directory ., the Android SDK Tools folder.)
Head back over to your Android Studio installer. In the dialogue complaining about mksdcard failing, hit Retry and the installation should continue. After it's finished, be sure to apply any updates that are recommended by the environment. Enjoy!
For newer versions eg. 3.1 C4 of Android Studio running with Ubuntu on ARM32 you will also need to place mksdcard in ~/Downloads/Android/Sdk/emulator (referencing like path from Alext T.).

Installed LLVM 3.5 with apt, now I have to suffix everything with -3.5?

I installed LLVM via the apt package manager, (apt-get install llvm-3.5)... now I have to suffix every command and include with -3.5. Is this normal and how it is with LLVM nowadays, or did I screw up the setup? For instance, if I ran llvm-config it won't work so I need to append -3.5 to that. The same goes for including llvm header files in my code.
I'm asking because I'm working on an open source project, so if someone installs it and they don't have the issue with the -3.5 suffix on everything, then it could break.
I'm using Mint 17 (64 bit), if that helps.
Look into the directory that is provided by llvm-config-3.5 --bindir. I found the executables without suffix in there. I had the same problem with eclipse CDT not finding my LLVM/Clang installation, but only the LLVM path was wrong.

how to compile lex/yacc files on windows "without cygwin"

We need to create .c file from .l (lax) and .y (yacc) file using visual studio 1o on windows 2008.
We cant use Cygwin at all.
Where does Flex and bison come into picture here ? Even Flex and Bison use cygwin internally or not ?
how are we supposed to go about it ?
You can download a windows version of flex from sourceforge and bison from sourceforge, you then need to add them to the PATH environment variable. Be sure not to have a space in the install directory (i.e. do not put in C:\Program Files\ etc). You can then build the output with CL from visual studio command line tools if you wish.
As previously mentioned MinGw is another option.
I have even made a YouTube Video showing the install of these packages!

Resources