On 18/12/2014 06:35, Logan Bell wrote:
-1 because I'm unable to build the release candidate with Yosemite Mac OS X.

For the first attempt I followed the instructions found in
./perl/INSTALL, with the first set of commands:

bash-4.2$ source ../../apache-clownfish-0.4.2/devel/bin/setup_env.sh

bash-4.2$ perl Build.PL
Base class package "Clownfish::CFC::Perl::Build" is empty.
     (Perhaps you need to 'use' the module which defines that package first,
         or make that module available in @INC (@INC contains: buildlib

That's strange. What's the value of PERL5LIB after sourcing setup_env.sh?

Also, it's worth noting that setup_env.sh will only work in bash. If
sourced in zsh the following happens:

perl % source ~/Downloads/apache-clownfish-0.4.2/devel/bin/setup_env.sh
Usage: source setup_env.sh path_to_clownfish_source

The feature to automatically derive the path to the Clownfish source tree only works under bash for now. Under other POSIX-compatible shells, you must supply it manually:

    perl % source \
        ~/Downloads/apache-clownfish-0.4.2/devel/bin/setup_env.sh \
        ~/Downloads/apache-clownfish-0.4.2

Unfortunately, I couldn't find way to reliably get the filename of a sourced script in a POSIX-compatible way. For zsh, it seems that `${(%):-%N}` should work:

    http://stackoverflow.com/questions/9901210/bash-source0-equivalent-in-zsh

That said, setup_env.sh shouldn't be used for release builds, only for development. I'd recommend to test the Perl build of a Lucy release candidate against an installed version of Clownfish. I typically install Clownfish and Clownfish::CFC to a temp directory like this:

    $ cd clownfish/runtime/perl
    $ perl Build.PL
    $ ./Build install --install_base=~/tmp_install
    $ cd ../../compiler/perl
    $ ./Build install --install_base=~/tmp_install
    $ export PERL5LIB=~/tmp_install/lib/perl/{archname}

Then you should be able to build Lucy without sourcing setup_env.sh. This was broken in RC1, but should work with RC2.

Nick

Reply via email to