On 30/08/2019 20:51, Sam Moors wrote:
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?

Sidenote: see the output of "eb --easyblock ConfigureMake -a" for the full list of supported easyconfig parameters for the ConfigureMake easyblock.

EasyBuild 4.x will print a warning if you're trying to use an easyconfig parameter that is not supported for the easyblock you are using.


K.


Cheers,
Sam

On Thu, Aug 29, 2019 at 5:04 PM Loris Bennett <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> 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
    <[email protected] <mailto:[email protected]>> 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 <[email protected] <mailto:[email protected]>> 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
    <[email protected] <mailto:[email protected]>> 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
    [email protected] <mailto:[email protected]>
     >  >
     >  --
     >  Dr. Loris Bennett (Mr.)
     >  ZEDAT, Freie Universität Berlin         Email
    [email protected] <mailto:[email protected]>
     >
-- Dr. Loris Bennett (Mr.)
    ZEDAT, Freie Universität Berlin         Email
    [email protected] <mailto:[email protected]>

Reply via email to