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 >