Created attachment 170118 [details] Patch to update math/octave-forge-video to 1.2.2 math/octave-forge-video: - Update to 1.2.2 - This new version also allows octave-forge-video to build successfully once multimedia/ffmpeg is updated to 3.0.x. Note that multimedia/ffmpeg is currently still on the 2.8.x branch, however this update is backwards compatible with ffmpeg 2.8.x. - Add CPPFLAGS+=-I${LOCALBASE}/include to allow build to find ffmpeg headers Changes this release: https://sourceforge.net/p/octave/video/ci/1.2.2/tree/NEWS
Created attachment 170119 [details] QA: Successful poudriere testport logs for math/octave-forge-video 1.2.2 against FFmpeg 3.0.1 (from PR 207547) on FreeBSD 11-current amd64
A commit references this bug: Author: stephen Date: Sun May 8 17:47:34 UTC 2016 New revision: 414813 URL: https://svnweb.freebsd.org/changeset/ports/414813 Log: - Update to 1.2.2. - This new version also allows octave-forge-video to build successfully once multimedia/ffmpeg is updated to 3.0.x. Note that multimedia/ffmpeg is currently still on the 2.8.x branch, however this update is backwards compatible with ffmpeg 2.8.x. - Add CPPFLAGS+=-I${LOCALBASE}/include to allow build to find ffmpeg headers. PR: ports/209380 Submitted by: Ben Woods <woodsb02@gmail.com> Changes: head/math/octave-forge-video/Makefile head/math/octave-forge-video/distinfo
Committed. Thank you very much.
The fix is not complete. To be fully correct, it also needs "LDFLAGS+= -L${LOCALBASE}/lib Not all compilers automatically search /usr/local/lib for libraries. See fail log excerpt before I locally added that line: checking for pthread_create in -lpthread... yes checking for av_mallocz in -lavutil... no configure: error: Octave-Forge video package requires libavutil from FFmpeg ===> Script "configure" failed unexpectedly. Please report the problem to stephen@FreeBSD.org [maintainer] and attach the "/wrkdirs/math/octave-forge-video/video-1.2.2/src/config.log" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a /usr/local/sbin/pkg-static info -g -Ea). *** Error code 1
Thanks for finding that John. What version of FreeBSD are you seeing that failure on? In this case, we should remove the new CPPFLAGS+= line and replace it with USES=localbase which will add both CPPFLAGS and LDFLAGS.
Not FreeBSD, DragonFly, which has a base compiler that doesn't look in /usr/local by default. I'm very wary of USES=localbase. When it first appeared, it was meant to address a specific linking issue (and the approach was questionable). It was never advertised as a shortcut for include/linker flags to ${LOCALBASE} In any case, I think it's use needs to be clarified b/c I have a gut feeling it's being abused (used beyond it's original purpose), e.g. , since ports installs in the localbase, how come every port doesn't have USES=localbase set by default internally?
FYI, the key is "-isystem". That's not correct by default, so using USE=localbase automatically as a flag replacement is probably wrong.
A commit references this bug: Author: stephen Date: Wed May 25 23:52:10 UTC 2016 New revision: 415869 URL: https://svnweb.freebsd.org/changeset/ports/415869 Log: - Add localbase to ldflags so that it will build with dragonfly. PR: ports/209380 Submitted by: John Marino <marino@FreeBSD.org> Changes: head/math/octave-forge-video/Makefile
Committed John Marino's suggestion. Thank you.