saitoha / libsixel

A SIXEL encoder/decoder implementation derived from kmiya's sixel (https://github.com/saitoha/sixel).
MIT License
2.46k stars 82 forks source link

Slackware 14.2 build issue #130

Closed orbea closed 3 years ago

orbea commented 4 years ago

OS: Slackware64-14.2 libsixel: 1.8.6

When trying to build the new 1.8.6 release in Slackware 14.2 the build fails, this did not occur with 1.8.5.

make  all-recursive
make[1]: Entering directory '/tmp/SBo/libsixel-1.8.6'
Making all in include
make[2]: Entering directory '/tmp/SBo/libsixel-1.8.6/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/SBo/libsixel-1.8.6/include'
Making all in src
make[2]: Entering directory '/tmp/SBo/libsixel-1.8.6/src'
Makefile:598: .deps/libsixel_la-allocator.Plo: No such file or directory
Makefile:599: .deps/libsixel_la-chunk.Plo: No such file or directory
Makefile:600: .deps/libsixel_la-decoder.Plo: No such file or directory
Makefile:601: .deps/libsixel_la-dither.Plo: No such file or directory
Makefile:602: .deps/libsixel_la-encoder.Plo: No such file or directory
Makefile:603: .deps/libsixel_la-frame.Plo: No such file or directory
Makefile:604: .deps/libsixel_la-fromgif.Plo: No such file or directory
Makefile:605: .deps/libsixel_la-frompnm.Plo: No such file or directory
Makefile:606: .deps/libsixel_la-fromsixel.Plo: No such file or directory
Makefile:607: .deps/libsixel_la-loader.Plo: No such file or directory
Makefile:608: .deps/libsixel_la-malloc_stub.Plo: No such file or directory
Makefile:609: .deps/libsixel_la-output.Plo: No such file or directory
Makefile:610: .deps/libsixel_la-pixelformat.Plo: No such file or directory
Makefile:611: .deps/libsixel_la-quant.Plo: No such file or directory
Makefile:612: .deps/libsixel_la-scale.Plo: No such file or directory
Makefile:613: .deps/libsixel_la-status.Plo: No such file or directory
Makefile:614: .deps/libsixel_la-stb_image_write.Plo: No such file or directory
Makefile:615: .deps/libsixel_la-tosixel.Plo: No such file or directory
Makefile:616: .deps/libsixel_la-tty.Plo: No such file or directory
Makefile:617: .deps/libsixel_la-writer.Plo: No such file or directory
Makefile:618: .deps/tests-tests.Po: No such file or directory
make[2]: *** No rule to make target '.deps/tests-tests.Po'.  Stop.
make[2]: Leaving directory '/tmp/SBo/libsixel-1.8.6/src'
Makefile:492: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/SBo/libsixel-1.8.6'
Makefile:399: recipe for target 'all' failed
make: *** [all] Error 2

Full build log - libsixel.log

This might be the issue?

$ find libsixel-1.8.6/ -iname '*deps*'
libsixel-1.8.6/src/$(srcdir)/.deps
libsixel-1.8.6/converters/$(srcdir)/.deps

where $(srcdir) is not expanding.

orbea commented 4 years ago

Git bisect results.

1bad200093176ae5c56651e7e6c7d56a77e745a4 is the first bad commit
commit 1bad200093176ae5c56651e7e6c7d56a77e745a4
Author: Hayaki Saito <saitoha@me.com>
Date:   Sat Jan 11 07:21:58 2020 +0900

    Additional fixes for VPATH build(#56)

:100644 100644 2ab4289251cbc7b9511521ab05a191b8e504fbb3 62f1afdad49a18bb644fe48f9804c90288526d8b M  Makefile.am
:100644 100644 a49e912161cbd9c59d841dbb873a1764b86dbb44 ff563b22c19270ff7cc14c161eca38e825caf3af M  Makefile.in
:100644 100644 9665de0ac63a72a81e158c6998ceb6ae245a0687 895cc8991fee15753baf7fe6b420e1d87ae4c45c M  configure.ac
:040000 040000 a5f7fe4db51cceb735348d4330acd1441e8782cb 45015978220ca9bb9f5e41a19a80b9ec481b326e M  converters
:040000 040000 a5df756bd9dce1534f62f064d10abf673a07b1bb 96c231499849143578f72896e806908a35ed5124 M  python
:040000 040000 f17ebd094b5e65fb61405626367117d722d758dc f550c3ab57daa37d8724c5ec804ab89dbd094755 M  src

1bad200093176ae5c56651e7e6c7d56a77e745a4

saitoha commented 4 years ago

I can't reproduce it.

$ cat Dockerfile 
FROM vbatts/slackware:14.2

RUN slackpkg update
RUN slackpkg install -y git
RUN slackpkg install -y binutils
RUN slackpkg install -y gcc-5.5
RUN slackpkg install -y glibc
RUN slackpkg install -y cyrus-sasl
RUN slackpkg install -y curl
RUN slackpkg install -y libmpc
RUN slackpkg install -y kernel-headers
RUN slackpkg install -y make
RUN slackpkg install -y guile
RUN slackpkg install -y gc
RUN slackpkg install -y libffi
RUN slackpkg install -y openldap
RUN slackpkg install -y zlib
RUN slackpkg install -y libssh2
RUN slackpkg install -y flex
RUN git clone https://github.com/saitoha/libsixel
RUN libsixel/configure
RUN make
RUN converters/img2sixel --version

$ docker build . | tail -30
img2sixel 1.8.6

configured with:
  libcurl: yes
  libpng: no
  libjpeg: no
  gdk-pixbuf2: no
  GD: no

Copyright (C) 2014-2018 Hayaki Saito <saitoha@me.com>.

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Removing intermediate container 4006cb2d7b1c
 ---> 092cdfef853d
Successfully built 092cdfef853d

Can you reproduce it in your docker?

orbea commented 4 years ago

Try autoreconf -fi before configure. The problem seems to be in the autoreconf in 14.2 and is not present in Slackware current.

git clone https://github.com/saitoha/libsixel/
cd libsixel
autoreconf -fi
./configure
make
saitoha commented 4 years ago

Finally reproduced with:

$ slackpkg install autoconf automake libtool perl m4 && autoreconf -if && ./configure && make
orbea commented 4 years ago

Thanks for taking the time to test. I spent some time undoing various parts of the bisected commit yesterday without much luck, but I don't know autotools that well.

orbea commented 4 years ago

@saitoha Any progress on this issue?