For the record: problem solved via PR https://github.com/hpcugent/easybuild-easyblocks/pull/345 that was merged in just now.
Thanks for reporting the issue and reviewing the PR Cormac! regards, Kenneth On 02 Jan 2014, at 08:49, Kenneth Hoste wrote: > Hi Cormac, > > On 24 Dec 2013, at 18:29, Garvey, Cormac T wrote: > >> Hi Kenneth, >> Attached is the gzipped Debug log file. > > I think I found the problem... > > The numpy easyblock removes the numpy build directory to avoid scipy finding > it later (this causes unwanted behavior), see the install_step implementation > in > https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/n/numpy.py > . > > However, no chdir is done after removing that directory... > It seems that we somehow end up in that directory after doing the numpy > install, which is probably causing Lmod to fail (it doesn't like to be run in > a non-existing directory). > > I'm still verifying whether this is really the issue, I should be able to > easily reproduce this on my end if this is indeed the case. > > In any case, https://github.com/hpcugent/easybuild-easyblocks/pull/345 should > fix this. > The diff in that PR looks a bit big because I moved up the install_step > function (it should be above sanity_check_step, style-wise). > The only important line is the "os.chdir(self.builddir)" after the "rmtree2" > call. > > Let us know if that helps (preferably in the PR itself, so it can be merged > in). > > > > regards, > > Kenneth > > >> >> Thanks, >> cormac. >> >> >> On Mon, Dec 23, 2013 at 1:59 PM, Kenneth Hoste <[email protected]> >> wrote: >> Hi Cormac, >> >> On 23 Dec 2013, at 18:37, Garvey, Cormac T wrote: >> >>> Hi Kenneth >>> No problem, sorry for pulling you away from other tasks. >>> >>> Yes, I am using lmod 5.2 >> >> I've tried to reproduce your problem on my end, but no luck, the build is >> working fine for me even if I use Lmod. I'm using EasyBuild v1.9.0 and Lmod >> v5.2 as well. >> >> Can you please provide a full debug log of the failing Python + numpy build >> (just gzip the raw log file, and include it as attachment in reply, should >> be small enough)? >> I'm missing some context to figure out what's going on, a full debug log >> should help a lot. >> >> The first log message you showed (see below) tells me more is going on >> before the part you pasted, i.e. the real problem is happening earlier... >> >>> == 2013-12-18 14:39:49,745 main.filetools WARNING Found 5 errors in command >>> output (output: collect2: error: ld returned 1 exit status, collect2: >>> error: ld returned 1 exit status, collect2: error: ld returned 1 exit >>> status, collect2: error: ld returned 1 exit status, collect2: error: ld >>> returned 1 exit status) >> >> >> regards, >> >> Kenneth >> >> >>> >>> Merry Christmas, >>> Cormac. >>> >>> >>> On Mon, Dec 23, 2013 at 10:33 AM, Kenneth Hoste <[email protected]> >>> wrote: >>> Hi Cormac, >>> >>> Sorry for not answering this earlier... >>> >>> I'll try and reproduce this behavior to see what the problem is. >>> >>> It seems that Lmod is being called from a non-existing directory, which it >>> doesn't like... Shouldn't be too hard to fix, I expect (if I can track down >>> where this is happening exactly). >>> >>> Which Lmod version are you using here? The latest Lmod v5.2? >>> >>> >>> regards, >>> >>> Kenneth >>> >>> On 23 Dec 2013, at 17:31, Garvey, Cormac T wrote: >>> >>>> Hi All, >>>> When I build Python + numpy with lmod disabled, it builds correctly. It >>>> looks like a problem building python (with extensions) with >>>> lmod enabled. >>>> >>>> Thanks, >>>> Cormac. >>>> >>>> >>>> On Wed, Dec 18, 2013 at 5:17 PM, Garvey, Cormac T <[email protected]> >>>> wrote: >>>> >>>> Also, note when I build numpy as a separate module, it builds correctly. >>>> >>>> numpy easyconfig >>>> >>>> >>>> name = 'numpy' >>>> version = '1.7.1' >>>> python = 'Python' >>>> pyver = '2.7.5' >>>> versionsuffix = '-%s-%s' % (python, pyver) >>>> >>>> homepage = 'http://www.numpy.org' >>>> description = """NumPy is the fundamental package for scientific computing >>>> with Python. It contains among other things: >>>> a powerful N-dimensional array object, sophisticated (broadcasting) >>>> functions, tools for integrating C/C++ and Fortran >>>> code, useful linear algebra, Fourier transform, and random number >>>> capabilities. Besides its obvious scientific uses, >>>> NumPy can also be used as an efficient multi-dimensional container of >>>> generic data. Arbitrary data-types can be >>>> defined. This allows NumPy to seamlessly and speedily integrate with a >>>> wide variety of databases.""" >>>> >>>> >>>> toolchain = {'name': 'gnupack', 'version': '1.1.1'} >>>> >>>> source_urls = [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % >>>> version, 'download')] >>>> sources = ['%s-%s.tar.gz' % (name, version)] >>>> >>>> nose = 'nose' >>>> nosever = '1.3.0' >>>> >>>> builddependencies = [ >>>> (nose,nosever,'-%s-%s' % (python,pyver)), >>>> ] >>>> >>>> dependencies = [ >>>> (python, pyver), >>>> ] >>>> >>>> moduleclass = 'math' >>>> >>>> >>>> >>>> Thanks, >>>> Cormac. >>>> >>>> >>>> >>>> On Wed, Dec 18, 2013 at 4:17 PM, Garvey, Cormac T <[email protected]> >>>> wrote: >>>> >>>> Hi All, >>>> I am having some difficult build python 2.7.5 with Easybuild 1.9.0 + lmod >>>> >>>> My easyconfig file looks like >>>> >>>> name = 'Python' >>>> version = '2.7.5' >>>> >>>> homepage = 'http://python.org/' >>>> description = "Python is a programming language that lets you work more >>>> quickly and integrate your systems more effectively." >>>> >>>> toolchain = {'name': 'gnupack', 'version': '1.1.1'} >>>> toolchainopts = {'pic': True, 'opt': True, 'optarch': True} >>>> >>>> numpyversion = '1.7.1' >>>> >>>> source_urls = ['http://www.python.org/ftp/%s/%s/' % (name.lower(), >>>> version)] >>>> sources = ['%s-%s.tgz' % (name, version)] >>>> >>>> patches = ['python-%(version)s_libffi_int128_icc.patch'] >>>> >>>> exts_list = [ >>>> ('nose', '1.3.0', { >>>> 'source_urls': ['http://pypi.python.org/packages/source/n/nose/'], >>>> }), >>>> ('numpy', numpyversion, { >>>> 'source_urls': [('http://sourceforge.net/projects/numpy/files/NumPy/%s' % >>>> numpyversion, 'download')], >>>> 'patches': [ >>>> 'numpy-%s_distutils_multiple-lib-dirs.patch' % numpyversion, >>>> 'numpy-iqacml.patch', >>>> ], >>>> }), >>>> ] >>>> >>>> moduleclass = 'lang' >>>> >>>> >>>> >>>> With debugging turned on (EASYBUILD_DEBUG=1), I get an error building the >>>> module numpy. >>>> >>>> == 2013-12-18 14:39:49,745 main.filetools WARNING Found 5 errors in >>>> command output (output: collect2: error: ld returned 1 exit status, >>>> collect2: error: ld returned 1 exit status, collect2: error: ld returned 1 >>>> exit status, collect2: error: ld returned 1 exit status, collect2: error: >>>> ld returned 1 exit status) >>>> == 2013-12-18 14:39:49,745 main.environment INFO Environment variable >>>> PYTHONPATH set to >>>> /hpc-common/software/easybuild/inl-easyconfigs:/hpc-common/software/easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages >>>> == 2013-12-18 14:39:50,759 main.filetools INFO Path >>>> /apps/local/easybuild/build/Python/2.7.5/gnupack-1.1.1/numpy successfully >>>> removed. >>>> == 2013-12-18 14:39:50,761 main.Lmod INFO $MODULEPATH set based on list of >>>> module paths: >>>> /tmp/tmpT3IMq2/all:/apps/local/easybuild/modules/all:/apps/local/modules/modulefiles:/apps/projects/modules/modulefiles:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core >>>> == 2013-12-18 14:39:50,762 main.filetools INFO Command lmod found at >>>> /apps/projects/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/lmod >>>> == 2013-12-18 14:39:50,762 main.Lmod INFO Full path for module command is >>>> /apps/projects/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/lmod, so using it >>>> == 2013-12-18 14:39:50,763 main.Lmod ERROR EasyBuild crashed with an error >>>> (at >>>> easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages/easybuild/tools/modules.py:625 >>>> in __init__): Failed to check Lmod version: [Errno 2] No such file or >>>> directory >>>> >>>> The exception is occurring at the line below (file modules.py, function >>>> run_module), when it tries to execute os.getcwd()? >>>> >>>> self.log.debug("Running module command '%s' from %s" % (' '.join(cmdlist + >>>> args), os.getcwd())) >>>> >>>> >>>> When I turn debugging-off >>>> >>>> I get the following error >>>> >>>> == 2013-12-18 16:13:28,127 main.filetools WARNING Found 5 errors in >>>> command output (output: collect2: error: ld returned 1 exit status, >>>> collect2: error: ld returned 1 exit status, collect2: error: ld returned 1 >>>> exit status, collect2: error: ld returned 1 exit status, collect2: error: >>>> ld returned 1 exit status) >>>> == 2013-12-18 16:13:28,128 main.environment INFO Environment variable >>>> PYTHONPATH set to >>>> /hpc-common/software/easybuild/inl-easyconfigs:/hpc-common/software/easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages >>>> == 2013-12-18 16:13:29,178 main.filetools INFO Path >>>> /apps/local/easybuild/build/Python/2.7.5/gnupack-1.1.1/numpy successfully >>>> removed. >>>> == 2013-12-18 16:13:29,181 main.Lmod INFO $MODULEPATH set based on list of >>>> module paths: >>>> /tmp/tmpv_sTqF/all:/apps/local/easybuild/modules/all:/apps/local/modules/modulefiles:/apps/projects/modules/modulefiles:/apps/local/modules/modulefiles/Linux:/apps/local/modules/modulefiles/Core >>>> == 2013-12-18 16:13:29,182 main.filetools INFO Command lmod found at >>>> /apps/projects/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/lmod >>>> == 2013-12-18 16:13:29,182 main.Lmod INFO Full path for module command is >>>> /apps/projects/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/lmod, so using it >>>> == 2013-12-18 16:13:29,182 main.Lmod INFO Before module update >>>> == 2013-12-18 16:13:29,269 main.Lmod INFO After module update >>>> == 2013-12-18 16:13:29,270 main.Lmod INFO After tempfile >>>> == 2013-12-18 16:13:29,270 main.Lmod INFO Before open >>>> == 2013-12-18 16:13:29,270 main.Lmod INFO After open >>>> == 2013-12-18 16:13:29,355 main.Lmod INFO After subprocess >>>> == 2013-12-18 16:13:29,356 main.Lmod INFO After open >>>> == 2013-12-18 16:13:29,356 main.Lmod INFO After read >>>> == 2013-12-18 16:13:29,356 main.Lmod INFO lmod help output: >>>> /apps/projects/lua/5.1.4.5/gcc-4.5.1/opt/bin/lua: >>>> ...gcc-4.5.1/opt/lmod/lmod/libexec/../tools/fileOps.lua:295: bad argument >>>> #1 to 'chdir' (string expected, got nil) >>>> stack traceback: >>>> [C]: in function 'chdir' >>>> ...gcc-4.5.1/opt/lmod/lmod/libexec/../tools/fileOps.lua:295: in function >>>> 'abspath' >>>> ...s/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/utils.lua:427: in function >>>> 'readRC' >>>> ...ojects/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/lmod:472: in function >>>> 'main' >>>> ...ojects/lmod/5.2/gcc-4.5.1/opt/lmod/lmod/libexec/lmod:618: in main chunk >>>> [C]: ? >>>> >>>> >>>> Any suggestions? >>>> >>>> Thanks, >>>> Cormac. >>>> >>>> >>>> >>>> -- >>>> Cormac Garvey >>>> HPC Software Consultant >>>> Scientific Computing >>>> Idaho National Laboratory >>>> Ph: 208-526-6294 >>>> >>>> >>>> >>>> >>>> -- >>>> Cormac Garvey >>>> HPC Software Consultant >>>> Scientific Computing >>>> Idaho National Laboratory >>>> Ph: 208-526-6294 >>>> >>> >>> >>> >>> >>> -- >>> Cormac Garvey >>> HPC Software Consultant >>> Scientific Computing >>> Idaho National Laboratory >>> Ph: 208-526-6294 >>> >> >> >> >> >> -- >> Cormac Garvey >> HPC Software Consultant >> Scientific Computing >> Idaho National Laboratory >> Ph: 208-526-6294 >> >> <easybuild-rsUBi8.log.gz> >

