You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucy.apache.org by Marvin Humphrey <ma...@rectangular.com> on 2014/12/18 05:54:32 UTC

[lucy-dev] Re: [VOTE] Apache Lucy 0.4.2 RC 1

On Mon, Dec 1, 2014 at 8:41 AM, Marvin Humphrey <ma...@rectangular.com> wrote:

> [ ] +1 Release RC 1 as Apache Lucy 0.4.2.
> [ ] +0
> [ ] -1 Do not release RC 1 as Apache Lucy 0.4.2 because...

+1

Tested on OS X Yosemite with stock Perl, in conjunction with RC2
of Clownfish 0.4.2.

Marvin Humphrey

Re: [lucy-dev] Re: [VOTE] Apache Lucy 0.4.2 RC 1

Posted by Logan Bell <lo...@gmail.com>.
Please disregard, my copypasta error. I noticed after sending my
e-mail that I had my @INC setup incorrectly. It now works. So I revert
my -1 to a +1.

The build works successfully now.

All tests successful.
Files=168, Tests=12705, 16 wallclock secs ( 1.56 usr  0.67 sys +  9.57
cusr  2.27 csys = 14.07 CPU)
Result: PASS

Thanks for being patient!
Logan

On Thu, Dec 18, 2014 at 9:48 AM, Logan Bell <lo...@gmail.com> wrote:
> Hi Nick,
>
> Thank you for such a detailed response, please see my findings below.
>
> Thanks
> Logan
>
> On Thu, Dec 18, 2014 at 4:31 AM, Nick Wellnhofer <we...@aevum.de> wrote:
>> 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}
>>
>
> I just tried following this exactly on a fresh laptop that has never
> had Clownfish or Lucy installed running system Perl 5.18 on Mac OS X
> Yosemite
>
> When I get to to the final step in your instructions I still get:
>
> perl % 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
> /Users/lbell/tmp_install/lib/perl/{archname}
> /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18
> /Network/Library/Perl/5.18/darwin-thread-multi-2level
> /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2
> /System/Library/Perl/5.18/darwin-thread-multi-2level
> /System/Library/Perl/5.18
> /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level
> /System/Library/Perl/Extras/5.18 .).
>  at buildlib/Lucy/Build.pm line 23.
> BEGIN failed--compilation aborted at buildlib/Lucy/Build.pm line 23.
> Compilation failed in require at Build.PL line 21.
> BEGIN failed--compilation aborted at Build.PL line 21.
>
>
>
>> Then you should be able to build Lucy without sourcing setup_env.sh. This
>> was broken in RC1, but should work with RC2.
>>
>> Nick
>>

Re: [lucy-dev] Re: [VOTE] Apache Lucy 0.4.2 RC 1

Posted by Logan Bell <lo...@gmail.com>.
Hi Nick,

Thank you for such a detailed response, please see my findings below.

Thanks
Logan

On Thu, Dec 18, 2014 at 4:31 AM, Nick Wellnhofer <we...@aevum.de> wrote:
> 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}
>

I just tried following this exactly on a fresh laptop that has never
had Clownfish or Lucy installed running system Perl 5.18 on Mac OS X
Yosemite

When I get to to the final step in your instructions I still get:

perl % 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
/Users/lbell/tmp_install/lib/perl/{archname}
/Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18
/Network/Library/Perl/5.18/darwin-thread-multi-2level
/Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2
/System/Library/Perl/5.18/darwin-thread-multi-2level
/System/Library/Perl/5.18
/System/Library/Perl/Extras/5.18/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.18 .).
 at buildlib/Lucy/Build.pm line 23.
BEGIN failed--compilation aborted at buildlib/Lucy/Build.pm line 23.
Compilation failed in require at Build.PL line 21.
BEGIN failed--compilation aborted at Build.PL line 21.



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

Re: [lucy-dev] Re: [VOTE] Apache Lucy 0.4.2 RC 1

Posted by Nick Wellnhofer <we...@aevum.de>.
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


Re: [lucy-dev] Re: [VOTE] Apache Lucy 0.4.2 RC 1

Posted by Logan Bell <lo...@gmail.com>.
-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
/Users/loganbell/Downloads/apache-clownfish-0.4.2/runtime/perl/blib/lib
/Users/loganbell/Downloads/apache-clownfish-0.4.2/runtime/perl/blib/arch
/Users/loganbell/Downloads/apache-clownfish-0.4.2/compiler/perl/blib/lib
/Users/loganbell/Downloads/apache-clownfish-0.4.2/compiler/perl/blib/arch
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/darwin-2level
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/5.20.0/darwin-2level
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/5.20.0 .).
         at buildlib/Lucy/Build.pm line 23.
         BEGIN failed--compilation aborted at buildlib/Lucy/Build.pm line 23.
         Compilation failed in require at Build.PL line 21.
         BEGIN failed--compilation aborted at Build.PL line 21.


Then I opted to manually install the original Clownfish release
candidate and attempt again, with the same result:

perl % 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
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0/darwin-2level
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/site_perl/5.20.0
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/5.20.0/darwin-2level
/Users/loganbell/perl5/perlbrew/perls/perl-5.20.0/lib/5.20.0 .).
 at buildlib/Lucy/Build.pm line 23.
BEGIN failed--compilation aborted at buildlib/Lucy/Build.pm line 23.
Compilation failed in require at Build.PL line 21.
BEGIN failed--compilation aborted at Build.PL line 21.

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

Thanks,
Logan


On Wed, Dec 17, 2014 at 8:54 PM, Marvin Humphrey <ma...@rectangular.com> wrote:
> On Mon, Dec 1, 2014 at 8:41 AM, Marvin Humphrey <ma...@rectangular.com> wrote:
>
>> [ ] +1 Release RC 1 as Apache Lucy 0.4.2.
>> [ ] +0
>> [ ] -1 Do not release RC 1 as Apache Lucy 0.4.2 because...
>
> +1
>
> Tested on OS X Yosemite with stock Perl, in conjunction with RC2
> of Clownfish 0.4.2.
>
> Marvin Humphrey