Sunday, March 25, 2018

Building GNU automake 1.16.1

I start with the same considerations from the post Building autoconf 2.69. The GNU automake library is sometimes used on GNU buildings so I add it to my crazy list of GNU software to manually build.

NOTE
On this post I'm using the lastest GNU automake verion at the time of this writing. But sometimes one particular version simply doesn't work. For instance, version 1.16 fails building, but version 1.16.1 succeeds.

The basic building strategy and general assumptions have been detailed on a previous post: Staged Building, so I'll (hopefully) get more straight to the point:

$ pwd
/stage/build

$ ./gnu-build-preparation ../source/.../automake-1.16.1.tar.xz
...

$ cd automake/automake-1.16.1-64

$ source ../setenv 64

CONFIG_SHELL=/usr/bin/bash

CC=/usr/bin/gcc CFLAGS=-m64 -march=core2 -std=gnu89

CXX=/usr/bin/g++ CXXFLAGS=-m64 -march=core2 -std=gnu++03

LD=/usr/bin/ld LDFLAGS=-m64 -march=core2

PATH=/opt/gnu/bin:/usr/gnu/bin:/usr/bin:/usr/sbin

PKG_CONFIG_PATH=

Suggested build sequence:

Fine-tune/fix config.h.in, Makefile.in and others...

$ ./configure \
  --build=x86_64-pc-solaris2.11 \
  --prefix=/opt/... \
  ...

$ gmake -j3

For IPS package:


$ sudo gmake DESTDIR=/stage/prototype/automake/1.16.1/64 install

For immediate use:

$ sudo gmake install
$ sudo snapshot -r .../opt/...@automake-1.16.1


Monday, March 19, 2018

Building GNU autoconf 2.69

I start with the same considerations from the post Building GNU m4. The GNU autoconf library is sometimes used on GNU buildings so I add it to my crazy list of GNU software to manually build.

The basic building strategy and general assumptions have been detailed on a previous post: Staged Building, so I'll (hopefully) get more straight to the point:

$ pwd
/stage/build

$ ./gnu-build-preparation ../source/.../autoconf-2.69.tar.xz
...

$ cd autoconf/autoconf-2.69-64

$ source ../setenv 64

CONFIG_SHELL=/usr/bin/bash

CC=/usr/bin/gcc CFLAGS=-m64 -march=core2 -std=gnu89

CXX=/usr/bin/g++ CXXFLAGS=-m64 -march=core2 -std=gnu++03

LD=/usr/bin/ld LDFLAGS=-m64 -march=core2

PATH=/opt/gnu/bin:/usr/gnu/bin:/usr/bin:/usr/sbin

PKG_CONFIG_PATH=

Suggested build sequence:

Fine-tune/fix config.h.in, Makefile.in and others...

$ ./configure \
  --build=x86_64-pc-solaris2.11 \
  --prefix=/opt/... \
  ...

$ gmake -j4


For IPS package:


$ sudo gmake DESTDIR=/stage/prototype/autoconf/2.69/64 install

For immediate use:

$ sudo gmake install
$ sudo zfs snapshot -r .../opt/...@autoconf-2.69

Building GNU m4 1.4.18

I start with the same considerations from the post Building GNU libtool 2.4.6. The GNU m4 library is sometimes used on GNU buildings so I add it to my crazy list of GNU software to manually build.

The basic building strategy and general assumptions have been detailed on a previous post: Staged Building, so I'll (hopefully) get more straight to the point:

$ pwd
/stage/build

$ ./gnu-build-preparation ../source/.../m4-1.4.18.tar.xz
...

$ cd m4/m4-1.4.18

$ source ../setenv 64

CONFIG_SHELL=/usr/bin/bash

CC=/usr/bin/gcc CFLAGS=-m64 -march=core2 -std=gnu89

CXX=/usr/bin/g++ CXXFLAGS=-m64 -march=core2 -std=gnu++03

LD=/usr/bin/ld LDFLAGS=-m64 -march=core2

PATH=/opt/gnu/bin:/usr/gnu/bin:/usr/bin:/usr/sbin

PKG_CONFIG_PATH=

Suggested build sequence:

Fine-tune/fix config.h.in, Makefile.in and others...

$ ./configure \
  --build=x86_64-pc-solaris2.11 \
  --prefix=/opt/... \
  ...
 

$ gmake -j3

For IPS package:


$ sudo gmake DESTDIR=/stage/prototype/m4/1.4.18/64 install

For immediate use:

$ sudo gmake install
$ sudo zfs snapshot -r .../opt/...@m4-1.4.18

Saturday, March 17, 2018

Building GNU libtool 2.4.6

I start with the same considerations from the post Building GNU libsigsegv 2.12. The GNU libtool library is sometimes used on GNU buildings so I add it to my crazy list of GNU software to manually build.

The basic building strategy and general assumptions have been detailed on a previous post: Staged Building, so I'll (hopefully) get more straight to the point:

$ pwd
/stage/build

$ ./gnu-build-preparation ../source/.../libtool-2.4.6.tar.xz

Processing /stage/source/.../libtool-2.4.6.tar.xz

------------------------------------
App: libtool
Ver: 2.4.6
------------------------------------

In the process, the following ZFS datasets will be created:

  rpool/stage/build/libtool
 
rpool/stage/build/libtool/libtool-2.4.6
 
rpool/stage/build/libtool/libtool-2.4.6-32
 
rpool/stage/build/libtool/libtool-2.4.6-64

 
rpool/stage/prototype/libtool
 
rpool/stage/prototype/libtool/libtool-2.4.6
 
rpool/stage/prototype/libtool/libtool-2.4.6/32
 
rpool/stage/prototype/libtool/libtool-2.4.6/64

Enter "y" to proceed:
y

Creating
rpool/stage/build/libtool...
Creating
rpool/stage/build/libtool/libtool-2.4.6...
   
rpool/stage/build/libtool 
rpool/stage/build/libtool/libtool-2.4.6
rpool/stage/build/libtool/libtool-2.4.6@source
rpool/stage/build/libtool/libtool-2.4.6-32 
rpool/stage/build/libtool/libtool-2.4.6-32@start
rpool/stage/build/libtool/libtool-2.4.6-64
rpool/stage/build/libtool/libtool-2.4.6-64@start

Creating data-0/stage/prototype/libtool subtree.

rpool/stage/prototype/libtool
rpool/stage/prototype/libtool/2.4.6
rpool/stage/prototype/libtool/2.4.6/32

rpool/stage/prototype/libtool/2.4.6/64

Creating pre-configuration script.


$ cd libtool/libtool-2.4.6-64

$ source ../setenv 64
...

Friday, March 16, 2018

Building GNU libsigsegv 2.12

In a crazy effort to gather an ever growing set of up-to-date GNU tools and utilities built my myself I proceed little by little on each GNU software, getting its source code and attempting the build. At first I'm concerned in just successfully building the software. But I'll try to figure out how to reference the new artifacts in a sort of side-by-side installation that could co-exist with the standard Solaris packages without mixing stuffs.

The GNU libsigsegv library is sometimes used on GNU buildings so I add it to my crazy list of GNU software to manually build. For now, it seems that later on I would have to adjust my GNU m4 macros in order to take into account this new libsigsegv version. Fortunately, later on when I build an updated version of GNU m4 I'll have the option (--with-libsigsegv-prefix) to automatically do that.

The basic building strategy and general assumptions have been detailed on a previous post: Staged Building, so I'll (hopefully) get more straight to the point:

$ pwd
/stage/build

$ ./gnu-build-preparation ../source/.../libsigegv-2.12.tar.gz

Processing /stage/source/.../libsigsegv-2.12.tar.gz

------------------------------------
App: libsigsegv
Ver: 2.12
------------------------------------

In the process, the following ZFS datasets will be created:

  rpool/stage/build/libsigsegv
  rpool/stage/build/libsigsegv/libsigsegv-2.12
  rpool/stage/build/libsigsegv/libsigsegv-2.12-32
  rpool/stage/build/libsigsegv/libsigsegv-2.12-64

  rpool/stage/prototype/libsigsegv
  rpool/stage/prototype/libsigsegv/libsigsegv-2.12
  rpool/stage/prototype/libsigsegv/libsigsegv-2.12/32
  rpool/stage/prototype/libsigsegv/libsigsegv-2.12/64

Enter "y" to proceed:
y
 

Creating rpool/stage/build/libsigsegv...
Creating rpool/stage/build/libsigsegv/libsigsegv-2.12...

rpool/stage/build/libsigsegv
rpool/stage/build/libsigsegv/libsigsegv-2.12
rpool/stage/build/libsigsegv/libsigsegv-2.12@source
rpool/stage/build/libsigsegv/libsigsegv-2.12-32
rpool/stage/build/libsigsegv/libsigsegv-2.12-32@start
rpool/stage/build/libsigsegv/libsigsegv-2.12-64
rpool/stage/build/libsigsegv/libsigsegv-2.12-64@start

Creating rpool/stage/prototype/libsigsegv subtree.

rpool/stage/prototype/libsigsegv
rpool/stage/prototype/libsigsegv/2.12
rpool/stage/prototype/libsigsegv/2.12/32
rpool/stage/prototype/libsigsegv/2.12/64

Creating pre-configuration script.


$ cd libsigsegv/libsigsegv-2.12-64

$ source ../setenv 64

CONFIG_SHELL=

CC=/usr/bin/gcc CFLAGS=-m64 -march=core2 -std=gnu89

CXX=/usr/bin/g++ CXXFLAGS=-m64 -march=core2 -std=gnu++03

LD=/usr/bin/ld LDFLAGS=-m64 -march=core2

PATH=/usr/gnu/bin:/usr/bin:/usr/sbin

PKG_CONFIG_PATH=

Suggested build sequence:

Fine-tune/fix config.h.in, Makefile.in and others...

$ ./configure \
  --build=x86_64-pc-solaris2.11 \
  --prefix=/opt/... \
  ...


$ gmake -j4

For IPS package:


$ sudo gmake DESTDIR=/stage/prototype/libsigsegv/2.12/64 install

For immediate use:

$ sudo gmake install

$ zfs snapshot -r .../opt/...@libsigsegv-2.12