Hi Kenneth,

Here is the structure of my private easyblocks, easyconfigs and toolchains.

└── easybuild
    ├── build_my_toolchain.sh
    ├── easyblocks
    │   ├── abaqus.py
    │   ├── abaqus.pyc
    │   ├── __init__.py
    │   ├── mcnp5.py
    │   ├── mcnp5.pyc
    │   ├── mcnp6.py
    │   ├── mcnp6.pyc
    │   ├── mcnpdata.py
    │   ├── mcnpdata.pyc
    │   ├── mcnpx.py
    │   ├── mcnpx.pyc
    │   ├── petsc.py_keep
    │   ├── starccm.py
    │   ├── starccm.pyc
    │   ├── vasp.py
    │   └── vasp.pyc
    ├── easyconfigs
    │   ├── ABAQUS-6.13.2-inl.eb
    │   ├── apr-1.4.6-GCC-4.7.3-inl.eb
    │   ├── apr-util-1.5.1-GCC-4.7.3-inl.eb
    │   ├── ATLAS-3.10.1-gmvapich2-1.1.0-inl.eb
    │   ├── ATLAS-3.10.1-gmvapich2-1.7.12-inl.eb
    │   ├── BLACS-1.1-gmvapich2-1.1.0-inl.eb
    │   ├── BLACS-1.1-gmvapich2-1.7.12-inl.eb
    │   ├── configure.patch
    │   ├── expire.F90.1.40.patch
    │   ├── expire.F90.1.60.patch
    │   ├── f_check_GCC.patch
    │   ├── f_check.patch
    │   ├── FFTW-2.1.5-gmvapich2-1.1.0-inl.eb
    │   ├── FFTW-2.1.5-gmvapich2-1.7.12-inl.eb
    │   ├── FFTW-3.3.3-gmvapich2-1.1.0-inl.eb
    │   ├── FFTW-3.3.3-gmvapich2-1.1.0-single-inl.eb
    │   ├── FFTW-3.3.3-gmvapich2-1.7.12-inl.eb
    │   ├── FFTW-3.3.3-gmvapich2-1.7.12-single-inl.eb
    │   ├── GCC-4.7.3-inl.eb
    │   ├── git-1.8.3.4-GCC-4.7.3-inl.eb
    │   ├── gmvapich2-1.1.0-inl.eb
    │   ├── gmvolf-1.7.13-inl.eb
    │   ├── gnupack-1.1.1-inl.eb
    │   ├── gompi-1.1.0-inl.eb
    │   ├── Hypre-2.8.0b-gmvolf-1.7.13-inl.eb
    │   ├── Hypre-2.8.0b-gnupack-1.1.1-inl.eb
    │   ├── icc-13.1.3-inl.eb
    │   ├── icc-2013.5.192-inl.eb
    │   ├── iccifort-2013.5.192-inl.eb
    │   ├── ictce-5.5.0-inl.eb
    │   ├── ifort-2013.5.192-inl.eb
    │   ├── imkl-11.0.5.192-inl.eb
    │   ├── impi-4.1.1.036-inl.eb
    │   ├── intelpack-1.1.2-inl.eb
    │   ├── intelpack-1.1.3-inl.eb
    │   ├── LAPACK-3.4.2-gmvapich2-1.1.0-OpenBLAS-0.2.8-inl.eb
    │   ├── LAPACK-3.4.2-gmvapich2-1.7.12-in.eb
    │   ├── Linux.gcf.patch
    │   ├── Makefile.in_2.7.0.patch
    │   ├── Makefile.in.patch
    │   ├── makefile.linux_ifc_P4_mpiifort.patch
    │   ├── makefile.linux_ifc_P4_no_ngzhalf_mpiifort.patch
    │   ├── makefile.linux_ifc_P4_no_ngzhalf.patch
    │   ├── makefile.linux_ifc_P4.patch
    │   ├── makefile.linux_ifc_P4_tbdyn_mpiifort.patch
    │   ├── makefile.linux_ifc_P4_tbdyn.patch
    │   ├── MCNP5-1.40-intelpack-1.1.2-inl.eb
    │   ├── MCNP5-1.40-intelpack-1.1.2-serial-inl.eb
    │   ├── MCNP5-1.40-intelpack-1.1.3-inl.eb
    │   ├── MCNP5-1.40-intelpack-1.1.3-serial-inl.eb
    │   ├── MCNP5-1.51-intelpack-1.1.2-inl.eb
    │   ├── MCNP5-1.51-intelpack-1.1.2-serial-inl.eb
    │   ├── MCNP5-1.51-intelpack-1.1.3-inl.eb
    │   ├── MCNP5-1.51-intelpack-1.1.3-serial-inl.eb
    │   ├── MCNP5-1.60-intelpack-1.1.2-inl.eb
    │   ├── MCNP5-1.60-intelpack-1.1.2-serial-inl.eb
    │   ├── MCNP5-1.60-intelpack-1.1.3-inl.eb
    │   ├── MCNP5-1.60-intelpack-1.1.3-serial-inl.eb
    │   ├── MCNP6-1.0-intelpack-1.1.2-inl.eb
    │   ├── MCNP6-1.0-intelpack-1.1.3-inl.eb
    │   ├── MCNP6-1.0-intelpack-1.1.3-serial-inl.eb
    │   ├── MCNP_DATA-1.0-inl.eb
    │   ├── MCNPX-2.6.0-intelpack-1.1.2-inl.eb
    │   ├── MCNPX-2.6.0-intelpack-1.1.3-inl.eb
    │   ├── MCNPX-2.7.0-intelpack-1.1.2-inl.eb
    │   ├── MCNPX-2.7.0-intelpack-1.1.3-inl.eb
    │   ├── MVAPICH2-1.7-GCC-4.7.3-inl.eb
    │   ├── MVAPICH2-1.7-iccifort-2013.5.192-inl.eb
    │   ├── MVAPICH2-1.9-GCC-4.7.3-inl.eb
    │   ├── MVAPICH2-1.9-iccifort-2013.5.192-inl.eb
    │   ├── nose-1.3.0-gnupack-1.1.1-Python-2.7.5-inl.eb
    │   ├── numpy-1.7.1_distutils_multiple-lib-dirs.patch
    │   ├── numpy-1.7.1-gnupack-1.1.1-Python-2.7.5-inl.eb
    │   ├── numpy-iqacml.patch
    │   ├── OpenBLAS-0.2.6-gmvapich2-1.1.0-inl.eb
    │   ├── OpenBLAS-0.2.8-gmvapich2-1.1.0-inl.eb
    │   ├── OpenBLAS-0.2.8-gmvapich2-1.7.12-LAPACK-3.4.2-inl.eb
    │   ├── OpenMPI-1.6.5-GCC-4.7.3-inl.eb
    │   ├── OpenMPI-1.6.5-iccifort-2013.5.192-inl.eb
    │   ├── PETSc-3.3-p4-gmvolf-1.7.13-inl.eb
    │   ├── PETSc-3.3-p4-gnupack-1.1.1-inl.eb
    │   ├── Python-2.7.5-gmvolf-1.7.13-inl.eb
    │   ├── Python-2.7.5-gnupack-1.1.1-inl.eb
    │   ├── Python-2.7.5-gnupack-1.1.1-inl.eb_not_working
    │   ├──
ScaLAPACK-2.0.2-gmvapich2-1.1.0-OPENBLAS-0.2.6-LAPACK-3.4.2-BLACS-1.1-inl.eb
    │   ├──
ScaLAPACK-2.0.2-gmvapich2-1.1.0-OPENBLAS-0.2.8-LAPACK-3.4.2-inl.eb
    │   ├──
ScaLAPACK-2.0.2-gmvapich2-1.7.12-OpenBLAS-0.2.8-LAPACK-3.4.2-inl.eb
    │   ├── serf-1.2.1-GCC-4.7.3-inl.eb
    │   ├── sqlite-3.7.17-GCC-4.7.3-inl.eb
    │   ├── STARCCM+8.04.010-inl.eb
    │   ├── sub_abaqus_6.13.2
    │   ├── sub_mcnp5_1.40
    │   ├── sub_mcnp5_1.40-serial
    │   ├── sub_mcnp5_1.51
    │   ├── sub_mcnp5_1.51-serial
    │   ├── sub_mcnp5_1.60
    │   ├── sub_mcnp5_1.60-serial
    │   ├── sub_mcnp6_1.0
    │   ├── sub_mcnp6_1.0-serial
    │   ├── sub_mcnpx_2.6.0
    │   ├── sub_mcnpx_2.7.0
    │   ├── sub_starccm+_8.04.010
    │   ├── sub_vasp_5.3.2
    │   ├── Subversion-1.8.1-GCC-4.7.3-inl.eb
    │   ├── tbb-4.1.4.192-inl.eb
    │   ├── VASP-5.3.2-ictce-5.5.0-inl.eb
    │   ├── VASP-5.3.2-ictce-5.5.0-no-ngzhalf-inl.eb
    │   ├── VASP-5.3.2-ictce-5.5.0-tbdyn-inl.eb
    │   ├── VASP-5.3.2-intelpack-1.1.3-inl.eb
    │   └── zlib-1.2.8-GCC-4.7.3-inl.eb
    ├── __init__.py
    └── toolchains
        ├── compiler
        │   └── __init__.py
        ├── fft
        │   └── __init__.py
        ├── gnupack.py
        ├── gnupack.pyc
        ├── __init__.py
        ├── intelpack.py
        ├── intelpack.pyc
        ├── linalg
        │   ├── __init__.py
        │   ├── myopenblas.py
        │   └── myopenblas.pyc
        ├── mpi
        │   └── __init__.py
        ├── tbb.py
        └── tbb.pyc



When I remove __init__.py I can use my private easyblocks.
When I execute "eb --list-easyblocks" I do see my private easyblocks.


garvct@eos:~> eb --list-easyblocks
EasyBlock
|-- EB_ALADIN
|-- ConfigureMake
|   |-- EB_ARB
|   |-- EB_ATLAS
|   |-- CMakeMake
|   |   |-- EB_Armadillo
|   |   |-- EB_BamTools
|   |   |-- EB_CGAL
|   |   |-- EB_Clang
|   |   |-- CMakePythonPackage
|   |   |   |-- EB_DOLFIN
|   |   |   |-- EB_UFC
|   |   |-- EB_Geant4
|   |   |-- EB_OpenBabel
|   |   |-- EB_Trilinos
|   |-- EB_BLACS
|   |-- EB_BWA
|   |-- EB_bzip2
|   |-- MakeCp
|   |   |-- EB_BamTools
|   |   |-- EB_BLAT
|   |-- EB_Bowtie2
|   |-- EB_R
|   |-- EB_Bowtie
|   |-- EB_CBLAS
|   |-- EB_Chapel
|   |-- EB_Cufflinks
|   |-- EB_Python
|   |-- EB_Doxygen
|   |-- EB_DB
|   |-- EB_DL_underscore_POLY_underscore_Classic
|   |-- EB_ESPResSo
|   |-- EB_ESMF
|   |-- EB_flex
|   |-- EB_Ferret
|   |-- EB_freetype
|   |-- EB_GHC
|   |-- EB_g2clib
|   |-- EB_GCC
|   |-- EB_g2lib
|   |-- EB_HPL
|   |-- EB_HDF5
|   |-- EB_Hypre
|   |-- EB_libxml2
|   |-- EB_libint2
|   |-- EB_LAPACK
|   |-- EB_Perl
|   |-- EB_MUMmer
|   |-- EB_MrBayes
|   |-- EB_MUMPS
|   |-- EB_METIS
|   |-- EB_Mothur
|   |-- EB_MetaVelvet
|   |-- EB_MVAPICH2
|   |-- EB_ncurses
|   |-- EB_netCDF_minus_Fortran
|   |-- EB_NEURON
|   |-- EB_netCDF
|   |-- EB_NWChem
|   |-- EB_OpenSSL
|   |-- EB_PSI
|   |-- EB_PETSc
|   |-- EB_Primer3
|   |-- EB_Pasha
|   |-- EB_Qt
|   |-- EB_QuantumESPRESSO
|   |-- EB_ROOT
|   |-- EB_Score_minus_P
|   |-- EB_SAMtools
|   |-- EB_SLEPc
|   |-- EB_SuiteSparse
|   |-- EB_SWIG
|   |-- EB_SHRiMP
|   |-- EB_SOAPdenovo
|   |-- EB_ScaLAPACK
|   |-- EB_Scalasca1
|   |-- EB_Velvet
|   |-- EB_XCrySDen
|   |-- EB_MCNP5
|   |-- EB_MCNP6
|   |-- EB_MCNPDATA
|   |-- EB_MCNPX
|   |-- EB_VASP
|   |-- PerlModule
|-- EB_ant
|-- EB_ACML
|-- Binary
|   |-- EB_Allinea
|   |-- EB_CPLEX
|   |-- EB_CUDA
|   |-- EB_EPD
|   |-- PackedBinary
|   |   |-- EB_Java
|   |   |-- EB_Tornado
|   |-- EB_Mathematica
|   |-- Rpm
|   |   |-- EB_QLogicMPI
|   |-- EB_ABAQUS
|   |-- EB_STARCCM
|   |-- JAR
|-- EB_BiSearch
|-- ExtensionEasyBlock
|   |-- RPackage
|   |   |-- EB_Bioconductor
|   |   |-- EB_Rserve
|   |   |-- EB_Rmpi
|   |   |-- EB_XML
|   |-- PythonPackage
|   |   |-- CMakePythonPackage
|   |   |   |-- EB_DOLFIN
|   |   |   |-- EB_UFC
|   |   |-- EB_EasyBuildMeta
|   |   |-- EB_libxml2
|   |   |-- EB_nose
|   |   |-- FortranPythonPackage
|   |   |   |-- EB_numpy
|   |   |   |-- EB_scipy
|   |   |-- EB_python_minus_meep
|   |   |-- EB_PyZMQ
|   |   |-- EB_PyQuante
|   |   |-- EB_VSC_minus_tools
|   |-- PerlModule
|-- EB_Boost
|-- EB_CP2K
|-- EB_Eigen
|-- EB_FSL
|-- Tarball
|   |-- EB_FoldX
|   |-- EB_FreeSurfer
|   |-- EB_MTL4
|   |-- BinariesTarball
|-- EB_FLUENT
|-- EB_FDTD_underscore_Solutions
|-- EB_GenomeAnalysisTK
|-- IntelBase
|   |-- EB_icc
|   |   |-- EB_ifort
|   |-- EB_ifort
|   |-- EB_itac
|   |-- EB_impi
|   |-- EB_imkl
|   |-- EB_ipp
|   |-- EB_Inspector
|   |-- EB_tbb
|   |-- EB_VTune
|-- PackedBinary
|   |-- EB_Java
|   |-- EB_Tornado
|-- EB_libsmm
|-- EB_MATLAB
|-- EB_Maple
|-- EB_NCL
|-- EB_OpenFOAM
|-- EB_OpenIFS
|-- EB_picard
|-- EB_ParMETIS
|-- EB_Rosetta
|-- EB_SCOTCH
|-- EB_Trinity
|-- EB_TotalView
|-- EB_WRF
|-- EB_WIEN2k
|-- EB_WPS
|-- Toolchain

Extension
|-- ExtensionEasyBlock
|   |-- RPackage
|   |   |-- EB_Bioconductor
|   |   |-- EB_Rserve
|   |   |-- EB_Rmpi
|   |   |-- EB_XML
|   |-- PythonPackage
|   |   |-- CMakePythonPackage
|   |   |   |-- EB_DOLFIN
|   |   |   |-- EB_UFC
|   |   |-- EB_EasyBuildMeta
|   |   |-- EB_libxml2
|   |   |-- EB_nose
|   |   |-- FortranPythonPackage
|   |   |   |-- EB_numpy
|   |   |   |-- EB_scipy
|   |   |-- EB_python_minus_meep
|   |   |-- EB_PyZMQ
|   |   |-- EB_PyQuante
|   |   |-- EB_VSC_minus_tools
|   |-- PerlModule


My PYTHONPATH looks like

echo $PYTHONPATH

/hpc-common/software/easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages:/hpc-common/software/easybuild/inl-easyconfigs

If I include the path of the easyconfig files which come with EB, then EB
cannot find my private easyconfig files?

e.g
echo $PYTHONPATH

/hpc-common/software/easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages:/hpc-common/software/easybuild/1.9.0/gcc/opt:/hpc-common/software/easybuild/inl-easyconfigs

eb MVAPICH2-1.7-GCC-4.7.3-inl.eb
== temporary log file in case of crash /tmp/easybuild-1iSTLA.log
== ERROR: Can't find path /home/garvct/MVAPICH2-1.7-GCC-4.7.3-inl.eb

Thanks,
Cormac.


On Mon, Dec 23, 2013 at 10:41 AM, Kenneth Hoste <[email protected]>wrote:

> Hi Cormac,
>
> On 19 Dec 2013, at 23:47, Garvey, Cormac T wrote:
>
> > Hi All,
> > On the Easybuild wiki page "Setting up own easyblock repository", it
> instructs to
> > put __init__.py in the easybuild directory (e.g touch
> $MYEBDIR/easybuild/__init__.py).
> >
> > When I do that I get the following easybuild error.
> >
> > Traceback (most recent call last):
> > File
> "/hpc-common/software/easybuild/1.9.0/gcc/opt/lib/python2.7/site-packages/easybuild/main.py",
> line 80, in <module>
> >   from easybuild.tools.build_log import  EasyBuildError, print_msg,
> print_error, print_warning
> > ImportError: No module named tools.build_log
> >
> > Removing __init__.py from the $MYEBDIR/easybuild directory works (i.e My
> easyblocks can co-exist with the default Easybuild
> > easyblocks.)
>
> When you say things work when you simply remove the __init__.py, is
> EasyBuils still able to find your 'private' easyblocks?
> I.e., does "eb --list-easyblocks" include your easyblocks as well (they
> really shouldn't, I would be really surprised if they are)?
>
> The __init__.py really needs to be there to declare the 'easybuild'
> namespace, such that 'from easybuild.easyblocks.foo import EB_Foo' can work
> (with Foo a private easyblock).
>
> There is one nasty detail though, and I guess you're being bitten by this.
> The path with your private easyblocks needs to be added *last* to
> $PYTHONPATH, rather than first.
> This is also described on the "Setting up your own easyblock repository"
> wiki page at
> https://github.com/hpcugent/easybuild/wiki/Setting-up-your-own-easyblocks-repository
> :
>
> "Note: You need to add the path to your easyblocks at the end, not at the
> beginning (see below as to why)."
>
> The reason why is also explained on that page, but it boils down to use
> flattening the easyblocks namespace from e.g. 'easybuild.easyblocks.g.gcc'
> to 'easybuid,easyblocks.gcc'.
> This trick only works *once* though, and only when your
> easybuild.easyblocks namespace is first in $PYTHONPATH.
>
> I hope this helps, do let us know how this works out.
>
>
> regards,
>
> Kenneth




-- 
Cormac Garvey
HPC Software Consultant
Scientific Computing
Idaho National Laboratory
Ph: 208-526-6294

Reply via email to