Comments (29)
The last time I built newer Boost ROOT5 wasn't happy (Dictionaries + GCCXML + Boost combo). Yet I can give it a shot again.
from cmsdist.
Hi David,
The last time I built newer Boost ROOT5 wasn't happy (Dictionaries +
GCCXML + Boost combo). Yet I can give it a shot again.ah. :( Do you remember which version of boost/root that were ?
Thanks,
cheers, andreas
from cmsdist.
I did it incrementally and, I think, it was just one or two versions above the current one.
I am already experimenting on 1.57.0, but more or less the whole SPEC finally needs to be re-written. There is lots of not needed legacy bits + boost by default compiles with AVX2 and SSSE3, which are auto-detected and no manual disabling in available via b2
.
I will see if this works with CMSSW/ROOT5/GCCXML.
from cmsdist.
I did it incrementally and, I think, it was just one or two versions above
the current one.
:(
I am already experimenting on 1.57.0, but more or less the whole SPEC
finally needs to be re-written. There is lots of not needed legacy bits +
boost by default compiles with AVX2 and SSSE3, which are auto-detected and
no manual disabling in available via b2.I will see if this works with CMSSW/ROOT5/GCCXML.
OK, thanks ! Keep me updated ! ;)
Thanks,
cheers, andreas
from cmsdist.
yaml-cpp
also required an update (couldn't find boost). CMake
we have only checks for 1.56.0
at most. There is CMake
3.x already. At least two issues popped out.
Generated dictionary fails to compile (PhysicsToolsFWLite/a/xr.cc
)
PhysicsToolsFWLite/a/xr.cc: In function 'void {anonymous}::converter_13932(void*, void*, const std::vector<void*>&, void*)':
PhysicsToolsFWLite/a/xr.cc:640:255: error: 'const class boost::shared_ptr<reco::parser::SelectorBase>' has no member named 'operator reco::parser::SelectorBase* boost::shared_ptr<reco::parser::SelectorBase>::*'
if (retaddr) new (retaddr) (reco::parser::SelectorBase* boost::shared_ptr<reco::parser::SelectorBase>::*)((((const ::boost::shared_ptr<reco::parser::SelectorBase>*)o)->operator reco::parser::SelectorBase* boost::shared_ptr<reco::parser::SelectorBase>::*)());
^
PhysicsToolsFWLite/a/xr.cc:641:156: error: 'const class boost::shared_ptr<reco::parser::SelectorBase>' has no member named 'operator reco::parser::SelectorBase* boost::shared_ptr<reco::parser::SelectorBase>::*'
else (((const ::boost::shared_ptr<reco::parser::SelectorBase>*)o)->operator reco::parser::SelectorBase* boost::shared_ptr<reco::parser::SelectorBase>::*)();
^
PhysicsToolsFWLite/a/xr.cc: In function 'void {anonymous}::converter_13911(void*, void*, const std::vector<void*>&, void*)':
PhysicsToolsFWLite/a/xr.cc:1114:265: error: 'const class boost::shared_ptr<reco::parser::ExpressionBase>' has no member named 'operator reco::parser::ExpressionBase* boost::shared_ptr<reco::parser::ExpressionBase>::*'
if (retaddr) new (retaddr) (reco::parser::ExpressionBase* boost::shared_ptr<reco::parser::ExpressionBase>::*)((((const ::boost::shared_ptr<reco::parser::ExpressionBase>*)o)->operator reco::parser::ExpressionBase* boost::shared_ptr<reco::parser::ExpressionBase>::*)());
^
PhysicsToolsFWLite/a/xr.cc:1115:162: error: 'const class boost::shared_ptr<reco::parser::ExpressionBase>' has no member named 'operator reco::parser::ExpressionBase* boost::shared_ptr<reco::parser::ExpressionBase>::*'
else (((const ::boost::shared_ptr<reco::parser::ExpressionBase>*)o)->operator reco::parser::ExpressionBase* boost::shared_ptr<reco::parser::ExpressionBase>::*)();
^
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/shared_ptr.hpp:17:0,
from /build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/CommonTools/Utils/src/ExpressionPtr.h:12,
from /build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/PhysicsTools/FWLite/src/classes.h:3,
from PhysicsToolsFWLite/a/xr.cc:29:
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of 'typename boost::detail::sp_array_access<T>::type boost::shared_ptr<T>::operator[](std::ptrdiff_t) const [with T = reco::parser::SelectorBase; typename boost::detail::sp_array_access<T>::type = void; std::ptrdiff_t = long int]':
PhysicsToolsFWLite/a/xr.cc:629:103: required from here
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/smart_ptr/shared_ptr.hpp:658:22: error: return-statement with a value, in function returning 'void' [-fpermissive]
return px[ i ];
^
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/smart_ptr/shared_ptr.hpp: In instantiation of 'typename boost::detail::sp_array_access<T>::type boost::shared_ptr<T>::operator[](std::ptrdiff_t) const [with T = reco::parser::ExpressionBase; typename boost::detail::sp_array_access<T>::type = void; std::ptrdiff_t = long int]':
PhysicsToolsFWLite/a/xr.cc:1103:105: required from here
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/smart_ptr/shared_ptr.hpp:658:22: error: return-statement with a value, in function returning 'void' [-fpermissive]
gmake: *** [tmp/slc6_amd64_gcc481/src/PhysicsTools/FWLite/src/PhysicsToolsFWLite/a/xr.o] Error 1
Boost changed some interfaces to match C++11 requirements (kills Framework)
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/AllowedLabelsDesc
riptionBase.cc: In member function 'virtual void edm::AllowedLabelsDescriptionBase::validate_(edm::ParameterSet&, std::set<std::basic_string<char> >&, bool) const':
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/AllowedLabelsDesc
riptionBase.cc:57:58: error: use of deleted function 'void boost::cref(const T&&) [with T = const edm::AllowedLabelsDescriptionBase*]'
boost::cref(this),
^
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/ref.hpp:15:0,
from /build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet
/src/AllowedLabelsDescriptionBase.cc:8:
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/core/ref.hpp:179:24: error: declared here
template<class T> void cref(T const&&) BOOST_REF_DELETE;
^
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/AllowedLabelsDescriptionBase.cc:60:67: error: invalid use of void expression
std::ref(validatedLabels)));
^
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard
.cc: In member function 'virtual void edm::ParameterWildcard<edm::ParameterSetDescription>::validate_(edm::ParameterSet&, std::set<std::basic_string<char> >&, bool) const':
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard
.cc:67:43: error: use of deleted function 'void boost::cref(const T&&) [with T = const edm::ParameterWildcard<edm::ParameterSetDescription>*]'
boost::cref(this),
^
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/ref.hpp:15:0,
from /build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet
/src/ParameterWildcard.cc:8:
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/core/ref.hpp:179:24: error: declared here
template<class T> void cref(T const&&) BOOST_REF_DELETE;
^
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard.cc:69:41: error: invalid use of void expression
std::ref(pset)));
^
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard.cc: In member function 'virtual void edm::ParameterWildcard<std::vector<edm::ParameterSet> >::validate_(edm::ParameterSet&, std::set<std::basic_string<char> >&, bool) const':
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard.cc:184:43: error: use of deleted function 'void boost::cref(const T&&) [with T = const edm::ParameterWildcard<std::vector<edm::ParameterSet> >*]'
boost::cref(this),
^
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/ref.hpp:15:0,
from /build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard.cc:8:
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/core/ref.hpp:179:24: error: declared here
template<class T> void cref(T const&&) BOOST_REF_DELETE;
^
/build/davidlt/boost/a/tmp/BUILDROOT/29adb76dfbe685d03959fb3173393efd/opt/cmssw/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/FWCore/ParameterSet/src/ParameterWildcard.cc:186:41: error: invalid use of void expression
std::ref(pset)));
^
from cmsdist.
Thanks, David,
yaml-cpp also required an update (couldn't find boost). CMake we have only
checks for 1.56.0 at most. There is CMake 3.x already. At least two
issues popped out.
OK, I'll check then with 1.56.0 and see if that fixes my issue as well.
If the issues are really that big as you indicate in [1], then I'll work to
see if I can make a minimal patch for 1.51.0 which fixes my issue.
Thanks,
cheers, andreas
[1] https://hypernews.cern.ch/HyperNews/CMS/get/edmFramework/3393.html
from cmsdist.
I will continue looking into Boost 1.57.0+ in CMSSW, but no ETA (still studying the issues).
from cmsdist.
I will continue looking into Boost 1.57.0+ in CMSSW, but no ETA (still
studying the issues).ok - thanks !
cheers, andreas
from cmsdist.
I believe I have identified the first (dictionary issue) and it's related to C++11 features. boost::shared_ptr
is used on those dictionaries (is it allowed?), yet different signatures for conversions are provided based on C++ standard. There is no need for nasty hacks in C++11 for bool conversions since boost 1.53.0.
One could re-enable the C++03 hackish version by BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
define. Not sure if it's enough to set in boost user configuration like I did for ROOT6 branch (no support for inline assembly in ROOT6 JIT yet): https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_7_3_X/root6/boost-1.51.0-define-BOOST_SP_USE_SPINLOCK.patch
Okay, it seems to work, but does not solve all the errors in dictionary.
from cmsdist.
Time to share a second part of the puzzle.
The problems are caused starting 1.53.0. Boost extended boost::shared_ptr
with ability to hold a pointer to a dynamically allocated array.
Starting with Boost release 1.53, shared_ptr can be used to hold a pointer to a dynamically allocated array. This is accomplished by using an array type (T[] or T[N]) as the template parameter. There is almost no difference between using an unsized array, T[], and a sized array, T[N]; the latter just enables operator[] to perform a range check on the index.
Example:
shared_ptr<double[1024]> p1( new double[1024] );
shared_ptr<double[]> p2( new double[n] );
The types we have in a dictionary are based on boost::shared_ptr
, but their are not array type.
--->> genreflex: INFO: Using typedef reco::parser::SelectorPtrs to select class std::vector<boost::shared_ptr<reco::parser::SelectorBase> >
--->> genreflex: INFO: Using typedef reco::parser::ExpressionPtrs to select class std::vector<boost::shared_ptr<reco::parser::ExpressionBase> >
--->> genreflex: INFO: Using typedef reco::parser::ExpressionPtr to select class boost::shared_ptr<reco::parser::ExpressionBase>
--->> genreflex: INFO: Using typedef reco::parser::SelectorPtr to select class boost::shared_ptr<reco::parser::SelectorBase>
Boost implementation checks if pointer is an array on the fly. Thus operator[]
is provided for all possible boost::shared_ptr
(even if it's not a pointer to an array).
652 // never throws (but has a BOOST_ASSERT in it, so not marked with BOOST_NOEXCEPT)
653 typename boost::detail::sp_array_access< T >::type operator[] ( std::ptrdiff_t i ) const
654 {
655 BOOST_ASSERT( px != 0 );
656 BOOST_ASSERT( i >= 0 && ( i < boost::detail::sp_extent< T >::value || boost::detail::sp_extent< T >::value == 0 ) );
657
658 return px[ i ];
659 }
723 element_type * px; // contained pointer
724 boost::detail::shared_count pn; // reference counter
725
726 }; // shared_ptr
Our type example:
typename boost::detail::sp_array_access<T>::type boost::shared_ptr<T>::operator[](std::ptrdiff_t) const
[with T = reco::parser::SelectorBase;
typename boost::detail::sp_array_access<T>::type = void;
std::ptrdiff_t = long int]'
Thus trait boost::detail::sp_array_access<reco::parser::SelectorBase>::type
returns void
. It's no an array, thus expected. Then operator[]
returns void
, but the body actually has return
statement. This acts almost like a static assert.
We "call" operator[]
because Relfex generates wrappers for them.
627 static void operator_13930( void*, void* o, const std::vector<void*>& arg, void*)
628 {
629 (((const ::boost::shared_ptr<reco::parser::SelectorBase>*)o)->operator[])(*(::std::ptrdiff_t*)arg[0]);
630 }
1101 static void operator_13909( void*, void* o, const std::vector<void*>& arg, void*)
1102 {
1103 (((const ::boost::shared_ptr<reco::parser::ExpressionBase>*)o)->operator[])(*(::std::ptrdiff_t*)arg[0]);
1104 }
Errors compiling the dictionary. Compiler flags could be used to force it compiling or maybe a move to std::shared_ptr
could save the day.
In file included from PhysicsToolsFWLite/a/xr.cc:29:
In file included from /build/davidlt/boost/CMSSW_7_3_X_2014-11-06-0200/src/PhysicsTools/FWLite/src/classes.h:3:
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/CommonTools/Utils/src/ExpressionPtr.h:12:
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/shared_ptr.hpp:17:
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/smart_ptr/shared_ptr.hpp:658:9: error: void function 'operator[]' should not return a value [-Wreturn-type]
return px[ i ];
^ ~~~~~~~
PhysicsToolsFWLite/a/xr.cc:629:65: note: in instantiation of member function 'boost::shared_ptr<reco::parser::SelectorBase>::operator[]' requested here
(((const ::boost::shared_ptr<reco::parser::SelectorBase>*)o)->operator[])(*(::std::ptrdiff_t*)arg[0]);
^
In file included from PhysicsToolsFWLite/a/xr.cc:29:
In file included from /build/davidlt/boost/CMSSW_7_3_X_2014-11-06-0200/src/PhysicsTools/FWLite/src/classes.h:3:
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/cms/cmssw/CMSSW_7_3_X_2014-11-06-0200/src/CommonTools/Utils/src/ExpressionPtr.h:12:
In file included from /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/shared_ptr.hpp:17:
/build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/smart_ptr/shared_ptr.hpp:658:9: error: void function 'operator[]' should not return a value [-Wreturn-type]
return px[ i ];
^ ~~~~~~~
PhysicsToolsFWLite/a/xr.cc:1103:67: note: in instantiation of member function 'boost::shared_ptr<reco::parser::ExpressionBase>::operator[]' requested here
(((const ::boost::shared_ptr<reco::parser::ExpressionBase>*)o)->operator[])(*(::std::ptrdiff_t*)arg[0]);
^
6 warnings and 2 errors generated.
from cmsdist.
Framework fixes: cms-sw/cmssw#6278
from cmsdist.
I just made a PR to resolve operator[]
on boost::shared_ptr
issue in Boost 1.53.0+ : cms-sw/cmssw#6289
from cmsdist.
I just made a PR to resolve operator[] on boost::shared_ptr issue in
Boost 1.53.0+ : cms-sw/cmssw#6289
cms-sw/cmssw#6289great !
Thanks !
cheers, andreas
from cmsdist.
cref
and ref
C++11 issues are resolved, and operator[]
changes were just merged. The next IB (1400) should be a good base to work on. This mostly would target CMSWW_7_3_0_pre3. Proper testing of Boost 1.57.0 will take some time. Boost itself will be compiled with BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
, two more patches need to written for disabling SSSE3 and AVX2 auto-enable thingie. I will also disable Pyste mostly likely as it requires GCCXML, which is about to vanish with ROOT6.
To be updated once I have access to IB.
from cmsdist.
Hi David,
cref and ref C++11 issues are resolved, and operator[] changes were just
merged. The next IB (1400) should be a good base to work on. This mostly
would target CMSWW_7_3_0_pre3. Proper testing of Boost 1.57.0 will take
some time. Boost itself will be compiled with
BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS, two more patches need to
written for disabling SSSE3 and AVX2 auto-enable thingie.
OK, very good, thanks !
I will also disable Pyste mostly likely as it requires GCCXML, which is
about to vanish with ROOT6.To be updated once I have access to IB.
hmm ... not fully sure about this part. We want to use the boost.python
stuff to generate the XML dynamically from a python script. Though I'm not
100% sure, I think boost will use pyste for that, no ?
Thanks,
cheers, andreas
from cmsdist.
Hi again,
[...]
I will also disable Pyste mostly likely as it requires GCCXML, which is
about to vanish with ROOT6.To be updated once I have access to IB.
hmm ... not fully sure about this part. We want to use the boost.python
stuff to generate the XML dynamically from a python script. Though I'm not
100% sure, I think boost will use pyste for that, no ?
ah, just checked the 1.57 docs and it seems that pyste is not needed, they
moved to a new tool ("Py++").
Thanks,
cheers, andreas
from cmsdist.
Using GCCXML is unrecommended and it's aging too fast. This will potentially block further development (C++11, C++14). It will not supported any new architectures will look into (AArch64/ARM64, POWER8).
If you need GCCXML, then redesign the software to avoid it.
For now we can keep it, but definitely do not design software using it.
from cmsdist.
Using GCCXML is unrecommended and it's aging too fast. This will
potentially block further development (C++11, C++14). It will not supported
any new architectures will look into (AArch64/ARM64, POWER8).
If you need GCCXML, then redesign the software to avoid it.For now we can keep it, but definitely do not design software using it.
no need, see my other reply (boost 1.57 is not using pyste, but their new
tool Py++ for the python bindings).
So please go ahead and remove Pyste as you planned.
Thanks,
cheers, andreas
from cmsdist.
Okay. Next things, we will need to disable __int128
as it gets into GCCXML (BOOST_HAS_INT128
). EOS Portable Archive is not compiling as in 1.56.0 Boost Serialization was refactored. I have an idea for a fix, but need to confirm it. There are more ref/cref breakage. Then there are bizarre serialization shared_ptr related compile failures.
from cmsdist.
The following fixes are needed:
https://svn.boost.org/trac/boost/ticket/10749
https://svn.boost.org/trac/boost/ticket/10348
They will land in 1.58.0
from cmsdist.
Another puzzle piece queued: cms-sw/cmssw#6353
from cmsdist.
ROOT5 rootcint
failure happens, because we use -p
option. It forces rootcint
to use GCC/Clang per-processor instead the one from CINT.
Use the -p option to request the use of the compiler's preprocessor
instead of CINT's preprocessor. This is useful to handle header
files with macro construct not handled by CINT.
This will cause the breakage, because __SIZEOF_INT128__
is then defined. This declares that __int128
type is available, but CINT cannot fully handle it (it's also disabled in GCCXML). Thus CINT dies once __int128
is found.
Error: class,struct,union or type __int128 not defined /build/davidlt/boost/a/slc6_amd64_gcc481/external/boost/1.57.0/include/boost/config/suffix.hpp:496:
from cmsdist.
Hi David,
thanks for the info/updates - and, of course, for the work behind it !!!
cheers, andreas
from cmsdist.
It seems I have the last outstanding issue left while compiling CMSSW with boost 1.57.0. It's related to the fact that new boost version do not export ctor/dtor for shared_ptr_helper
. There were some refactoring done in boost for serialization.
from cmsdist.
AFAIK, this is not replaced with boost::serialization::shared_ptr_helper
, the problem is that shared_ptr_helper.cpp
is not compiled-in.
Easiest why is to drop shared_ptr
support.
from cmsdist.
It's listed out from serialization sources and adding it is not an option (does not compile). Found another report and they went with removal.
from cmsdist.
The following will clean up the warnings with Boost 1.57.0. Boost.Signals is unmaintained and deprecated now.
This one resolved issues with shared_ptr support in EOS Portable Archive. The include is no more needed since 1.56.0.
from cmsdist.
This was done, right? Can you close this?
from cmsdist.
AFAIK this should be in CMSSW_7_4_X now. Closing.
from cmsdist.
Related Issues (20)
- Need Rucio update to 1.27 on both lxplus7 and lxplus8 HOT 6
- Use case-insensitive comparision for checking dependencies of python packages HOT 3
- Update UTM to 0.10.0 for Displaced Jet bit at L1T HOT 2
- update cryptograohy HOT 3
- Cleanup unused/obsolete files from default branch HOT 6
- cmsdist changes needed to avoid use of cmsplatf HOT 1
- Update ONNXRuntime to version v1.10.0 HOT 2
- dasgoclint failed due to to parse X509 proxy HOT 9
- Test "materialBudgetTrackerPlots" has errors HOT 5
- Migration VecGeom to the new version 1.1.20 HOT 1
- Add xrootd recorder plugin HOT 1
- Rucio and Python3 HOT 4
- Install pacparser python module HOT 4
- Missing libnvidia-ml issue for ppc64le HOT 15
- mcfm in cmssw distribution HOT 4
- GCC11/CXXMODULE IBs errors HOT 7
- Boost 1.80/ROOT Modules IBs issue HOT 5
- Migration to CLHEP 2.4.6.0 HOT 5
- Migration of G4VECGEOM branch to VecGeom 1.2.1 HOT 2
- Update zstd to latest version 1.5.2 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmsdist.