Building Valama IDE on Windows using MSYS2 and MingW - windows

I am using MSYS2 to build Valama [the next generation IDE for Vala].
what the GitHub repository says that some dependencies are required.
and they are provided for Ubuntu using this command
sudo apt-get install build-essential valac-0.24 libvala-0.24-dev cmake pkg-config libgtksourceview-3.0-dev libgee-0.8-dev libxml2-dev libgdl-3-dev libgladeui-dev libclutter-gtk-1.0-dev libwebkit2gtk-3.0-dev intltool gnome-icon-theme-symbolic librsvg2-bin
and I started to download these dependencies using
pacman -S [PACKAGE NAME]
but these packages names are not the same in pacman for mingw as they are in apt-get for ubuntu
so I found that pacman supports searching for packages using this command
pacman -sS [PACKAGE NAME substring]
so after every successful installation I tested cmake .. command as in the GitHub repository
until I get stuck with this dependency
gladeui-2.0
and this what the log of cmake look like :
-- Checking for module 'gee-0.8 >= 0.10.5'
-- Found gee-0.8 , version 0.18.1
-- Update files for GtkSourceView 3.14.3
-- Use enhanced gdl-3.0 vapi to support new features with gdl-3.0 >= 3.9.91.
-- Checking for module 'gladeui-2.0'
-- No package 'gladeui-2.0' found
CMake Error at /usr/share/cmake-3.6.2/Modules/FindPkgConfig.cmake:424 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.6.2/Modules/FindPkgConfig.cmake:597 (_pkg_check_modules_internal)
CMakeLists.txt:201 (pkg_check_modules)
-- Configuring incomplete, errors occurred!
See also "/e/valama/build/CMakeFiles/CMakeOutput.log".
See also "/e/valama/build/CMakeFiles/CMakeError.log".
as you can see from the log that [gladeui-2.0] is not found on the MSYS-mingw subsystem, and I failed to find the supported library for it.
what I am asking is what is the command to install the remaining dependencies of valama, or how to build them and install them, including gladeui-2.0.

On the MSYS2 home page there are two GitHub repositories listed for issues with packages. The first is issues for msys2 packages on GitHub and the second is issues for mingw-w64 packages on GitHub. Both of these repositories list packages as sub-directories.
The most interesting are the mingw-w64 packages, which includes mingw-w64-glade and mingw-w64-glade3. So you could try installing either of those. Glade3 is the newer version, but Valarama may be dependent on the older Glade 2.

Related

The term 'Write-ChocolateyFailure' is not recognized as the name of a cmdlet

So I'm trying to install yasm on Windows 11 with Chocolatey, but an error occurs, does anyone know how to solve this error?
PS C:\WINDOWS\system32> choco install yasm
Chocolatey v1.2.0
Installing the following packages:
yasm
By installing, you accept licenses for the packages.
Progress: Downloading yasm 1.2.0... 100%
yasm v1.2.0
yasm package files install completed. Performing other installation steps.
The package yasm wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): Y
WARNING: Url has SSL/TLS available, switching to HTTPS for download
Downloading yasm 64 bit
from 'https://www.tortall.net/projects/yasm/releases/yasm-1.2.0-win64.exe'
Progress: 100% - Completed download of C:\ProgramData\chocolatey\lib\yasm\tools\yasm.exe (779.5 KB).
Download of yasm.exe (779.5 KB) completed.
C:\ProgramData\chocolatey\lib\yasm\tools\yasm.exe
ERROR: The term 'Write-ChocolateyFailure' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
The install of yasm was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\yasm\tools\chocolateyInstall.ps1'.
See log for details.
Chocolatey installed 0/1 packages. 1 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Failures
- yasm (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\yasm\tools\chocolateyInstall.ps1'.
See log for details.
I couldn't find a solution on the internet, so I asked here.
The package uses helpers (Write-Chocolatey-Failure) that have been deprecated for some time and subsequently removed. To restore the functionality you can use the chocolatey-compatibility.extension package.
However, two things:
The package is trying to write a failure message, so something is likely broken with the package.
The package was last updated in 2013 so YMMV with the software it's downloading working at all.
This happens because you are trying to install a package that still uses a syntax that is no longer supported in Chocolatey CLI. You have two options to resolve this issue.
The first and best option is to try contacting the package's maintainer and ask them to update the package to follow modern standards of how a package should be written.
The second option that will fix your current issue is to install a compatibility package to reintroduce removed helpers that are no longer supported.
You can install this package by running: choco install chocolatey-compatibility.extension and then try installing the yasm package again.

./configure doesn't find Qt5Core, QT5GUI, QT5Widgets

I've recently replaced Win10 by Linux Debian 11.2 on my PC (hence I'm a newbee in Linux). Now, not all programs are available as deb-Files.
I tried to compile source code - here a synthesizer ams-2.2.0 - from a tar.gz files (after unzipping into a separate folder) with steps (as written in the INSTALL.TXT to this source, and obviously usual)
./configure
make
make install
I get a bunch of error messages for missing files, when running ./congigure most resolved by installation of missing packages, but at last it fails with error message:
checking for QTCore Qt5Gui Qt5Widgets >= 5.0... no
configure: error: cannot find Qt5 library >= 5.0
(hope to get all written correctly, because I can't copy from the terminal ... Ctrl-Shift-C doesn't seem to work)
I checked the installation in synaptics and found that Qt-Version is 5.12. So what's wrong here?
I'm afraid to have this error message everytime I try to compile different source codes.
You need to install libqtcore and libqtwidgets with development headers, they are in qtbase5-dev package.
sudo apt install build-essential qtbase5-dev qtchooser

Haskell cabal issue with Mac OS X 10.11? (cannot satisfy -package-id)

I used the latest Haskell Platform 7.10.2-a (https://www.haskell.org/platform/mac.html) on Mac OS X 10.11 for El-capitan.
When I tried to install yesod with cabal install yesod, I have multiple error messages such as:
Building email-validate-2.1.3...
Building http-api-data-0.2.1...
Building fast-logger-2.4.1...
Building http-date-0.0.6.1...
Failed to install crypto-random-0.0.9
Build log ( /Users/smcho/.cabal/logs/crypto-random-0.0.9.log ):
Configuring crypto-random-0.0.9...
Building crypto-random-0.0.9...
Preprocessing library crypto-random-0.0.9...
<command line>: cannot satisfy -package-id vector-0.11.0.0-730f99979d41c11c3a1ef069844b5f57
(use -v for more information)
Failed to install email-validate-2.1.3
Build log ( /Users/smcho/.cabal/logs/email-validate-2.1.3.log ):
Configuring email-validate-2.1.3...
The error pattern is pretty much the same: cannot satisfy -package-id.
For example, cabal install aeson gives cannot satisfy -package-id attoparse... error.
Resolving dependencies...
Configuring aeson-0.10.0.0...
Building aeson-0.10.0.0...
Failed to install aeson-0.10.0.0
Build log ( /Users/smcho/.cabal/logs/aeson-0.10.0.0.log ):
Configuring aeson-0.10.0.0...
Building aeson-0.10.0.0...
Preprocessing library aeson-0.10.0.0...
<command line>: cannot satisfy -package-id attoparsec-0.13.0.1-99b4df28644e63383f308c810764a8bb
(use -v for more information)
cabal: Error: some packages failed to install:
aeson-0.10.0.0 failed during the building phase. The exception was:
ExitFailure 1
However, attoparsec library seems to be installed without problem.
smcho#macho ~> cabal install attoparsec
Resolving dependencies...
All the requested packages are already installed:
attoparsec-0.13.0.1
Use --reinstall if you want to reinstall anyway.
What might be wrong?
As suggested here, the cannot satisfy -package-id error you're seeing might be due to an out of date cache.
If running ghc-pkg check warns you that your cache is out of date, then running ghc-pkg recache might resolve your issues.
I've been running into the cannot satisfy -package-id problem all morning (not with yesod, but with various other packages). ghc-pkg recache resolved my issues. Hope this helps.
This might be controversial, but imho the haskell platform and cabal (when used directly) are both essentially deprecated now with the advent of stack.
Stack will:
Automatically install haskell for you (stack setup)
Automatically sandbox (and intelligently share sandboxes between projects)
Completely avoid cabal hell (in my experience)
I could install yesod from brew.
Uninstall haskell-plaftorm
/Library/Haskell/bin/uninstall-hs thru 7.10.2
Install ghc
brew install ghc
brew link ghc
Install stackage
brew install haskell-stack
Install Yesod
stack install yesod
stack install yesod-bin
Use Yesod
Getting "Could not find module `Yesod'" when I try to run first example from Yesod book
stack runghc hello-world.hs
Use Yesod for development
I'm not sure, but I had to run stack exec yesod build first.
stack exec yesod devel.
Yesod deployment with keter
Remove the first line in config/keter.yaml
stack exec yesod keter, and you will get one binary in dist/bin that contains most of the necessary files to run.
Execute the binary as a standalone server.

Why I can't compile Drwright in Ubuntu 12.04

Drwright is not included in the main Ubuntu distribution but is availble through a PPA.
In this way installation steps:
sudo add-apt-repository ppa:drwright/stable
sudo apt-get update
sudo apt-get install drwright
Installation completed succesfully.
But I want correct the source code of this program. I use
apt-get source drwright
to download it. And first of all I try compile the source code without changes:
./configure
But configure doesn't execute:
configure: error: Package requirements (
glib-2.0 >= 2.31.13
gio-2.0 >= 2.31.13
gdk-pixbuf-2.0 >= 2.25.3
gtk+-3.0 >= 3.0.0
libcanberra-gtk3 >= 0
libnotify >= 0.7
x11) were not met:
No package 'glib-2.0' found
No package 'gio-2.0' found
No package 'gdk-pixbuf-2.0' found
No package 'gtk+-3.0' found
No package 'libcanberra-gtk3' found
No package 'libnotify' found
No package 'x11' found
Why Drwring installed from PPA and work succesfully, but I can't compile it from source code?
Header Files
To build a program from source, you don't just need the compiled binaries for the libraries it uses. You also need their header files.
In Debian, Ubuntu, and other Debian-based operating systems, header files are provided by packages whose names end in -dev. Usually it's the binary package name with -dev appended, or the binary package name with some version numbers removed and -dev appended.
-dev packages (for compiling) should not be confused with -dbg packages (for debugging). Here's some information about how and why these packages are made.
pkg-config Packages vs. Your Package Manager's Packages
When you build from source code and ./configure tells you about missing packages, usually it is not checking with the package manager to see what is installed, and the names of missing packages typically are not the exact names of the packages you need to install with your package manager. (pkg-config is a common way for ./configure scripts to calculate dependencies--see this article, the manpage, and the project page for more information.)
Figuring Out What Packages to Install with the Package Manager
To find out what packages you do need to install, you can look at packages that start the same...or that start with lib followed by the name of the "packages" spit out by ./configure. Packages starting with lib are more common (on Debian and Debian-based systems) since most library packages are named that way.
You can search for packages online (other distributions typically also provide this, here's Debian's). Or you can use bash completion to find them. Since this uses the locally stored information on your system about what packages are available in what versions from where, you should update that information first:
sudo apt-get update
Then type in a command that would install a package, with just the beginning of the name--however much you think you know. For example, for glib-2.0:
ek#Del:~$ apt-get install libglib2
libglib2.0-0 libglib2.0-cil-dev
libglib2.0-0-dbg libglib2.0-data
libglib2.0-0-dbgsym libglib2.0-dev
libglib2.0-0-refdbg libglib2.0-dev-dbgsym
libglib2.0-0-refdbg-dbgsym libglib2.0-doc
libglib2.0-bin libglib2-ruby
libglib2.0-bin-dbgsym libglib2-ruby1.8
libglib2.0-cil libglib2-ruby1.8-dbg
libglib2.0-cil-dbgsym
There, I did not run the command I entered. (It wouldn't have succeeded if I had, both because there is no package called libglib2 and because apt-get install will not succeed unless run as root.)
Instead, I pressed Tab a couple times at the end of the line, and I got a list of suggestions.
From these suggestions, the right one is libglib2.0-dev.
If You're Still Not Sure
Sometimes you won't necessarily know which one is right; then you can use apt-cache show ... to find out. For example, suppose I'm wondering if I also need libglib2.0-cil-dev:
ek#Del:~$ apt-cache show libglib2.0-cil-dev
Package: libglib2.0-cil-dev
Priority: optional
Section: libs
Installed-Size: 174
Maintainer: Ubuntu Developers <ubuntu-devel-discuss#lists.ubuntu.com>
Original-Maintainer: Debian CLI Libraries Team <pkg-cli-libs-team#lists.alioth.debian.org>
Architecture: i386
Source: gtk-sharp2
Version: 2.12.10-2ubuntu4
Replaces: libglib2.0-cil (<< 2.12.9-2)
Depends: libglib2.0-cil (= 2.12.10-2ubuntu4)
Filename: pool/main/g/gtk-sharp2/libglib2.0-cil-dev_2.12.10-2ubuntu4_i386.deb
Size: 2408
MD5sum: 50fa0825eb4d73593bdc8419c5fc9737
SHA1: f9659e85410505f7463a7117ebb92c70af6ad3aa
SHA256: 8f9d39465f2a1d5b4cc7832660ea53bacc681811ab2c80b57cad1655d4055b01
Description-en: CLI binding for the GLib utility library 2.12
This package provides the glib-sharp assembly that allows CLI (.NET) programs
to use the GLib utility library 2.12. This is mostly useful for the GTK+ and
GNOME bindings.
.
GTK# 2.10 is a CLI (.NET) language binding for the GTK+ 2.10 toolkit
.
This package contains development files for the glib-sharp library, and should
be used for compilation
Homepage: http://www.mono-project.com/GtkSharp
Description-md5: e7432bd7eb91c1c711c14150f81a3556
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 18m
If you want, you can use command-line completion on incomplete package names as arguments to apt-cache show instead of apt-get install. Any command that takes the name of a package (and takes it whether the package is installed or not) is suitable for this purpose.
The Specific Packages You Need
Given the messages that appeared, the -dev packages you need are probably:
libglib2.0-dev Install libglib2.0-dev http://hostmar.co/software-small
(provides both "glib-2.0" and "gio-2.0" headers, see the manifest)
libgdk-pixbuf2.0-dev Install libgdk-pixbuf2.0-dev http://hostmar.co/software-small (provides "gdk-pixbuf-2.0" headers)
libgtk-3-dev Install libgtk-3-dev http://hostmar.co/software-small (provides "gtk+-3.0" headers)
libcanberra-gtk3-dev Install libcanberra-gtk3-dev http://hostmar.co/software-small (provides "libcanberra-gtk3" headers)
libnotify-dev Install libnotify-dev http://hostmar.co/software-small (provides "libnotify" headers)
libx11-dev Install libx11-dev http://hostmar.co/software-small (provides "x11" headers)
You can install these in the Software Center but I recommend the command-line as it's easier for installing multiple packages:
sudo apt-get update && sudo apt-get install libglib2.0-dev libgdk-pixbuf2.0-dev libgtk-3-dev libcanberra-gtk3-dev libnotify-dev libx11-dev
try command in shell as root
$apt-get install glib-2.0 gio-2.0 gdk-pixbuf-2.0 gtk+-3.0 libcanberra-gtk3 libnotify x11 -f -y

How do I get the Haskell Platform's ghc-pkg to work on MAC OSX

I have installed the latest Haskell Platform for MAC OSX and I get the error "Setup: failed to parse output of 'ghc-pkg dump'" when I do anything with Cabal.
So I looked at my versions:
ralphtq$ ghc-pkg list Cabal
/Library/Frameworks/GHC.framework/Versions/612/usr/lib/ghc-6.12.1/package.conf.d
Cabal-1.8.0.2
ralphtq-mac-mini:cabal-install-0.6.4 ralphtq$ cabal --version
cabal-install version 0.6.2
using version 1.6.0.3 of the Cabal library
This is telling me that even though I have Cabal 1.8 the cabal-instal is at version 0.6.2. I have tried to correct that using darcs to get the latest version of cabal-install, but I cannot get passed the error:
ralphtq$ sh bootstrap.sh
Checking installed packages for ghc-6.12.1...
parsec is already installed and the version is ok.
network is already installed and the version is ok.
Cabal is already installed and the version is ok.
mtl is already installed and the version is ok.
HTTP is already installed and the version is ok.
zlib is already installed and the version is ok.
cleaning...
Linking Setup ...
Configuring cabal-install-0.9.1...
Setup: At least the following dependencies are missing:
Cabal ==1.9.*
It is expecting Cabal to be >= 1.9.
I tried to install a previous version of Cabal but got the following error:
...
...
[50 of 51] Compiling Distribution.Simple ( Distribution/Simple.hs, Distribution/Simple.o )
[51 of 51] Compiling Main ( Setup.hs, Setup.o )
Linking Setup ...
Configuring Cabal-1.6.0.2...
Setup: failed to parse output of 'ghc-pkg dump'
I am back to the same problem.
I have also tried a complete re-install of the platform.
What are my next options? Help appreciated, thx.
Either you have installed an old version of the Haskell Platform, or you have a mixed up environment where you have installed over the top of an existing, older install, and so now have a mixture of ghc-pkg versions from 6.10.x and 6.12.x
Try removing those ghc-pkg and cabal binaries, and then installing the Platform. That way you won't have those old executables lying around.

Resources