Bug 207470 - graphics/py-pillow: 3.1.1 Fails to build (ValueError: --enable-tcl requested but tcl not found)
Summary: graphics/py-pillow: 3.1.1 Fails to build (ValueError: --enable-tcl requested ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Kubilay Kocak
URL:
Keywords: patch, regression
: 207472 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-02-25 03:51 UTC by Vladimir Omelchuk
Modified: 2016-02-25 11:00 UTC (History)
4 users (show)

See Also:
koobs: maintainer-feedback+


Attachments
py-pillow --enable-tcl bug fix on Makefile (1.08 KB, patch)
2016-02-25 04:02 UTC, Kenji Rikitake
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Omelchuk 2016-02-25 03:51:14 UTC
root@vladiom:~ # portupgrade 'py27*'
[Reading data from pkg(8) ... - 964 packages found - done]
--->  Upgrading 'py27-pillow-2.9.0_1' to 'py27-pillow-3.1.1' (graphics/py-pillow)
--->  Building '/usr/ports/graphics/py-pillow'
===>  Cleaning for py27-pillow-3.1.1
===>  License PIL accepted by the user
===>  Found saved configuration for py27-pillow-2.9.0
===>   py27-pillow-3.1.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py27-pillow-3.1.1 for building
===>  Extracting for py27-pillow-3.1.1
=> SHA256 Checksum OK for python-pillow-Pillow-3.1.1_GH0.tar.gz.
===>  Patching for py27-pillow-3.1.1
===>   py27-pillow-3.1.1 depends on package: py27-tkinter>0 - found
===>   py27-pillow-3.1.1 depends on package: py27-setuptools27>0 - found
===>   py27-pillow-3.1.1 depends on file: /usr/local/bin/python2.7 - found
===>   py27-pillow-3.1.1 depends on executable: wish8.6 - found
===>   py27-pillow-3.1.1 depends on shared library: libfreetype.so - found (/usr/local/lib/libfreetype.so)
===>   py27-pillow-3.1.1 depends on shared library: libjpeg.so - found (/usr/local/lib/libjpeg.so)
===>  Configuring for py27-pillow-3.1.1
running config
===>  Building for py27-pillow-3.1.1
running build
running build_py
creating build
creating build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7
creating build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageMath.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImagePalette.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageCms.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/SunImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/Hdf5StubImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PcfFontFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PyAccess.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/WmfImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/SgiImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/GdImageFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/WebPImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/__init__.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/GimpGradientFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/TiffImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageStat.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/XbmImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/EpsImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/JpegPresets.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/XpmImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageColor.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageDraw2.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PaletteFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/TarIO.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/DcxImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PixarImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/MicImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/WalImageFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageWin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/CurImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/BdfFontFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageShow.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageOps.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/OleFileIO.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ContainerIO.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageSequence.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageMorph.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/_util.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/SpiderImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/GimpPaletteFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/Image.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PcdImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/TgaImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/FliImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageFont.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PcxImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/GribStubImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/Jpeg2KImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageQt.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/FpxImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/_binary.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PngImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImtImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageFilter.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/MpegImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PSDraw.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PsdImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageEnhance.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/XVThumbImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageDraw.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImagePath.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PpmImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/MpoImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/FitsStubImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/JpegImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/TiffTags.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/BmpImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/IptcImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/GifImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageMode.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PalmImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageTk.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/IcnsImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/McIdasImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageTransform.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/IcoImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/PdfImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/GbrImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageChops.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/BufrStubImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/FontFile.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ImageGrab.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/ExifTags.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/features.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
copying PIL/MspImagePlugin.py -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
running egg_info
creating Pillow.egg-info
writing Pillow.egg-info/PKG-INFO
writing top-level names to Pillow.egg-info/top_level.txt
writing dependency_links to Pillow.egg-info/dependency_links.txt
writing manifest file 'Pillow.egg-info/SOURCES.txt'
reading manifest file 'Pillow.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.editorconfig'
writing manifest file 'Pillow.egg-info/SOURCES.txt'
copying PIL/OleFileIO-README.md -> build/lib.freebsd-10.2-RELEASE-p12-amd64-2.7/PIL
running build_ext
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 767, in <module>
    zip_safe=not debug_build(),
  File "/usr/local/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/distutils/command/build.py", line 127, in run
    self.run_command(cmd_name)
  File "/usr/local/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "setup.py", line 519, in build_extensions
    % (f, f))
ValueError: --enable-tcl requested but tcl not found, aborting.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/graphics/py-pillow
*** Error code 1

Stop.
make: stopped in /usr/ports/graphics/py-pillow
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20160225-90922-1r224jo env UPGRADE_TOOL=portupgrade UPGRADE_PORT=py27-pillow-2.9.0_1 UPGRADE_PORT_VER=2.9.0_1 make
** Fix the problem and try again.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! graphics/py-pillow (py27-pillow-2.9.0_1)	(unknown build error)
root@vladiom:~ # 




<uname>
FreeBSD 10.2-RELEASE-p12 amd64

<make.conf>
CPUTYPE?=core2
OPTIONS_SET=CUPS
WITHOUT_LPR=YES
DEFAULT_VERSIONS=apache=2.4
QT4_OPTIONS=CUPS NAS QGTKSTYLE
LOCALIZED_LANG=ru
DEFAULT_VERSIONS=perl5=5.20
MAKE_JOBS_UNSAFE=yes
DEFAULT_VERSIONS=mysql=5.7
Comment 1 Kenji Rikitake 2016-02-25 04:02:09 UTC
Created attachment 167378 [details]
py-pillow --enable-tcl bug fix on Makefile

This patch will fix the error of stopping at --enable-tcl.
Comment 2 Kenji Rikitake 2016-02-25 04:03:58 UTC
Comment on attachment 167378 [details]
py-pillow --enable-tcl bug fix on Makefile

This Makefile patch will fix the --enable-tcl error.
Comment 3 Vladimir Omelchuk 2016-02-25 04:17:05 UTC
Thanks!
Now build without errors!
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2016-02-25 05:28:24 UTC
*** Bug 207472 has been marked as a duplicate of this bug. ***
Comment 5 Kubilay Kocak freebsd_committer freebsd_triage 2016-02-25 05:40:54 UTC
It appears OPTIONS_VARS=VAR=<value> does not support multiple space-separated values, unless they are:

a) Quoted, ie: OPTION_VARS=VAR="value1 value1", OR
b) Multiple assignments are made (OPTION_VAR=VAR=value1 VAR=value2, as attachment 167378 [details] does

It's probably worth improving the OPTION_VARS mechanism to support (a).
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2016-02-25 05:44:05 UTC
@Vladimir, for future issues, please include any large bodies of text such as build logs or configuration settings as attachments rather than as comments as it allows the conversation to be followed more easily

Thank you for your report :)
Comment 7 Vladimir Omelchuk 2016-02-25 05:51:36 UTC
(In reply to Kubilay Kocak from comment #6)

OK

P.S.
Although, my log is not too large ...
Comment 8 commit-hook freebsd_committer freebsd_triage 2016-02-25 10:54:34 UTC
A commit references this bug:

Author: koobs
Date: Thu Feb 25 10:54:02 UTC 2016
New revision: 409505
URL: https://svnweb.freebsd.org/changeset/ports/409505

Log:
  graphics/py-pillow: Fix OPT_VARS, Enable WEBP by default

  After converting if PORT_OPTIONS:MOPTION PYDISTUTILS_BUILDARGS to
  OPTION_VARS=PYDISTUTILS_BUILDARGS in r409464 [1], it was reported
  that the port failed to build with the following error:

    ValueError: --enable-tcl requested but tcl not found

  Investigation revealed that only the first of the TKINTER_VARS{_OFF}
  values was being assigned. The root cause appears to be that
  OPTIONS_VARS=VAR=<value> does not support multiple space-separated
  values, unless:

  a) Values are quoted: OPTION_VARS=VAR="value1 value1", OR
  b) Multiple assignments are made: OPTION_VAR=VAR+=value1 VAR+=value2

  This change wraps the assign for TKINTER_VARS{_OFF} in quotes.

  It's probably worth improving the OPTION_VARS mechanism to support (a)
  in Mk/bsd.options.mk instead in the long term.

  While I'm here:

  - Use the 'saveopts' command to save all PYDISTUTILS_BUILDARGS in
    setup.cfg so they are used in the install stage, fixing certain errors
  - Enable WEBP option by default (Hi pkg users!)

  [1] https://svnweb.freebsd.org/changeset/ports/409464

  PR:		207470
  Reported by:	olgeni
  Reported by:	Vladimir Omelchuk <admin vladiom com ua>
  Reported by:	Oliver Hartmann <ohartman zedat fu-berlin de>

Changes:
  head/graphics/py-pillow/Makefile
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2016-02-25 11:00:48 UTC
Committed fix (quoted OPTION_VARS values)

@all Thank you for the reports