Bug 224694 - multimedia/vapoursynth dependency sphinx-build not found
Summary: multimedia/vapoursynth dependency sphinx-build not found
Status: Closed Works As Intended
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-29 16:11 UTC by Marco Beishuizen
Modified: 2018-01-01 11:16 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (jbeich)


Attachments
explicitly request flavor (507 bytes, patch)
2018-01-01 08:57 UTC, Jan Beich
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Beishuizen 2017-12-29 16:11:18 UTC
When upgrading multimedia/x264 it wants to install multimedia/ffms2, and this in turn wants to install multimedia/vapoursynth. Vapoursynth can't find sphinx-build and exits with an error:

...
--->  Upgrading 'x264-0.148.2795_2' to 'x264-0.152.2854' (multimedia/x264)
--->  Building '/usr/ports/multimedia/x264'
===>  Cleaning for x264-0.152.2854
===>  License GPLv2 accepted by the user
===>   x264-0.152.2854 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by x264-0.152.2854 for building
===>  Extracting for x264-0.152.2854
=> SHA256 Checksum OK for x264/x264-snapshot-20171225-2245-stable.tar.bz2.
===>  Patching for x264-0.152.2854
===>  Applying FreeBSD patches for x264-0.152.2854
===>   x264-0.152.2854 depends on executable: bash - found
===>   x264-0.152.2854 depends on package: pkgconf>=1.3.0_1 - found
===>   x264-0.152.2854 depends on executable: gmake - found
===>   x264-0.152.2854 depends on shared library: libx264.so - found (/usr/local/lib/libx264.so)
===>   x264-0.152.2854 depends on shared library: libffms2.so - not found
===>  License MIT accepted by the user
===>   ffms2-2.23_5 depends on file: /usr/local/sbin/pkg - found
=> FFMS-ffms2-2.23_GH0.tar.gz doesn't seem to exist in /var/ports/distfiles/.
=> Attempting to fetch https://codeload.github.com/FFMS/ffms2/tar.gz/2.23?dummy=/FFMS-ffms2-2.23_GH0.tar.gz
fetch: https://codeload.github.com/FFMS/ffms2/tar.gz/2.23?dummy=/FFMS-ffms2-2.23_GH0.tar.gz: size unknown
fetch: https://codeload.github.com/FFMS/ffms2/tar.gz/2.23?dummy=/FFMS-ffms2-2.23_GH0.tar.gz: size of remote file is not known
FFMS-ffms2-2.23_GH0.tar.gz                             477 kB  791 kBps 00m00s
===> Fetching all distfiles required by ffms2-2.23_5 for building
===>  Extracting for ffms2-2.23_5
=> SHA256 Checksum OK for FFMS-ffms2-2.23_GH0.tar.gz.
===>  Patching for ffms2-2.23_5
===>   ffms2-2.23_5 depends on file: /usr/local/include/vapoursynth/VSHelper.h - not found
===>  License LGPL21+ accepted by the user
===>   vapoursynth-R40_2 depends on file: /usr/local/sbin/pkg - found
=> vapoursynth-vapoursynth-R40_GH0.tar.gz doesn't seem to exist in /var/ports/distfiles/.
=> Attempting to fetch https://codeload.github.com/vapoursynth/vapoursynth/tar.gz/R40?dummy=/vapoursynth-vapoursynth-R40_GH0.tar.gz
fetch: https://codeload.github.com/vapoursynth/vapoursynth/tar.gz/R40?dummy=/vapoursynth-vapoursynth-R40_GH0.tar.gz: size unknown
fetch: https://codeload.github.com/vapoursynth/vapoursynth/tar.gz/R40?dummy=/vapoursynth-vapoursynth-R40_GH0.tar.gz: size of remote file is not known
vapoursynth-vapoursynth-R40_GH0.tar.gz                 570 kB  716 kBps 00m01s
===> Fetching all distfiles required by vapoursynth-R40_2 for building
===>  Extracting for vapoursynth-R40_2
=> SHA256 Checksum OK for vapoursynth-vapoursynth-R40_GH0.tar.gz.
===>  Patching for vapoursynth-R40_2
===>  Applying FreeBSD patches for vapoursynth-R40_2
No such line 106 in input file, ignoring
===>   vapoursynth-R40_2 depends on executable: sphinx-build - not found
===>   vapoursynth-R40_2 depends on executable: sphinx-build - not found
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/multimedia/vapoursynth
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/multimedia/vapoursynth
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/multimedia/ffms2
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/multimedia/x264
*** Error code 1

Stop.
...
Comment 1 Jan Beich freebsd_committer freebsd_triage 2017-12-29 21:25:09 UTC
Probably related to ports r455428 but I can't reproduce either locally or via poudriere.

(In reply to Marco Beishuizen from comment #0)
> --->  Upgrading 'x264-0.148.2795_2' to 'x264-0.152.2854' (multimedia/x264)

Check the tool you're building with properly supports flavors. vapoursynth uses python36 while py-sphinx is built by python27. Mixing python versions (even if indirectly) wasn't possible before flavors.
Comment 2 Marco Beishuizen 2017-12-29 22:24:59 UTC
It appears that portsclean -C doesn't clean /usr/ports completely (flavors?): directory /usr/ports/textproc/py-sphinx/work-py27 wasn't deleted after a "portsclean -C".

So switched to portmaster for now and will see if this works.

Thanks.
Comment 3 Marco Beishuizen 2017-12-30 02:27:33 UTC
Switching to portmaster (eventually) solved this one.

Thanks!
Comment 4 Yunchih Chen 2018-01-01 00:40:34 UTC
I'm hitting this error in poudriere:

[00:01:39] multimedia/vapoursynth depends on textproc/py3-sphinx
[00:01:39] Warning: (multimedia/vapoursynth): [00:01:39] Error: multimedia/vapoursynth depends on nonexistent origin 'textproc/py3-sphinx'; Please contact maintainer of the port to fix this.

Maybe textproc/py3-sphinx -> textproc/py-sphinx?
Comment 5 Jan Beich freebsd_committer freebsd_triage 2018-01-01 02:55:31 UTC
(In reply to Yunchih Chen from comment #4)
> I'm hitting this error in poudriere:

What version? poudriere from 2017Q4 branch doesn't support flavors. If you use /quarterly packages then wait until 2018Q1 is branched + ~3 days or switch to /latest.
Comment 6 Yunchih Chen 2018-01-01 06:42:01 UTC
$ poudriere version
3.2.3
Comment 7 Yunchih Chen 2018-01-01 06:47:45 UTC
Maybe I can add something to the make.conf passed to poudriere?
Do you know what to add, to resolve this specific issue?

Many thanks,
Comment 8 Jan Beich freebsd_committer freebsd_triage 2018-01-01 08:57:59 UTC
Created attachment 189309 [details]
explicitly request flavor

Do you have something like DEFAULT_VERSIONS += python=3.6 in make.conf? Can you try the attached patch and report whether it fixes the issue?
Comment 9 Jan Beich freebsd_committer freebsd_triage 2018-01-01 09:01:59 UTC
Comment on attachment 189309 [details]
explicitly request flavor

Nevermind. It actually breaks build even for current default being 2.7.
Comment 10 Yunchih Chen 2018-01-01 09:47:37 UTC
Hi, Jan:

Thanks for the prompt reply and the patch.  I realized that I actually patched the Makefile long ago and somehow after svn update the line remains

DOCS_BUILD_DEPENDS=             sphinx-build:textproc/py3-sphinx

which should have been

DOCS_BUILD_DEPENDS=             sphinx-build:textproc/py-sphinx

Now I've patched it to match upstream and it've passed poudriere's dependency check.  Many thanks for your eager help!
Comment 11 Jan Beich freebsd_committer freebsd_triage 2018-01-01 11:16:48 UTC
I can't reproduce with DEFAULT_VERSIONS += python=3.6, anyway. multimedia/vapoursynth doesn't specify py-sphinx flavor because it wants *default* one which installs sphinx-build not just sphinx-build-2.7 or sphinx-build-3.6.