Discussion:
Dumb (?) Lucy build question
Kurt Starsinic
11 years ago
Permalink
OK, I did a "git pull" on master from git://github.com/apache/lucy.git and
I have a clean checkout. Following the directions in "INSTALL":

% cd 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/kstar/perl5/perlbrew/perls/perl-5.19.0/lib/site_perl/5.19.0/darwin-2level
/Users/kstar/perl5/perlbrew/perls/perl-5.19.0/lib/site_perl/5.19.0
/Users/kstar/perl5/perlbrew/perls/perl-5.19.0/lib/5.19.0/darwin-2level
/Users/kstar/perl5/perlbrew/perls/perl-5.19.0/lib/5.19.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.

I don't see anything in the docs about this, and code diving has not
enlightened me. What am I missing?

- Kurt
Logan Bell
11 years ago
Permalink
My first question is, why are you using Perl 5.19 and not 5.20? :)

Thanks,
Logan
...
Marvin Humphrey
11 years ago
Permalink
Post by Kurt Starsinic
OK, I did a "git pull" on master from git://github.com/apache/lucy.git and
I have a clean checkout.
Now that Clownfish and Charmonizer have been broken out of Lucy, getting
started is a little more involved. Here's a formula:

git clone https://git-wip-us.apache.org/repos/asf/lucy.git
git clone https://git-wip-us.apache.org/repos/asf/lucy-clownfish.git \
clownfish
git clone https://git-wip-us.apache.org/repos/asf/lucy-charmonizer.git \
charmonizer
cd clownfish/runtime/perl
perl Build.PL
./Build test
cd ../../../lucy/perl
source ../devel/bin/setup_clownfish_env.sh ../../clownfish
perl Build.PL
./Build test

Marvin Humphrey
Peter Karman
11 years ago
Permalink
...
seems like a patch to CONTRIBUTING is in order?
--
Peter Karman . http://peknet.com/ . peter-Cz8MpMUdMMvQT0dZR+***@public.gmane.org
Logan Bell
11 years ago
Permalink
+1
...
Logan Bell
11 years ago
Permalink
Further, I think we should go over the documentation we have on
lucy.apache.org and update accordingly. I don't see any reference to
Clownfish and its associated repo:
http://lucy.apache.org/version_control.html

Thanks,
Logan
...
Peter Karman
11 years ago
Permalink
Further, I think we should go over the documentation we have on lucy.apache.org
<http://lucy.apache.org> and update accordingly. I don't see any reference to
Clownfish and its associated repo: http://lucy.apache.org/version_control.html
agreed, though I suspect this is what Marvin and Nick are referring to when they
talked about showing/hiding the Clownfish API. Showing it (imo) is documenting
it, and that's the piece that I think we're trying to soft-launch with 0.4 by
intentionally *not* documenting its existence.

However, for people who want to hack on the code and contribute (rather than
simply use it), some elementary bootstrapping instructions like what Marvin
wrote earlier on this thread, would be helpful.

Kurt, if you find Marvin's instructions helpful, would you be willing to work up
a patch to CONTRIBUTING?
--
Peter Karman . http://peknet.com/ . peter-Cz8MpMUdMMvQT0dZR+***@public.gmane.org
Marvin Humphrey
11 years ago
Permalink
Post by Peter Karman
agreed, though I suspect this is what Marvin and Nick are referring to when
they talked about showing/hiding the Clownfish API. Showing it (imo) is
documenting it, and that's the piece that I think we're trying to
soft-launch with 0.4 by intentionally *not* documenting its existence.
Yes, that's exactly right -- but fixed cadence releases are also an important
part of the strategy. A huge amount of work has gone into Clownfish over
several years; rather than publish everything in one overwhelming code drop, I
think we build excitement and community most effectively by releasing
coherent, distilled pieces on a predictable schedule...

First cadence release, later this month: Opaque Clownfish, separated from
Lucy, with a call for hackers.

Second cadence release, August: clownfish-starter, tutorial and a sample
project.

Third cadence release, September: TBD

Marvin Humphrey
Peter Karman
11 years ago
Permalink
...
+1 to committing to a schedule and then working at it.

Marvin and Nick have done a lot of great work on this Clownfish split-off and I
look forward to seeing these releases happen. I'm happy to help where I can.
--
Peter Karman . http://peknet.com/ . peter-Cz8MpMUdMMvQT0dZR+***@public.gmane.org
Kurt Starsinic
11 years ago
Permalink
So I've been busy, but I just now picked up this issue again. Nick, thanks
for patching the INSTALL. I'll continue to work on this in my Copious Free
Time. I have some comments, in case somebody has a canned response prepared:

lucy/perl/INSTALL claims that one option is to install the "Perl
distributions Clownfish and Clownfish::CFC". I took this to mean that I
would find said distributions on CPAN. However, I did not. Is this an error
in my understanding, or in someone else's uploading?

clownfish/INSTALL seems to suggest that I should be able to cd into
runtime/perl, follow the instructions there, and Bob's your uncle. In
particular, it says that the runtime requires the compiler, and will build
it if necessary. This does not seem to be the case. :(

Later,
Kurt
...
Nick Wellnhofer
11 years ago
Permalink
Post by Kurt Starsinic
So I've been busy, but I just now picked up this issue again. Nick, thanks
for patching the INSTALL. I'll continue to work on this in my Copious Free
lucy/perl/INSTALL claims that one option is to install the "Perl
distributions Clownfish and Clownfish::CFC". I took this to mean that I
would find said distributions on CPAN. However, I did not. Is this an error
in my understanding, or in someone else's uploading?
Clownfish and Clownfish::CFC haven’t been released on CPAN yet.
Post by Kurt Starsinic
clownfish/INSTALL seems to suggest that I should be able to cd into
runtime/perl, follow the instructions there, and Bob's your uncle. In
particular, it says that the runtime requires the compiler, and will build
it if necessary. This does not seem to be the case. :(
If you run ‘perl/Build.PL && ./Build’ in clownfish/runtime/perl, the compiler in clownfish/compiler/perl should be built. The warning about a missing Clownfish::CFC can be ignored. The compiler won’t be installed if you run ‘./Build install’ in runtime/perl, though. You also have to run ‘./Build install’ in compiler/perl.

If you install to a non-standard location, you’ll also have to set the CLOWNFISH_INCLUDE environment variable when building Lucy. This requirement will soon be lifted. The variable should point to the Clownfish/_include directory underneath your install destination.

Another option is to build Lucy from an uninstalled Clownfish source tree. Assuming you're in a directory containing the Clownfish and Lucy repos, run:

cd clownfish/runtime/perl
perl Build.PL
./Build
cd ../../..

source clownfish/devel/bin/setup_env.sh
cd lucy/perl
perl Build.PL
./Build

Nick
keith20mm
7 years ago
Permalink
When I get to the line:

source ../devel/bin/setup_clownfish_env.sh ../../clownfish

in
Post by Marvin Humphrey
git clone https://git-wip-us.apache.org/repos/asf/lucy.git
git clone https://git-wip-us.apache.org/repos/asf/lucy-clownfish.git \
clownfish
git clone https://git-wip-us.apache.org/repos/asf/lucy-charmonizer.git \
charmonizer
cd clownfish/runtime/perl
perl Build.PL
./Build test
cd ../../../lucy/perl
source ../devel/bin/setup_clownfish_env.sh ../../clownfish
perl Build.PL
./Build test
I get the shell reply "Badly placed ()'s."

My shell is csh, so I tried to replace sh in the setup_clownfish_env.sh with
csh, but made no difference, so I put that back to sh.

I looked through the .sh file and found nothing strange in any of the
parenthesis.

What should I try to complete the build?

Thanks in advance.




--
Sent from: http://lucene.472066.n3.nabble.com/lucy-dev-f675133.html
Nick Wellnhofer
7 years ago
Permalink
Post by keith20mm
I get the shell reply "Badly placed ()'s."
My shell is csh, so I tried to replace sh in the setup_clownfish_env.sh with
csh, but made no difference, so I put that back to sh.
setup_clownfish_env.sh is a POSIX shell script and doesn't work under csh.
Post by keith20mm
What should I try to complete the build?
setup_clownfish_env.sh is a developer tool which allows to build Lucy from an
uninstalled Clownfish source tree. As a normal user, you should install the
Clownfish compiler and runtime before building Lucy:

cd clownfish/compiler/perl
perl Build.PL
./Build test
./Build install

cd ../../runtime/perl
perl Build.PL
./Build test
./Build install

cd ../../../lucy/perl
perl Build.PL
./Build test
./Build install

Nick

Continue reading on narkive:
Loading...