Giter Club home page Giter Club logo

cvmfs's People

Contributors

blaufuss avatar briedel avatar claudiok avatar dglo avatar dsschult avatar jvansanten avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cvmfs's Issues

[py2-v3] python tables illegal instruction

The python tables package installs a custom Blosc library, compiling with native optimizations. This generates illegal instructions on other (older) cluster nodes. Probably the easiest solution is to install Blosc ourself and have it pick up on that.

shell detection failing

/var/condor/execute/.../dir_22934/condor_exec.exe: line 27: setenv: command not found

Note that this is RHEL6, so /bin/sh should be bash. It should then be using export instead of setenv.

opencl and gfortran detection

We currently search in libdirlist=${LD_LIBRARY_PATH}:/usr/lib:/usr/lib64:/lib:/lib64:/usr/lib/x86_64-linux-gnu. However, all those extra directories may not be in the LD_LIBRARY_PATH, so should not be considered for shared library linking.

Instead, maybe modify the LD_LIBRARY_PATH and then only search on it.

python package versions using requirements file

Right now we have a long list of packages and version numbers. While this works sort-of OK, the dependencies from these packages are not versioned and grab whatever is newest from pypi. The correct way to enforce a frozen versionset is to use a requirements file.

Procedure:

  • initial build of new repo version uses unversioned packages (or versions as needed to get stability)
  • take snapshot of all package versions with pip freeze, saving to requirements file
  • use that requirements file for all future builds of repo version

boost::python::numpy

boost::python::numpy is officially supported as of 1.63. We should stop installing our own version.

Note that affects py2-v3, which should be cleaned up.

python -> python3 missing

If python is missing setup.sh gets angry:

[riedel1@dt-login01 build]$ eval `/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/setup.sh`
/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/setup.sh: line 118: python: command not found
/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/setup.sh: line 118: python: command not found
/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/setup.sh: line 125: python: command not found

check needs to look for python2 and python3 as well rather than just python

py3-v4 broken for SL

Spack is makiing a distinction between SL, RHEL, and CentOS. We will need to either run our own fork, or patch it when downloading. thoughts?

requests import issue

>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/cvmfs/icecube.opensciencegrid.org/py3-v4.1.1/RHEL_7_x86_64/lib/python3.7/site-packages/requests/__init__.py", line 44, in <module>
    import chardet
ModuleNotFoundError: No module named 'chardet'

tcsh shell detection

Somewhat related to #47, the tcsh bug has returned at a few OSG locations. It appears that the default shell is tcsh but jobs are using bash to execute a shell script. This currently breaks the setup.sh script in the following way:

  1. setup.sh detects shell as tcsh
  2. uses setenv
  3. calling script is bash, so setenv doesn't work

separate GUI repo

Since we've removed root X11 support, we should go all-in on not supporting GUI in the main repo. But because people like their steamshovel, we should probably have an alternate repo with full graphics support.

The only thing I'm concerned about is people trying to use the GUI repo in production on clusters. Maybe we need a smart detection as to which repo to pick, based on if X is available?

Set up a "build master"

Set up a "build master" from which we can build on all platforms and publish changes.

Maybe a custom buildbot setup?

zmq in py2-v2

ImportError: No module named zmq

required by ipython notebook

include gdb alongside modern gcc versions

The ancient version of gdb (7.6.1) on the cobalts and NPX isn't able to read the debug info in the py3-v4.3 preventing debugging. This is at least partially because gcc 11 switched the default DWARF version from 4 to 5, which is only supported in gdb 8 and later.

image

In my case, recompiling the python extension with -gdwarf-4 did NOT fix the issues. Including a gdb version >=8 alongside gcc 13 should work.

gfortran linking

Saw this on Centos 7:

Linking CXX executable ../bin/ipdf-tutorial
/usr/bin/ld: warning: libquadmath.so.0, needed by /cvmfs/icecube.opensciencegrid.org/py2-v2/RHEL_7_x86_64/tools/gfortran/libgfortran.so.3, not found (try using -rpath or -rpath-link)
/cvmfs/icecube.opensciencegrid.org/py2-v2/RHEL_7_x86_64/tools/gfortran/libgfortran.so.3: undefined reference to `fmodq@QUADMATH_1.0'

I guess we need libquadmath.so.0 in cvmfs as well? Does this degenerate into needing all of gcc's libraries?

Mind, this only happened when building on a machine that did not have gfortran installed.

install wipac-rest-tools

Rob asks for wipac-rest-tools to be installed in the next cvmfs python env, to make it easier to run filtering (to talk to iceprod).

add pyglidein tarballs

Add untarred copies of pyglidein tarballs.

Probably some similar organization as iceprod.

ubuntu 15.10 support

math.wisc.edu is running Ubuntu 15.10 on their nodes. Check if we can run off the 14.04 version, or if we need to build another version for this.

do not listen to OS_ARCH from environment

For py2-v2 and higher, ignore any environment overrides. While this offers less flexibility, it saves us from the DESY problem, where OS_ARCH is defined as something else by default.

icetray-start has incorrect syntax

from http://code.icecube.wisc.edu/projects/icecube/ticket/1862:

icetray-start requests to be executed using plain sh, but uses syntax which only exists in bash to define functions. This prevents it from running on systems (Ubuntu, FreeBSD) where /bin/sh is either really the Bourne shell or something closer to being conformant with the Bourne shell specification:

/cvmfs/icecube.opensciencegrid.org/py2-v2/icetray-start: 52: /cvmfs/icecube.opensciencegrid.org/py2-v2/icetray-start: Syntax error: "(" unexpected

It appears that the correct solution is to remove all uses of the non-existent function keyword.

Add zstd cli tools

Pass2 is using zstd.
It would be useful to have the CLI tools for this format available, as it it the case for gz, bz2 and xz.

py2_v3_base and globus

Globus fails to build currently:

configure: error: Missing required header ltdl.h

Probably need to wait for the new cvmfs build system.

tests before publishing changes

There have been several instances of bad publishes in the last few days (python modules mysteriously disappearing).

Develop a test suite to run basic checks and catch these sorts of problems.

pip 8.0 and --prefix

pip 8.0 gives us the --prefix option, which is probably the exact thing we want for iceprod building. let's upgrade to that for py2-v2.

icetray-start error

/cvmfs/icecube.opensciencegrid.org/py2-v1/icetray-start: line 41: /etc/osg/wn-client/setup.sh: No such file or directory

Probably not checking first if $OSG_GRID/setup.sh is a valid file.

add nuSQuIDS

Add nuSQuIDS and SQuIDS.

Probably for py2_v3 or py2_v4.

install nlopt minimizer

nlopt is a new minimizer that should be getting added to our supported list soon. This is designed to replace minuit2.

try not setting PYTHONPATH

Now that I3Ports is going away with #2, we'll only have a single PYTHONPATH entry to make, the default one. Let's see if python can figure this out internally instead of us having to force it.

freetype

The followup machines are apparently missing freetype completely (headers + library). This indicates that maybe we should install our own freetype.

install pymongo

This is needed for the new GCD generation.

Probably add this to py2-v2 as well.

GCD file sync

New GCD files:

/data/sim/sim-new/downloads/GCD/GeoCalibDetectorStatus_2014.56784_V0_NovSnow.i3.gz
/data/sim/sim-new/downloads/GCD/GeoCalibDetectorStatus_2015.57161_V0_OctSnow.i3.gz
/data/sim/sim-new/downloads/GCD/GeoCalibDetectorStatus_2016.57531_V0_OctSnow.i3.gz

Should think of making the GCD file sync automated one of these days.

uberftp

IceProd2 needs uberftp installed. This can happen in either py2-v2 or iceprod variants.

add condor pybindings

We should encourage usage of the HTCondor python bindings. In order to do that, install them for the python in cvmfs.

Can do this for py2-v3 and future.

arm builds

We should make some ARM builds for CVMFS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.