Dear Loris,

ConfigureMake does indeed not have [files_to_copy].
With this easyblock you can customize [install_cmd], which by default is
set to 'make install':

install_cmd = 'cd swig && cp BloomFilter.pm BloomFilter.so
%(installdir)s/lib/'

Does does work for you?

Cheers,
Sam

On Thu, Aug 29, 2019 at 5:04 PM Loris Bennett <loris.benn...@fu-berlin.de>
wrote:

> Dear Sam,
>
> I'm using ConfigureMake, but the makefile provided just sets up test
> stuff and does not produce the Perl module and library.
>
> Cheers,
>
> Loris
>
> Sam Moors <sammo...@gmail.com> writes:
>
> > Dear Loris,
> >
> > files_to_copy is not defined for all easyblocks. Which easyblock are you
> using?
> >
> > Cheers,
> > Sam
> >
> > On Thu, Aug 29, 2019 at 4:10 PM Loris Bennett <
> loris.benn...@fu-berlin.de> wrote:
> >
> >  Dear Sam,
> >
> >  Thanks for the suggestion, however I still don't get a 'lib' directory
> >  in the install dir.  The log unfortunately doesn't give any indication
> >  that anything went wrong with copying the files.  It's just the sanity
> >  check which fails.
> >
> >  Could files_to_copy be being ignored because the Makefile should be
> >  handling that?
> >
> >  Cheers,
> >
> >  Loris
> >
> >  Sam Moors <sammo...@gmail.com> writes:
> >
> >  > Dear Loris,
> >  >
> >  > Try this?
> >  >
> >  > files_to_copy = [(['swig/BloomFilter.pm', 'swig/BloomFilter.so'],
> 'lib')]
> >  >
> >  > Cheers,
> >  > Sam
> >  >
> >  > On Thu, Aug 29, 2019 at 3:36 PM Loris Bennett <
> loris.benn...@fu-berlin.de> wrote:
> >  >
> >  >  Hi,
> >  >
> >  >  I'm looking at the following project:
> >  >
> >  >    https://github.com/bcgsc/btl_bloomfilter
> >  >
> >  >  which comprises a shared library and a corresponding Perl XS
> module.
> >  >
> >  >  There is a Makefile, but it doesn't create the shared library or the
> >  >  Perl module.  Instead here
> >  >
> >  >    https://github.com/bcgsc/btl_bloomfilter/tree/master/swig
> >  >
> >  >  the following instructions are to be run in the 'swig' subdirectory:
> >  >
> >  >    preinst-swig -Wall -c++ -perl5 BloomFilter.i
> >  >    g++ -std=c++11 -c BloomFilter_wrap.cxx
> -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -fPIC
> >  >    g++ -std=c++11 -Wall -shared BloomFilter_wrap.o -o BloomFilter.so
> >  >
> >  >  In my easyconfig I have
> >  >
> >  >    build_cmd = "cd swig;  swig -Wall -c++ -perl5 BloomFilter.i; "
> >  >    build_cmd += "g++ -std=c++11 -c BloomFilter_wrap.cxx
> -I$EBROOTPERL/lib/perl5/$EBVERSIONPERL/x86_64-linux-thread-multi/CORE/-fPIC;
> "
> >  >    build_cmd += "g++ -std=c++11 -Wall -shared BloomFilter_wrap.o -o
> BloomFilter.so"
> >  >    build_cmd += "cd ..; make"
> >  >
> >  >    files_to_copy = [('swig/BloomFilter.pm', 'swig/BloomFilter.so'),
> 'lib']
> >  >
> >  >    sanity_check_paths = {
> >  >        'files': ['lib/BloomFilter.pm'],
> >  >        'dirs': [],
> >  >    }
> >  >
> >  >  but this fails with
> >  >
> >  >    ERROR: Build of
> /trinity/home/build/easyconfigs/BTL_BloomFilter-1.2.1-foss-2018b.eb failed
> (err: "build failed (first 300 chars): Sanity check failed: no file found
> at 'lib/BloomFilter.pm' in
> >  >  /trinity/shared/easybuild/software/BTL_BloomFilter/1.2.1-foss-2018b")
> >  >
> >  >  I think I don't understand how files_to_copy works.  How should I
> create
> >  >  the target directory (buildopts?) and how should I copy the files (I
> am
> >  >  not really sure where the .so file should go relative to the .pm
> file)?
> >  >
> >  >  Cheers,
> >  >
> >  >  Loris
> >  >
> >  >  --
> >  >  Dr. Loris Bennett (Mr.)
> >  >  ZEDAT, Freie Universität Berlin         Email
> loris.benn...@fu-berlin.de
> >  >
> >  --
> >  Dr. Loris Bennett (Mr.)
> >  ZEDAT, Freie Universität Berlin         Email
> loris.benn...@fu-berlin.de
> >
> --
> Dr. Loris Bennett (Mr.)
> ZEDAT, Freie Universität Berlin         Email loris.benn...@fu-berlin.de
>

Reply via email to