Gnome/msitools build failure with "No package 'libgsf-1' found" error - gcc

I have cloned "https://gitlab.gnome.org/GNOME/msitools/-/tree/v0.100" in my Centos7 host and trying to build, but facing following error and even though required package is already installed, it still doesn't work.
Below is the error I am getting when tried to build the code using the "autogen.sh" in the code base.
Error:
Checking for GSF... no configure: error: Package requirements (libgsf-1) were not met: No package 'libgsf-1' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables GSF_CFLAGS
and GSF_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
But the issue is I have the libgsf rpm already installed
[meuser#localhost msitools]$ rpm -qa | grep libgsf
libgsf-1.14.26-7.el7.x86_64
Thanks in advance for the help !

When building software on top of another package, you should install the development package, which will contain the necessary stuff like include headers, pkg-config files (which it's looking for here) and others.
CentOS/Fedora in general denote development packages by adding a "-devel" suffix, which is also the case here. So the package you're looking for is libgsf-devel

Related

network-bsd hidden hence not found

I am trying to install uni-htk in Windows but getting following error:
Util\HostName.hs:8:1: error:
Could not load module `Network.BSD'
It is a member of the hidden package `network-bsd-2.8.1.0'.
Perhaps you need to add `network-bsd' to the build-depends in your .cabal file.
Use -v to see a list of the files searched for.
|
8 | import Network.BSD
| ^^^^^^^^^^^^^^^^^^
As mentioned in error above, network-bsd is installed but hidden. I cannot find any .cabal file where I could make changes.
How can this problem be solved?
uni-htk has not been updated to work with newer versions of libraries (i.e. it is bitrotted, with last version in 2016). If you cabal unpack uni-htk you can get a local directory with all the source, and edit its cabal file and otherwise to fix it up yourself.
(This particular error is because the Network.BSD module has been moved from the network package to the new network-bsd package, I think. But you'll probably hit other errors as well!)

I can't seem to get rdkafka to play nice with the confuent-kafka-go package

this is my first question on StackOverflow. Usually I find a solution from someone else's question but this time the internet does not seem to have many answers.
So I'm getting this message after using go get and every time I try and compile and run my application.
# pkg-config --cflags rdkafka
Package rdkafka was not found in the pkg-config
search path. Perhaps you should add the directory containing `rdkafka.pc'
to the PKG_CONFIG_PATH environment variable Package 'rdkafka', required by
'virtual:world', not found
I searched the issues on the github page for the repo and found one thread related to this, but none of those solutions seem to work for me. I'm running fedora 26, I have go 1.9 installed.
I've tried:
dnf install
Compiling from source as instructed on their README
yum install because I became desperate.
Downloading and installing from the RPM
Has anyone come accross this and maybe have an idea of how I can fix it?
I suggest that you install librdkafka from Confluent's repository as described in their documentation. But I think that you'll need to build librdkafka from source RPMs, like I'm doing for Ubuntu.
So I got it working thanks to Remi. Adding the repo from https://rpms.remirepo.net/ (I used the one for Fedora 26). Then just installing it using:
sudo dnf --enablerepo=remi install librdkafka-devel

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.

Go lang: how to install libxml2/gokogiri on windows

If there a relatively simple way to make go + libxml2 + gokogiri work on windows?
I mean that I may be can install it (but at the moment I can not, stuck with Package libxml-2.0 was not found in the pkg-config search path), but then I need to provide my utilite to other people, who will never be able (or would wish ) to install lall libxml2 dependencies, modify PATH etc on windows...
It work flawless on Ubuntu...
I found this https://github.com/moovweb/gokogiri/issues/49 thats funny with installation of Gimp 2 (what?!), but I still cannot make it run with such error, I guess might be issue with PATH, but all PATH are set
$ go get github.com/moovweb/gokogiri
# github.com/moovweb/gokogiri/help
Documents\go\src\github.com\moovweb\gokogiri\help\help.go:6:25: fatal error: lib
xml/tree.h: No such file or directory
#include <libxml/tree.h>
^
compilation terminated.
# github.com/moovweb/gokogiri/xpath
Documents\go\src\github.com\moovweb\gokogiri\xpath\expression.go:4:26: fatal err
or: libxml/xpath.h: No such file or directory
#include <libxml/xpath.h>
^
compilation terminated.
You are struggling because it is hard to combine packages that were built by different people for different purposes and get your environment set up correctly. I think it is best to use MSYS2, an environment for Windows that provides a consistent set of packages for things like gcc, go, libxml2, and iconv. MSYS2 has a package manager (pacman) that helps you easily install them and keep them updated.
I don't do much programming with Go, but I am familiar with MSYS2 and it seems like I was able to get gokogiri installed using MSYS2. You should open MSYS2's "MinGW-w64 Win64 Shell" from the Start menu (mingw64_shell.bat), and try running these commands:
pacman -S mingw-w64-x86_64-{gcc,go,libxml2,iconv}
export GOROOT=/mingw64/
export GOPATH=/c/Users/David/Documents/goproj/
mkdir -p $GOPATH
go get github.com/moovweb/gokogiri
I think GOPATH should be set to the directory of your project. If you run into an error, it might be because some pacman package is required that I didn't list here.
The string mingw-w64-x86_64-{gcc,go,libxml2,iconv} gets expanded by Bash into the following list of packages:
mingw-w64-x86_64-gcc
mingw-w64-x86_64-go
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-iconv
If you are actually using 32-bit Windows, replace x86_64 with i686 in the instructions above.
If you are curious, the scripts for building those packages are here: https://github.com/Alexpux/MINGW-packages
As a disclaimer, I haven't actually compiled any go programs in MSYS2, so there could be big problems I am unaware of.
Also, one of the main developers of MSYS2 (alexpux) said this in the #msys2 IRC chat on 2015-06-21:
We not build go for a long time.
This package in very WIP state
Also see
https://github.com/Alexpux/MINGW-packages/issues/421
So you might need to fix some issues with the MSYS2 Go package and recompile it yourself to really make this work. But you have the PKGBUILD script that was used to build it, so maybe that will be less hard than what you are trying to do right now, which involves compiling/collecting every dependency of gokogiri.
MSYS2 would make your other installation of go, libxml2, and iconv obsolete. You can delete those things once you get your MSYS2 environment working.
If you are using visual studio and want to add dependency to your project then just install it using NuGet Package Manager it's easiest method.
Install command: Install-Package libxml2

Solving the "No package 'json' found" error

I'm on Mac OS X Mountain Lion and a newbie to autotools and other GNU build tools. I'm trying to build a custom version of json-c to use with a a C project (axis2/c). After running the auto tools, and I run the configure command I get a failure with this output:
checking whether to use JSON... yes
checking for JSON... no
configure: error: Package requirements (json) were not met:
No package 'json' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables JSON_CFLAGS
and JSON_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
If I install json-c from macports, configure runs properly. Unfortunately, the project needs a later version of json-c, than what is available in macports (even though this is successful in the configure stage, it later results in a compilation error).
When I install this manually from source, I see that the libs are there in /usr/local/lib and header files in /usr/local/include/json-c. After removing any json-c files that came from macports, I tried copying these repective to the locations in /opt/local/lib and /opt/local/include/json-c but it still resulted in the same package not found error.
What does macports do differently that the package is 'found' when you run configure? Can I replicate the same when I manually install json-c from source?
Thanks in advance.
Macports creates a .pc file with under /opt/local/pkgconfig/. In this case it was json.pc. I edited that to point to the locations in /usr/local and the configure found and used the package I manually built from source.

Resources