On Mon, May 09, 2016 at 08:29:36AM +0100, Stuart Henderson wrote:
> On 2016/05/08 23:15, Andrew Aldridge wrote:
> > On 2016-05-07 17:37, Christian Weisgerber wrote:
> > > databases/mongodb failed to build in my latest amd64 bulk build:
> > > 
> > > scons: ***
> > > [build/opt/third_party/mozjs-38/platform/x86_64/openbsd/build/Unified_cpp_js_src7.o]
> > > Implicit dependency `/usr/local/include/unicode/uclean.h' not found,
> > > needed by target
> > > `build/opt/third_party/mozjs-38/platform/x86_64/openbsd/build/Unified_cpp_js_src7.o'.
> > > 
> > > Full log attached.
> > 
> > I can't reproduce this on either fresh installs of 5.9 or the May 8th
> > snapshot. That implicit dependency should only exist if ENABLE_INTL_API
> > is defined, which it isn't. Scons is definitely doing something wrong
> > here.
> > 
> > There are two things I can think of that might help:
> >   - More information about the build system so I can try to replicate it.
> > Snapshot version; scons version; environment variables; any non-default
> > Make flags, etc.
> >   - If textproc/icu4c is installed, does it still fail?
> > 
> > -- Andrew Aldridge
> 
> Try it like this:
> 
> - pkg_add icu4c
> - make configure
> - pkg_delete icu4c
> - make
> 
> In bulk builds, other packages get installed and deinstalled all the
> time. If this causes failures, either icu4c needs adding as a dependency
> or we need to figure out how to stop it from being picked up.
> 
> I did have a bit of a look but, like I think most ports developers,
> I find scons a bit awkward to work with and didn't get anywhere yet.

Colloquially, we refer to this as a "hidden dependency". Coming to think of
it, this should be in the porting faq.  The question doesn't come up all the
time, but the problem certainly does!

Reply via email to