Installation of missing C libraries when installing HDBC-Sqlite3 - haskell

I am trying to set up my PC running windows XP to run the Haskell Platform and the SQLite3 database. I also have to install 2 additional Libraries from Hackage database (home of the additional haskell libraries)
HDBC
HDBC.sqlite3
I downloaded the Haskell platform and installed it on the following location on my computer
C:\Program Files\Haskell Platform\2013.2.0.0
from the command line I installed the HDBC library with the following command
C:\Document and setting\oke\cabal install HDBC
from the command line I tried to install the HDBC-sqlite3
C:\Document and setting\oke\cabal install HDBC-sqlite3
this gave an error message stating …...
cabal missing dependency on foreign library
*Missing C library:sqlite3
ExitFailure 1
please can somebody give details as to how I get the missing C libraries and
what exact folders, do I place them in ?
and how I install the HDBC-sqlite3 library using cabal ?
Do I install the Sqlite3 before installing libraries and what folder is best to do so?

Get the SQLite DLL from the SQLite download page, copy it to somewhere sensible (say, C:\sqlite3, and not Program Files nor anywhere in the Windows directory), add your chosen directory to the PATH (see the answers to this question for details) and, finally, install HDBC-sqlite3 with cabal. In general, cabal will not install C libraries, so whenever you install a package which depends on one you will have to set it up in your system beforehand.

Related

OSError: cannot load library 'gobject-2.0-0': Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'

While installing saleor, I have encountered with the below issue.
OSError: cannot load library 'gobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'
I have tried all the solutions given in stack overflow as well as git. Nothing seems to be working.
Can someone please help me out.
Tools installed:
python: 3.8 / 3.9
GTK3
I have also updated the GTK3\bin in the top of the environment variables as said in the other solutions.
Download the https://www.msys2.org/ and install it.
a) install gtk package and python bundles from MSYS2 terminal. We can start this with command shell. and pacman -S mingw-w64-x86_64-gtk3
b) pacman -S mingw-w64-x86_64-python-gobject
Update your $XDG_DATA_HOME and XDG_DATA_DIRS to the installed path for example :
'C:/msys64/mingw64/share'
Reboot your system and check, it will work.
Another option that worked for me is :
Install MSYS2 from https://www.msys2.org.
Install GTK3 DLL Dependencies from here : https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases
And then set environment path variables to your windows variable path file.
WEASYPRINT_DLL_DIRECTORIES=C:\GTK3\bin

Possible to ensure that profiling libraries are installed when installing GHC 7.8?

I'm going to install GHC on a fresh copy of Ubuntu and I'm wondering: How can I ensure that profiling libraries are installed for the core libraries (e.g., text, unordered-containers)?
I'm aware of the changing the profiling option in cabal's .config file but my understanding is that this only ensures that profiling libraries are installed for those packages that I install AFTER setting up cabal (see italicized text in update below).
(I inadvertently blew up my Ubuntu vbox last night as a result of trying to retroactively install profiling libraries for installed GHC packages. It led to the existing packages not working, which led to me trying to uninstall GHC, which led to...KABOOM!)
UPDATE:
I've installed GHC and am now at the point where I'm about to install cabal. I've confirmed my suspicion that I'm facing a "chicken-and-an-egg" dilemma: In order to get the initial cabal config file (in which I can set profiling option as True), I need to install cabal. However, installing cabal results in the installation of core packages (e.g., text, unordered-containers) BEFORE I get a chance to make the change in the cabal config file.
SOLVED:
As per Daniel Wagner's suggestion (thanks!), I made a couple of modifications to the bootstrap.sh script file (I unfortunately didn't have my old cabal or I would've followed his other suggestion). As reference for future readers, the beginning of my bootstrap.sh file looked like this (after the changes):
#VERBOSE
DEFAULT_CONFIGURE_OPTS="--enable-library-profiling --enable-shared"
EXTRA_CONFIGURE_OPTS=${EXTRA_CONFIGURE_OPTS-$DEFAULT_CONFIGURE_OPTS}
#EXTRA_CONFIGURE_OPTS
#EXTRA_BUILD_OPTS
#EXTRA_INSTALL_OPTS
The preferred solution is to install cabal-install via your package manager. If you have an old version of cabal-install in your package manager, you can then use the old version to install the new version with a config in place, or even specify profiling directly on the command line via cabal install cabal-install --enable-library-profiling.
An alternate solution if you plan to install cabal-install via its bootstrap.sh script is to use the environment variables it provides for configuration. There are four, notated at the top of bootstrap.sh; the relevant one is EXTRA_CONFIGURE_OPTS, which contents get passed to the configure step of each package's Setup command. So something like this ought to do the trick (though I haven't tested it):
EXTRA_CONFIGURE_OPTS=--enable-library-profiling ./bootstrap.sh

Error while install gcc49 in Ubuntu by using linuxbrew

I want to install the latest gcc49 in a Ubuntu Linux, and I am familiar with Homebrew in Mac, so I would like to use the Linux version of it, i.e., Linuxbrew. So I installed Linuxbrew and typed
$ brew install gcc49
The dependencies gmp4, mpfr2 and etc. will be installed first. I have added a if OS.mac? condition in gmp4 so it can be installed successfully, but when installing mpfr2 (also added the condition), the make check failed with the error:
...
/tmp/mpfr2-i5YD/mpfr-2.4.2/tests/.libs/lt-tpow_all: error while loading shared libraries: libgmp.so.3: cannot open shared object file: No such file or directory
FAIL: tpow_all
=======================
148 of 148 tests failed
=======================
As you can see, the tests can not find libgmp.so.3 which is just installed. But gmp4 is keg only since it will conflict with gmp in main repository.
But the configure options are set with the correct location of gmp4:
./configure --disable-dependency-tracking --prefix=/home/dongli/.linuxbrew/Cellar/mpfr2/2.4.2 --with-gmp=/home/dongli/.linuxbrew/opt/gmp4
How to solve this problem? Thanks!
You think you are doing it wrong by insisting on a third-party scripting solution that is not native to the OS.
There are prebuilt versions of gcc et al provided by the same maintainers in this PPA on Launchpad. These are previews / testreleases of what will be in the next Ubuntu releases.
I found the problem, that is the environment has been reset after each system call in Ruby formula. So we need to set the correct LD_LIBRARY_PATH as
if OS.linux?
ENV["LD_LIBRARY_PATH"] = "#{Formula["..."].opt_prefix}/lib:...:$LD_LIBRARY_PATH"
end
so that LD_LIBRARY_PATH persists during the build processes.

Executing library(package) in R reports that package was built for i386, can it be installed on an x86_64 system?

I'm attempting to use an add-on R package UBbipl but am unable to add it as a library from within R once installed. Executing library(UBbipl) returns
Error: package ‘UBbipl’ was built for i386-pc-mingw32
The README (see here) for the package states that i386 and x86_64 architectures are supported. I've consulted tutorials on creating packages (amongst other things) but I don't know enough about R (or its packages) to diagnose the problem (I think).
R.Version()$arch returns x86_64, I'm running R version 2.14.1 and Sys.info() confirms this architecture for my machine, as well as the fact that I'm running Linux. To install it I created a tar.gz file from the zip file and ran R CMD INSTALL UBbipl_1.0.tar.gz as root. This completes successfully, reporting
* installing to library ‘/usr/local/lib/R/site-library’
* installing *binary* package ‘UBbipl’ ...
* DONE (UBbipl)
I used the --no-multiarch and --arch x86_64 options but this has not effect on the error message. Additionally, the README states that one should
Download and save the appropriate version of UBbipl to your computer.
Then Install the package from within R.
but there is only one file available for download (see previous link) so I'm unsure as to whether I'm doing something wrong or if I require a different package. It would be great if someone could point me in the right direction.
Many thanks.
I'm going to answer my own question to close it. themel technically provided the answer in the comments. The R package is a Windows binary package built for Windows. The source package was not provided and I was thus unable to use it in R on a linux machine.
The file
http://www.wiley.com/legacy/wileychi/gower/supp/UBbipl_3.0.4.tar.gz
seems to be a standard R source file, with no complied elements. It has the first Fortran program source I've seen in twenty years, but ought to work.
It certainly installed fine with
R CMD INSTALL UBbipl_3.0.4.tar.gz
once the two dependencies I did'nt already have - 'rgl' and 'numDeriv' were installed.
Regards,
Anthony Staines

Cannot run Code::Blocks: libwx_gtk2u-2.8.so.0 not found

I am trying to install Code::Blocks 10.05 from (non-SVN) sources (codeblocks-10.05-src.tar.bz2). My OS is Ubuntu 11.04. I needed to download and install wxWidgets first (I now have wxGTK-2.8.12), which seemed to work. I compiled it according to these instructions:
http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Linux
Then I configured C::B with
./configure --with-wx-config=/opt/wx/2.8/bin/wx-config
and ran
export LDFLAGS="-Wl,-R /opt/wx/2.8/lib"
make
sudo -i
make install
When trying to run C::B, I get the following error:
codeblocks: error while loading shared libraries: libwx_gtk2u-2.8.so.0: cannot open shared object file: No such file or directory
The same question was asked here: error while loading shared libraries, but the suggested solution (namely adding the wxWidgets config to the options passed to configure) didn't work for me.
The output of wx-config --prefix is /opt/wx/2.8,
The output of wx-config --libs is -L/opt/wx/2.8/lib -pthread -lwx_gtk2u-2.8,
and that of which wx-config is /opt/wx/2.8/bin/wx-config.
I looked for the library and found /opt/wx/lib/libwx_gtk2u-2.8.so.0 to be a link to libwx_gtk2u-2.8.so.0.8.0 in the same folder.
What might be wrong here?
The problem is that the program cannot find the WX widgets libraries at run time. You will need to set your LD_LIBRARY_PATH variable to include the location of wxWidgets like this:
LD_LIBRARY_PATH=/opt/wx/2.8/lib ./codeblocks
The reason why its failing is because you compiled codeblocks against wxWidgets found in /opt/ and not the one installed in /usr/; the program doesn't know to look in /opt for the wx libraries.
Probably the easiest way to get code::blocks up and running on Ubuntu is to just install it via the Synaptic Package Manager. Just type in codeblocks into 'Quick search'. Find codeblocks on the list and just right-click to mark for install. Any dependencies and missing libraries needed will automatically be handled and installed by Synaptic as necessary.
If you're interested in trying the C::B nightly builds on Ubuntu then you'll want to checkout Jens' unofficial debian-repository here.
You can visit Why do I have to define LD_LIBRARY_PATH with an export every time I run my application? for a more generic case. For a particular case like yours you can follow the below given steps
If you had installed wxGTK then you would see the file in /usr/local/lib. You would get this error when the the above path is not as part of the makefile. I received this error while starting wxFormBuilder after building from source on CentOS. There are 2 approaches.
Approach 1: Putting the path in .bashrc
gedit /home/{your-username}/.bashrc
Then after the line # User specific aliases and functions paste the following
export $LD_LIBRARY_PATH=/usr/local/lib.
This would work for fine but for the current login, but for other users like root you might have to do the same in the respective .bashrc files.
Approach 2: Creating your own conf files
cd /etc/ld.so.conf.d
gedit wxformbuilder.conf
Give the path /usr/local/lib and save the file.
ldconfig (To update the library path).

Resources