How do I compile Autoconf from git without already having Autoconf - autoconf

I am on an OS that doesn't currently have Autoconf so I am trying to install from source using git clone git://git.sv.gnu.org/autoconf but there is no configure in that folder. I know there are other ways like using a package manager or downloading the tar version with the existing configure file.
But how do I compile Autoconf if I don't already have autoconf installed?

But how do I compile Autoconf if I don't already have autoconf installed?
Install autoconf from a tarball or package manager and follow the steps in README-hacking, e.g.:
$ autoreconf -vi
will generate configure. Implicity, the answer to your question is: you don't, if you follow the steps in README-hacking.
I've always grabbed a tarball if a package wasn't available on a platform to get a working copy of autoconf.

Related

How to install older gcc package using APT from a repository?

I have GCC v9. But I'm trying to install a GCC 4.8.1 version to test a library compilation on that very old version of GCC.
The version is not available in the official Ubuntu repos,it is deprecated, but I've found it in other mirrors as told by the official GCC website. This one seems like popular one:
https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
I have very little knowledge of linux package systems except for the basic. I want to keep both versions. So I should do this:
sudo apt -y install gcc-4.8.1 gcc-9
The reason why I want to use this command and not install it from the file, apart from the difficulty of doing that for me, is that I'm following a guide in order to have several GCCs on my system:
https://www.fosslinux.com/39386/how-to-install-multiple-versions-of-gcc-and-g-on-ubuntu-20-04.htm
When I add the url to the sources.list file seems like it is working.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update -q
But when I try to call the install with gcc-4.8.1 or gcc-4.8 , or even gcc-4 the package doesn't exist.
Package gcc-4.8 is not available, but is referred to by another
package. This may mean that the package is missing, has been
obsoleted, or is only available from another source E: Package
'gcc-4.8' has no installation candidate
Also, I don't know if websites like these can be added to the repos list in order to find the package using APT:
http://www.netgull.com/gcc/releases/gcc-4.8.1/
[EDIT]
I downloaded the package from the website I linked. I have no idea how to install this by hand. If only I could find a repository that could help me with this... I have no idea how to make APT help me with the installation.
But I'm trying to install a GCC 4.8.1 version to test a library compilation on that very old version of GCC.
Developers have tools up their sleeve so they don't have to install dependencies and bloating their systems for every library (and every configuration of that library!) they want to try out and test.
Use docker. You could write for example a testing script, assuming your project uses make:
# test_my_lib_in_gcc-4.8.sh
#!/bin/sh
docker run -ti --rm -v $PWD:/project -w /project gcc:4.8 -u $UID:$GID sh <<EOF
make && make test
EOF
that will compile and test your application in using 4.8 gcc. Consider how easy it is to change gcc version - just change the number. You could test your library in gcc, in different versions, and using other compilers and on different distributions to make sure it works for others. If you're a developer of the library, write an automatized CI pipeline that would automatically test your application each commit in specific docker environment, using ex. https://docs.gitlab.com/ee/ci/README.html or https://travis-ci.org/ .

Cygwin and "failed to run aclocal: No such file or directory"

I'm trying to test our Autotools stuff on Cygwin. When I open a prompt:
$ autoreconf --install --force
Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf-2.69: failed to run aclocal: No such file or directory
I re-ran the Cygwin package manager and verified autoconf, automake and libtool were installed. There is no package aclocal to install.
Searching is not returning useful hits in the context of Cygwin.
What is the problem, and how do I fix it?
So it looks like it is not enough to install Autoconf 2.69, Automake 1.15 and Libtool. There are other packages that need to be installed, but Cygwin does not install them.
First, I needed the package called automake: wrapper for multiple versions of Automake. Second, I needed the package called libtool: generic library support script.
The package called autoconf: wrapper for multiple versions of Autoconf was already installed, so it did not need to be installed.
If the Autools package needs them, then it should probably install them when users select packages like Autoconf 2.69 and Automake 1.15.

Compiling Cairo-dock errors on GTK dependency

I've Redhat 7.2 running Cinnamon, and hate the docks provided, how come I can't resize the area a widgit is allocated? All apps are jammed into half the dock.
Drives me to compile cairo-dock from source as it isn't an ibm redhat blessed package.
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
...
-- checking for module 'wayland-client>=1.0.0'
-- package 'wayland-client>=1.0.0' not found
-- checking for module 'gtk+-3.0>=3.4.0'
-- package 'gtk+-3.0>=3.4.0' not found
so I find gtk version is 3.14.13-16.el7 using yum list installed "gtk*"
I downloaded gtk 3.4.4 and compiled it and follow the INSTALL provided, sudo make install, which completes with no errors
rerunning cmake gives me the same error, so I'm wondering if I had to remove 3.14? I'm not really sure how best to proceed and thought it best to get some advice. I'm not really in the mood to break things. Thanks for your time and consideration.
Calvin, I'm also IBMer and installed RHEL7.2 from IBM's image.
I could successfully download the sources and install Cairo Docker and respective plugins.
I followed the instructions in this page here:
Glx-Dock - Generic:Compilation
First, install all dependencies below from official IBM repository.
I used the same package names for the Fedora dependencies and some may NOT exist for RHEL. Therefore, some plugins won't be available by fetching dependencies from official repository only - but the Cairo Docker will work.
sudo yum install cmake make pkgconfig gcc gcc-c++ gettext glib2-devel\
cairo-devel librsvg2-devel dbus-glib-devel libxml2-devel libXrender-devel\
mesa-libGL-devel mesa-libGLU-devel pango-devel libXxf86vm-devel\
libXtst-devel libXrandr-devel libX11-devel libcurl-devel gtk3-devel\
vte3-devel lm_sensors-devel libxklavier-devel libexif-devel\
libetpan-devel gnome-menus-devel alsa-lib-devel libical-devel\
upower-devel libzeitgeist-devel
Untar the packages and build with the commands described there except that you need to force the lib64 in both main and plugin builds with:
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFORCE_LIB64=yes

osm2pgsql Protobuf not Found: Centos

The Problem:
I have a program I am installing from source. When I run ./configure, it stops saying "no protobuf development libraries found", however, protobuf is installed on my system.
How do I specify the path to those libraries when I run ./configure?
The program I am trying to install is osm2pgsql on CentOS 6.6.
Update:
I fixed the problem fortunately.
What Happened?:
osm2pgsql uses pkg-config to point to dependent libraries. On CentOS 7 pkg-config uses this directory /usr/share/pkgconfig/. Within this directory there are .pc files for different programs. These files are used by pkg-config to show where libraries of certain programs are located. When you install protobuf from package manager or source the installation doesn't automatically let pkg-config know where the libraries are at via a .pc file.
The Fix:
Install protobuf from source from their git page. After you've ran make install there will be several .pc files within the cloned directory. You need to place these in /usr/share/pkgconfig. To do this run the following in the cloned directory:
sudo cp protobuf.pc* /usr/share/pkgconfig/
sudo cp protobuf-lite.pc* /usr/share/pkgconfig/
Conclusion:
Ta Da! Now go back to your osm2pgsql install folder and rerun ./configure.

Installing FontForge from the source on GitHub

I'm trying to install the latest version of FontForge from the source. I know the whole procedure of ./configure, make, and make install, but there's no configure script in the source package, just configure.ac, which seemingly needs to be processed with autoconf, but autoconf fails to do so. When I run autoconf, it says something about possibly undefined macro. After I googled the error, it led me to trying aclocal ; autoheader; automake ; autoconf which didn't work either.
You need to invoke the autogen.sh script to generate the configure script. As a pre-requisite, you would need autoconf, automake and libtool installed.
$ ./autogen.sh
Preparing the fontforge build system...please wait
Found GNU Autoconf version 2.69
Found GNU Automake version 1.12.1
Found GNU Libtool version 2.4.2
Automatically preparing build ... done
The fontforge build system is now prepared. To build here, run:
./configure
make
Just run the autogen.sh script, it will perform all the necessary steps. See the Auto-Book for an explanation.
The configure script isn't present in the git master; that's normal. To create it, run
./autogen.sh
I've added an INSTALL.git file to the git repo so this will be clear to other users.
https://github.com/fontforge/fontforge/blob/master/INSTALL.git

Resources