control: close -1 Hello, answering inline On Sat, 2 May 2020 16:32:27 -0500 (CDT) Timothy Pearson <tpear...@raptorengineering.com> wrote: > Package: libpng16-16:ppc64le > Version: 1.6.36-6 > > libpng is built without VSX support on POWER systems. This breaks > assumptions in other software, such as node optipng (log below). > > I can work around it with this, but it is not ideal: > CFLAGS="-DPNG_POWERPC_VSX_OPT=0" npm install optipng-bin > > npm install optipng-bin > npm WARN npm npm does not support Node.js v10.15.2 > npm WARN npm You should probably upgrade to a newer version of node as we > npm WARN npm can't make any promises that npm will work with this version. > npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, > 8, 9. > npm WARN npm You can find the latest version at https:/nodejs.org/ > > > optipng-bin@6.0.0 postinstall > > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin > > node lib/install.js > > ⚠ Command failed: > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng > --version > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > 1: > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > @@8�@@@@@@@�@@@@����: not found > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > 2: > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > d: not found > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > 1: > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > ELF: not found > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > 1: > /home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/vendor/optipng: > Syntax error: ";" unexpected >
bad thing to run binaries built for amd64 and i386 on ppc64el, this is an optipng upstream issue > > ⚠ optipng pre-build test failed > ℹ compiling from source > ✖ Error: Command failed: /bin/sh -c make install > pngrtran.c:99:1: warning: ‘png_rtran_ok’ defined but not used > [-Wunused-function] > png_rtran_ok(png_structrp png_ptr, int need_IHDR) > ^~~~~~~~~~~~ > ar: `u' modifier ignored since `D' is the default (see `U') > ar: `u' modifier ignored since `D' is the default (see `U') > ar: `u' modifier ignored since `D' is the default (see `U') > ar: `u' modifier ignored since `D' is the default (see `U') > pngxmem.c: In function ‘pngx_malloc_rows_extended’: > pngxmem.c:38:34: warning: comparison is always false due to limited range of > data type [-Wtype-limits] > (pngx_alloc_size_t)height > (pngx_alloc_size_t)(-1) / > sizeof(png_bytep)) > ^ > ar: `u' modifier ignored since `D' is the default (see `U') > /usr/bin/ld: ../libpng/libpng.a(pngrutil.o): in function > `png_read_filter_row': > pngrutil.c:(.text+0x29c0): undefined reference to > `png_init_filter_functions_vsx' > collect2: error: ld returned 1 exit status > make[1]: *** [Makefile:100: optipng] Error 1 > make: *** [Makefile:14: install] Error 2 > > cd src/optipng && \ > make install && \ > cd ../.. > make[1]: Entering directory > '/home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/a4e0fea9-c020-4419-98f6-a1b3d4dfc863/src/optipng' > cd ../libpng && \ > make -f Makefile PNGLIBCONF_H_PREBUILT=pnglibconf.h.optipng && \ > cd ../optipng > make[2]: Entering directory > '/home/develop/build/ONLYOFFICE/build_tools/node_modules/optipng-bin/a4e0fea9-c020-4419-98f6-a1b3d4dfc863/src/libpng' > cp pnglibconf.h.optipng pnglibconf.h > gcc -c -I../zlib -O2 -Wall -Wextra -o png.o png.c > gcc -c -I../zlib -O2 -Wall -Wextra -o pngerror.o pngerror.c > gcc -c -I../zlib -O2 -Wall -Wextra -o pngget.o pngget.c > gcc -c -I../zlib -O2 -Wall -Wextra -o pngmem.o pngmem.c > gcc -c -I../zlib -O2 -Wall -Wextra -o pngpread.o pngpread.c as you can see you are trying to build libpng by yourself, not using the system version. steps to reproduce: git clone https://github.com/imagemin/optipng-bin cd optipng-bin look for lib/install.js and see how the installation is done: basically, extracts a tarball with lots of embedded stuff (including libpng) and run make tar xvf vendor/source/optipng.tar.gz cd optipng-0.7.7/ ./configure --with-system-zlib --prefix=foo --bindir=bar make here I see two errors: 1) libpng configure is not run: edit configure and change with_preconfigured_libpng=1 to with_preconfigured_libpng=0 so you run a fresh libpng configure script, detecting correctly what is needed for your platform. make will fail because of a library being misnamed misplaced cp ../optipng-0.7.7/src/libpng/.libs/libpng16.a ../optipng-0.7.7/src/libpng/libpng.a make will succeed 2) use system libpng (the version you are blaming currently :p) ~/optipng-bin$ tar xvf vendor/source/optipng.tar ~/optipng-bin$ cd optipng-0.7.7/ ~/optipng-bin/optipng-0.7.7$ ./configure --with-system-zlib --with-system-libpng --prefix=foor --bindir=bar Checking for gcc... Checking for system libpng... Checking for system zlib... ~/optipng-bin/optipng-0.7.7$ make cd src/optipng && \ make && \ cd ../.. make[1]: Entering directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/optipng' cd ../opngreduc && \ make -f Makefile libopngreduc.a && \ cd ../optipng make[2]: Entering directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/opngreduc' gcc -c -O2 -Wall -Wextra -o opngreduc.o opngreduc.c ar cru libopngreduc.a opngreduc.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libopngreduc.a make[2]: Leaving directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/opngreduc' cd ../gifread && \ make -f Makefile libgifread.a && \ cd ../optipng make[2]: Entering directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/gifread' gcc -c -O2 -Wall -Wextra -o gifread.o gifread.c ar cru libgifread.a gifread.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libgifread.a make[2]: Leaving directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/gifread' cd ../pnmio && \ make -f Makefile libpnmio.a && \ cd ../optipng make[2]: Entering directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/pnmio' gcc -c -O2 -Wall -Wextra -o pnmin.o pnmin.c gcc -c -O2 -Wall -Wextra -o pnmout.o pnmout.c gcc -c -O2 -Wall -Wextra -o pnmutil.o pnmutil.c ar cru libpnmio.a pnmin.o pnmout.o pnmutil.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libpnmio.a make[2]: Leaving directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/pnmio' cd ../minitiff && \ make -f Makefile libminitiff.a && \ cd ../optipng make[2]: Entering directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/minitiff' gcc -c -O2 -Wall -Wextra -o tiffread.o tiffread.c gcc -c -O2 -Wall -Wextra -o tiffutil.o tiffutil.c ar cru libminitiff.a tiffread.o tiffutil.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libminitiff.a make[2]: Leaving directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/minitiff' cd ../pngxtern && \ make -f Makefile libpngxtern.a && \ cd ../optipng make[2]: Entering directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/pngxtern' gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxread.o pngxread.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxrbmp.o pngxrbmp.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxrgif.o pngxrgif.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxrjpg.o pngxrjpg.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxrpnm.o pngxrpnm.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxrtif.o pngxrtif.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxio.o pngxio.c gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxmem.o pngxmem.c pngxmem.c: In function 'pngx_malloc_rows_extended': pngxmem.c:38:34: warning: comparison is always false due to limited range of data type [-Wtype-limits] 38 | (pngx_alloc_size_t)height > (pngx_alloc_size_t)(-1) / sizeof(png_bytep)) | ^ gcc -c -O2 -Wall -Wextra -I../gifread -I../pnmio -I../minitiff -o pngxset.o pngxset.c ar cru libpngxtern.a pngxread.o pngxrbmp.o pngxrgif.o pngxrjpg.o pngxrpnm.o pngxrtif.o pngxio.o pngxmem.o pngxset.o ar: `u' modifier ignored since `D' is the default (see `U') ranlib libpngxtern.a make[2]: Leaving directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/pngxtern' gcc -c -O2 -Wall -Wextra -I../cexcept -I../opngreduc -I../pngxtern -o optipng.o optipng.c gcc -c -O2 -Wall -Wextra -I../cexcept -I../opngreduc -I../pngxtern -o optim.o optim.c gcc -c -O2 -Wall -Wextra -I../cexcept -I../opngreduc -I../pngxtern -o bitset.o bitset.c gcc -c -O2 -Wall -Wextra -I../cexcept -I../opngreduc -I../pngxtern -o ioutil.o ioutil.c gcc -c -O2 -Wall -Wextra -I../cexcept -I../opngreduc -I../pngxtern -o ratio.o ratio.c gcc -c -O2 -Wall -Wextra -I../cexcept -I../opngreduc -I../pngxtern -o wildargs.o wildargs.c gcc -s -o optipng optipng.o optim.o bitset.o ioutil.o ratio.o wildargs.o ../opngreduc/libopngreduc.a ../pngxtern/libpngxtern.a ../gifread/libgifread.a ../pnmio/libpnmio.a ../minitiff/libminitiff.a -lpng -lz -lm make[1]: Leaving directory '/home/locutusofborg/optipng-bin/optipng-0.7.7/src/optipng' success! In any case, not something we can fix Debian side, since the faulty code is optipng. (I'll open a bug report on github citing this bug) Gianfranco