linuxmint / pix

Image management application
GNU General Public License v2.0
205 stars 43 forks source link

Write up full build instructions #8

Closed jamesbroadhead closed 5 years ago

jamesbroadhead commented 7 years ago

INSTALL is generic, and starts from the ./configure phase.

I had success eventually with a combination of autoreconf, automake --install-missing and libtoolize, albeit with warnings.

Please update INSTALL with full build instructions.

Beep6581 commented 6 years ago

No compilation instructions in README. INSTALL contains invalid instructions - already the very first step does not work - ./configure

eloyesp commented 5 years ago

Please, I've been using this application and it is really good, but there are no prebuild packages to download or a valid configure file that would help a lot.

leigh123linux commented 5 years ago

See

https://github.com/linuxmint/pix/blob/master/INSTALL#L37

So there in no configure file, generate it!

autoreconf -fiv
Beep6581 commented 5 years ago

The issue was closed but the problem is unsolved, as the instructions are still sorely lacking.

Tested using b2ba61e I looked at https://github.com/linuxmint/pix/blob/master/INSTALL#L37

The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'.  You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.

No mention at all of what to do with autoconf.

git clone https://github.com/linuxmint/pix.git code-pix
cd code-pix
autoconf

results in a whole bunch of errors:

configure.ac:13: error: possibly undefined macro: AM_INIT_AUTOMAKE
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:26: error: possibly undefined macro: AM_MAINTAINER_MODE
configure.ac:42: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:101: error: possibly undefined macro: AC_DEFINE
configure.ac:125: error: possibly undefined macro: AM_CONDITIONAL
configure.ac:256: error: possibly undefined macro: AM_GLIB_GNU_GETTEXT

and then proceeding to the next step results in more errors

$ ./configure
./configure: line 2164: syntax error near unexpected token `1.11'
./configure: line 2164: `AM_INIT_AUTOMAKE(1.11 foreign no-dist-gzip dist-xz tar-ustar subdir-objects)'
$ make
make: *** No targets specified and no makefile found.  Stop.

Not to mention that the instructions lead to an in-source build (well, the instructions currently lead to no build at all), while best practices have for years recommended out-of-source builds.

Beep6581 commented 5 years ago

I noticed there is a PR which potentially fixes this issue, but the issue is already closed. This issue should remain open, the PR's commit message should include "Fixes #8", and then this issue would automatically be closed once the PR is merged. See https://help.github.com/articles/closing-issues-using-keywords/

eloyesp commented 5 years ago

So there in no configure file, generate it!

autoreconf -fiv

@leigh123linux Running this gives an error: configure.ac:256: error: possibly undefined macro: AM_GLIB_GNU_GETTEXT

I think that this is a great project that could be used in many distros, not just Mint, but there should be a way to build and install.

@Beep6581 the given autogen.sh requires glib-gettextize that is not found on my system (and I think it's not used, but I'm not sure)

eloyesp commented 5 years ago

On the other hand, I think that the idea is that the generated tar.gzshould include the generated configure file instead of leaving that to the builder (I'm almost sure that this depends only on the project files).

leigh123linux commented 5 years ago

@eloyesp It's undefined because you haven't installed gettext on your system. The inability to build isn't our problem as it's an impossible task to list build deps for all distro's, plenty of them figured it out ok.

https://pkgs.org/download/pix https://aur.archlinux.org/packages/pix/

clefebvre commented 5 years ago

Hi,

It will be different for each distro, but in case it helps, here's the list of build dependencies we're using:

 dh-autoreconf
 intltool
 libexiv2-dev (>= 0.21)
 flex
 bison
 libtiff-dev
 libpng12-dev | libpng-dev
 libjpeg-dev
 libsm-dev
 libice-dev
 scrollkeeper
 automake
 autoconf
 libtool
 gnome-doc-utils
 gnome-common
 gsettings-desktop-schemas-dev
 libgtk-3-dev (>= 3.20.0)
 libxml2-dev (>= 2.4.0)
 libglib2.0-dev (>= 2.34.0)
 libcairo2-dev
 libltdl3-dev
 libsoup-gnome2.4-dev (>= 2.36)
 librsvg2-dev (>= 2.34.0)
 zlib1g-dev
 yelp-tools
 libgstreamer1.0-dev
 libsecret-1-dev
 libgstreamer-plugins-base1.0-dev
 libwebp-dev
 libwebkit2gtk-4.0-dev

gettext is installed pretty much everywhere by default so it's not listed there, but we can add it.

clefebvre commented 5 years ago

Actually gnome-common depends on it.