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 >