icewm icon indicating copy to clipboard operation
icewm copied to clipboard

Installation of IceWM on Ubuntu 16.04

Open CheckB opened this issue 8 years ago • 29 comments

  1. Ubuntu Server 16.04.03 x64 (latest, clean).

  2. git clone http://github.com/bbidulock/icewm.git

  3. cd icewm

  4. ./autogen.sh output: ./autogen.sh: 40: ./autogen.sh: autoreconf: not found

https://github.com/bbidulock/icewm/blob/icewm-1-4-BRANCH/autogen.sh#L40

  1. How to build .deb package?

https://github.com/bbidulock/icewm/issues/222#issuecomment-362923966

CheckB avatar Feb 01 '18 21:02 CheckB

You need a complete GNU autoconf/automake/getttext/libtool or alternately a cmake toolchain to build the package. Its been a long time since I used ubuntu, but I helieve there is some "devel" meta-package that pulls in everything you need to build stuff.

bbidulock avatar Feb 02 '18 17:02 bbidulock

Try: apt-get build-dep icewm

Code7R avatar Feb 02 '18 19:02 Code7R

@Code7R

Try: apt-get build-dep icewm

E: You must put some 'source' URIs in your sources.list

CheckB avatar Feb 03 '18 08:02 CheckB

See this: https://askubuntu.com/questions/430706/installing-autotools-autoconf

gijsbers avatar Feb 03 '18 11:02 gijsbers

@gijsbers

https://askubuntu.com/questions/430706/installing-autotools-autoconf

Ok.

apt-get install autotools-dev apt-get install autoconf

1

CheckB avatar Feb 03 '18 13:02 CheckB

In general one can figure out which package needs to be installed by using a command like for instance command-not-found:

apt-get install command-not-found

Then command-not-found autopoint should tell you which package you need to install to get the autopoint command. By repeating this procedure for whatever command is missing you should succeed eventually.

The README appears to be incomplete on the requirements and the INSTALL file is too generic, while INSTALL.cmakebuild merely refers to INSTALL.

You may wish to add the --enable-gdk-pixbuf flag to configure as this is more stable at the moment, but it may require installing gdk-pixbuf related dependencies. If you succeed it would be interesting to learn all the package dependencies for your system.

gijsbers avatar Feb 03 '18 17:02 gijsbers

@gijsbers

apt-get install -y command-not-found autopoint

1

I suggest then add this information to the readme. That is, according to the build on ubuntu 16.04 :)

CheckB avatar Feb 03 '18 18:02 CheckB

Try to install this first:

apt install asciidoc asciidoctor autoconf automake autopoint build-essential fontconfig fontconfig-config gettext libao-dev libasound2-dev libesd0-dev libsndfile1-dev libfontconfig1-dev libfribidi-dev libgdk-pixbuf2.0-dev libpulse-dev libtool libsm-dev libx11-dev libxext-dev libxft-dev libxinerama-dev libxrandr-dev libxrender-dev

then:

./autogen.sh
./configure --enable-gdk-pixbuf --prefix=/tmp
make -k
make -k install

gijsbers avatar Feb 03 '18 19:02 gijsbers

@gijsbers

apt install asciidoc asciidoctor autoconf automake autopoint build-essential fontconfig fontconfig-config gettext libao-dev libasound2-dev libesd0-dev libfontconfig1-dev libfribidi-dev libgdk-pixbuf2.0-dev libpulse-dev libtool libx11 libx11-dev libxext libxext-dev libxft-dev libxinerama-dev libxrandr-dev libxrender-dev

Unable to locate package libx11 libxext

libx11 -> libx11-6 libxext -> libxext6

./autogen.sh ./configure --enable-gdk-pixbuf --prefix=/tmp make -k

Result: 1

make -k install

1

CheckB avatar Feb 03 '18 19:02 CheckB

You can omit libx11 and libxext. Comment https://github.com/bbidulock/icewm/issues/222#issuecomment-362846726 was edited.

Yes the compile and install has some translation errors, but you can safely ignore those. The installed icewm should work for you. Did you test it?

gijsbers avatar Feb 04 '18 02:02 gijsbers

@gijsbers 1

CheckB avatar Feb 04 '18 10:02 CheckB

ok...

whereis icewm:

icewm:

apt -y isntall icewm whereis icewm

icewm: /usr/bin/icewm /usr/share/icewm

CheckB avatar Feb 04 '18 11:02 CheckB

try icewm --version, which should give you IceWM 1.4.2.1118. Because you configured --prefix=/tmp you installed to /tmp and your new icewm should be /tmp/bin/icewm. Try /tmp/bin/icewm-session in your .xinitrc. Better set the configure prefix to where you want to install it, recompile and install again.

gijsbers avatar Feb 04 '18 16:02 gijsbers

@gijsbers thx! its work!

How to build a .deb package? :)

CheckB avatar Feb 04 '18 16:02 CheckB

You should have said that from the start.

git remote add deb https://github.com/Code7R/icewm.git

git fetch deb

git merge deb/debian/experimental

fakeroot debian/rules binary

Code7R avatar Feb 04 '18 17:02 Code7R

@Code7R

I apologize, this is a spontaneous question.

The first post has been fixed.

git remote add deb https://github.com/Code7R/icewm.git

1

Can create new issues?

CheckB avatar Feb 04 '18 17:02 CheckB

@CheckB

You were supposed to run it in your existing working directory, where you other git checkout already lies. Either that, or you can create a new checkout (simply clone https://github.com/Code7R/icewm.git and checkout the branch debian/experimental - I synched this last Sunday, merging latest 1.4 branch so far).

When you are there, run debbuild there and it should do the job or tell you what else (build-deps) is missing.

Code7R avatar Feb 06 '18 18:02 Code7R

@Code7R

1

cd icewm

git remote add deb https://github.com/Code7R/icewm.git

git fetch deb

git merge deb/debian/experimental

fakeroot debian/rules binary

CheckB avatar Feb 06 '18 20:02 CheckB

Friends, on the second point the task is:

  1. On a virtual machine that addresses the CPU host, compile with maximum optimizations, and also configure with minimal components.
  2. Build a .deb package to minimize the size of the installation (that would not use other packages that are needed for compilation).
  3. Install the .deb package on the host machine.

CheckB avatar Feb 06 '18 22:02 CheckB

Friends, have any ideas? You just need to compile and compile the package into a .deb package

CheckB avatar Feb 10 '18 14:02 CheckB

Please start by reading intro documentation about how to setup a basic build environment. Like:

https://duckduckgo.com/?t=palemoon&q=ubuntu+install+compiler

When you have done that, please clone my repo (see above) and checkout the Debian specific branch (debian/experimental in this case which I sync with upstream about every couple of weeks).

When you are there, run dpkg-checkbuilddeps and it will tell you what else has to be installed (with apt). Then run dpkg-buildpackage -us -uc -b and it should finish with a bunch of debs in the parent folder.

PS: and for god's sake, please stop working as root and stop pasting images where you could post plain text.

Code7R avatar Feb 10 '18 20:02 Code7R

@Code7R thx.

PS: and for god's sake, please stop working as root and stop pasting images where you could post plain text.

  1. root is needed to run some software.
  2. The text is not copied from the virtualbox, and with the running icewm for some reason it does not work.

CheckB avatar Feb 11 '18 16:02 CheckB

@Code7R

I did everything as you said ...

Details:

1

CheckB avatar Feb 20 '18 15:02 CheckB

It would really be easier for us if you could use a ssh connection to your VirtualBox server and then copy paste plain text here instead of images. Install openssh-server and openssh-client. Then connect to your server from a terminal with ssh.

What gives (in plain text output, not in a screendump):

apt list --installed | grep -e png -e jpeg -e xpm

Does it help if you try:

apt install libpng16-dev

gijsbers avatar Feb 20 '18 16:02 gijsbers

@gijsbers

apt install libpng16-dev

The following packages will be REMOVED: libfontconfig1-dev libfreetype6-dev libpng12-dev libxft-dev The following NEW packages will be installed: libpng16-dev libpng16-devtools

  1. Ok, install.

dpkg-buildpackage -us -uc -b dpkg-buildpackage: source package icewm dpkg-buildpackage: source version 1.4.3.0~pre-20180204-1 dpkg-buildpackage: source distribution UNRELEASED dpkg-buildpackage: source changed by Eduard Bloch [email protected] dpkg-buildpackage: host architecture amd64 dpkg-source --before-build icewm dpkg-source: info: using options from icewm/debian/source/options: --extend-diff-ignore=(^|/)(config.sub|config.guess|src/Makefile|doc/icewm.*html|lib/preferences)$ --single-debian-patch --auto-commit dpkg-checkbuilddeps: error: Unmet build dependencies: libxft-dev (>> 2.1.1) | libxft2-dev libpng-dev dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.)

He rolled back the changes. Output from the desired command.

apt list --installed | grep -e png -e jpeg -e xpm

libjpeg-turbo8/xenial,now 1.4.2-0ubuntu3 amd64 [installed,automatic] libjpeg8/xenial,now 8c-2ubuntu8 amd64 [installed,automatic] libopenjpeg5/xenial,now 1:1.5.2-3.1 amd64 [installed,automatic] libpng12-0/xenial,now 1.2.54-1ubuntu1 amd64 [installed] libpng12-dev/xenial,now 1.2.54-1ubuntu1 amd64 [installed] libxpm-dev/xenial-updates,xenial-security,now 1:3.5.11-1ubuntu0.16.04.1 amd64 [installed] libxpm4/xenial-updates,xenial-security,now 1:3.5.11-1ubuntu0.16.04.1 amd64 [installed,automatic]

CheckB avatar Feb 20 '18 22:02 CheckB

I would suggest on some Ubuntu forum then. I see no reason why they set the dependencies in a way which uninstalls libxft-dev etc.

Code7R avatar Feb 21 '18 20:02 Code7R

@Code7R and on what distribution do you build the package? debian 9?

It is not important for me to collect exactly on ubuntu, I can also build on debian. But with the problem of assembling I will inform the packet maintainers

CheckB avatar Feb 22 '18 06:02 CheckB

@CheckB

Debian 9?? Welcome to bleeding edge!

Using Debian Sid here (aka Unstable or development area). But the build also works on Debian 9, I have tested it with a quick test in pbuilder (Debian Stable environment).

In the meantime I moved the target branch from debian/experimental to debian/sid so please checkout that branch.

I think I have also solved the mentioned problem with libpng12 headers, so you can continue with my last instructions above.

Code7R avatar Feb 22 '18 07:02 Code7R

@Code7R thx friend. Its work.

CheckB avatar Feb 22 '18 12:02 CheckB