Disable building on aarch64 (it is now broken again)

Add missing header (gcc 7)
Fix a test failure on Fedora 26 i686
Fix some format warnings/errors in GlobusAuth
Use the right delimiter when splitting the icon path in TASImage
Disable two more tests on 32 bit arm
This commit is contained in:
Mattias Ellert 2017-03-02 11:49:00 +01:00
commit f8ad33edc6
6 changed files with 199 additions and 8 deletions

15
root-Quantiles.patch Normal file
View file

@ -0,0 +1,15 @@
diff --git a/math/mathcore/src/TMath.cxx b/math/mathcore/src/TMath.cxx
index 942bb55..72618fc 100644
--- a/math/mathcore/src/TMath.cxx
+++ b/math/mathcore/src/TMath.cxx
@@ -1210,7 +1210,9 @@ void TMath::Quantiles(Int_t n, Int_t nprob, Double_t *x, Double_t *quantiles, Do
else
nppm = n*prob[i]; // use m = 0
- j = TMath::FloorNint(nppm);
+ // be careful with machine precision
+ double eps = 4 * TMath::Limits<Double_t>::Epsilon();
+ j = TMath::FloorNint(nppm + eps);
// LM : fix for numerical problems if nppm is actually equal to j, but results different for numerical error
// g in the paper is nppm -j

94
root-format.patch Normal file
View file

@ -0,0 +1,94 @@
diff --git a/net/globusauth/src/GlobusAuth.cxx b/net/globusauth/src/GlobusAuth.cxx
index 6e0a00a..0b778bf 100644
--- a/net/globusauth/src/GlobusAuth.cxx
+++ b/net/globusauth/src/GlobusAuth.cxx
@@ -139,7 +139,7 @@ Int_t GlobusAuthenticate(TAuthenticate * tAuth, TString & user,
return -1;
}
if (gDebug > 3)
- Info("GlobusAuthenticate", " Credential Handle is 0x%x",
+ Info("GlobusAuthenticate", " Credential Handle is %p",
gGlbCredHandle);
// Inquire credentials for subject name and convert it in human readable form ...
@@ -193,7 +193,7 @@ Int_t GlobusAuthenticate(TAuthenticate * tAuth, TString & user,
if (gDebug > 0)
Error("GlobusAuthenticate",
"Length of Issuer name not send correctly: bytes sent: %d (tot len: %d)",
- bsnd - 1, strlen(buf));
+ bsnd - 1, (int) strlen(buf));
return 0;
}
// Now we send it to the server daemon
@@ -240,7 +240,7 @@ Int_t GlobusAuthenticate(TAuthenticate * tAuth, TString & user,
"recv host subj: did not receive all the bytes"
" (recv: %d, due >%d)", brcv, retval);
Error("GlobusAuthenticate", "recv host subj: (%d) %s",
- strlen(host_subj), host_subj);
+ (int) strlen(host_subj), host_subj);
}
if (host_subj) delete[] host_subj;
return 0;
@@ -262,7 +262,7 @@ Int_t GlobusAuthenticate(TAuthenticate * tAuth, TString & user,
0 ? (GSS_C_DELEG_FLAG | GSS_C_MUTUAL_FLAG) : GSS_C_MUTUAL_FLAG;
if (gDebug > 3)
Info("GlobusAuthenticate",
- " gssReqFlags: %p, GlbCredentials: %p", gssReqFlags, gGlbCredHandle);
+ " gssReqFlags: 0x%x, GlbCredentials: %p", gssReqFlags, gGlbCredHandle);
// Now we are ready to start negotiating with the Server
if ((majStat =
@@ -417,7 +417,7 @@ int GlobusGetDelCred()
return 1;
} else if (gDebug > 3)
Info("GlobusGetDelCred:",
- "Globus Credentials successfully imported (0x%x)",
+ "Globus Credentials successfully imported (%p)",
gGlbDelCredHandle);
if (credential) delete[] credential;
@@ -494,7 +494,7 @@ Int_t GlobusGetLocalEnv(Int_t *localEnv, TString protocol)
Info("GlobusGetLocalEnv",
"PROOF environment, called by the MASTER/SLAVE");
Info("GlobusGetLocalEnv",
- "string with pointer to del cred is 0x%x",
+ "string with pointer to del cred is %p",
gGlbDelCredHandle);
}
*localEnv = 2;
@@ -542,7 +542,7 @@ Int_t GlobusGetLocalEnv(Int_t *localEnv, TString protocol)
Int_t GlobusNameFromCred(gss_cred_id_t cred, TString &subjName)
{
if (gDebug > 2)
- Info("GlobusNamesFromCred", "Enter: Handle: 0x%p", cred);
+ Info("GlobusNamesFromCred", "Enter: Handle: %p", cred);
// Inquire credentials for Subject name and convert it in human readable form ...
OM_uint32 majStat = 0;
@@ -662,7 +662,7 @@ void GlobusCleanupShm()
if ((rc == EINVAL) || (rc == EIDRM)) {
if (gDebug > 3)
Info("GlobusCleanupShm:",
- "credentials shared memory segment %s"
+ "credentials shared memory segment "
"already marked as destroyed");
} else {
Warning("GlobusCleanupShm:",
@@ -730,7 +730,7 @@ Int_t GlobusCheckSecContext(const char *subjName, gss_ctx_id_t ctx)
theName[nameBuffer.length]= '\0';
if (gDebug > 2)
Info("GlobusCheckSecContext","with subject name: %s (%d)",
- theName, nameBuffer.length);
+ theName, (int) nameBuffer.length);
if (!strcmp(theName, subjName)) {
if (gDebug > 2)
Info("GlobusCheckSecContext",
@@ -1010,7 +1010,7 @@ Int_t GlobusIssuerName(TString &issuerName)
fn = Form("%s/.globus/usercert.pem",gSystem->HomeDirectory());
if (gSystem->AccessPathName(fn, kReadPermission)) {
emsg += fn;
- Error("GlobusIssuerName", emsg.Data());
+ Error("GlobusIssuerName", "%s", emsg.Data());
return 1;
}
}

View file

@ -0,0 +1,12 @@
diff --git a/test/stressEntryList.cxx b/test/stressEntryList.cxx
index e39a80b..ee6303b 100644
--- a/test/stressEntryList.cxx
+++ b/test/stressEntryList.cxx
@@ -38,6 +38,7 @@
#include <map>
#include <list>
#include <array>
+#include <functional>
#include <stdlib.h>
#include "TApplication.h"
#include "TEntryList.h"

View file

@ -0,0 +1,39 @@
diff --git a/bindings/pyroot/CMakeLists.txt b/bindings/pyroot/CMakeLists.txt
index c537bae..3a2118e 100644
--- a/bindings/pyroot/CMakeLists.txt
+++ b/bindings/pyroot/CMakeLists.txt
@@ -36,8 +36,13 @@ endif()
file(GLOB pyfiles RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.py)
foreach(pyfile ${pyfiles})
install(FILES ${pyfile} DESTINATION ${runtimedir})
- install(CODE "execute_process(COMMAND python -m py_compile \$ENV{DESTDIR}${runtimedir}/${pyfile})")
- install(CODE "execute_process(COMMAND python -O -m py_compile \$ENV{DESTDIR}${runtimedir}/${pyfile})")
+ if(IS_ABSOLUTE ${runtimedir})
+ set(absruntimedir ${runtimedir})
+ else()
+ set(absruntimedir ${CMAKE_INSTALL_PREFIX}/${runtimedir})
+ endif()
+ install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile \$ENV{DESTDIR}${absruntimedir}/${pyfile})")
+ install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile \$ENV{DESTDIR}${absruntimedir}/${pyfile})")
file(COPY ${pyfile} DESTINATION ${localruntimedir})
endforeach()
diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt
index 0f430c9..a431a2b 100644
--- a/main/CMakeLists.txt
+++ b/main/CMakeLists.txt
@@ -43,7 +43,12 @@ if(python)
endforeach()
install(FILES python/cmdLineUtils.py DESTINATION ${runtimedir})
- install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile \$ENV{DESTDIR}${runtimedir}/cmdLineUtils.py)")
- install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile \$ENV{DESTDIR}${runtimedir}/cmdLineUtils.py)")
+ if(IS_ABSOLUTE ${runtimedir})
+ set(absruntimedir ${runtimedir})
+ else()
+ set(absruntimedir ${CMAKE_INSTALL_PREFIX}/${runtimedir})
+ endif()
+ install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -m py_compile \$ENV{DESTDIR}${absruntimedir}/cmdLineUtils.py)")
+ install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} -O -m py_compile \$ENV{DESTDIR}${absruntimedir}/cmdLineUtils.py)")
configure_file(python/cmdLineUtils.py ${localruntimedir}/cmdLineUtils.py @ONLY)
endif()

View file

@ -1748,9 +1748,9 @@ diff -Nur root-6.08.02.orig/graf2d/asimage/src/TASImage.cxx root-6.08.02/graf2d/
+ Ssiz_t from = 0;
+ TString token;
+#ifndef R__WIN32
+ const char *delim = "/";
+ const char *delim = ":";
+#else
+ const char *delim = "\\";
+ const char *delim = ";";
#endif
-
- gIconPaths[6] = 0;

View file

@ -23,7 +23,7 @@
Name: root
Version: 6.08.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
Release: 2%{?dist}
Release: 3%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@ -94,7 +94,22 @@ Patch17: %{name}-TPad-WaitPrimitive.patch
# Don't wait for user interaction in batch mode
# https://github.com/root-mirror/root/pull/322
Patch18: %{name}-spectrum-batch.patch
# Add missing header (gcc 7)
# https://github.com/root-mirror/root/pull/353
Patch19: %{name}-missing-header-gcc7.patch
# Fix for test suite on Fedora 26 i686
# https://github.com/root-mirror/root/pull/359
Patch20: %{name}-Quantiles.patch
# Fix format warnings/errors
# https://github.com/root-mirror/root/pull/376
Patch21: %{name}-format.patch
# Allow both absolute and relative python install paths
# https://github.com/root-mirror/root/pull/382
Patch22: %{name}-python-install-path.patch
# The build on aarch64 used to work, but is now broken again
# https://pagure.io/releng/issue/6653
ExcludeArch: aarch64
# s390 is not supported by cling: "error: unknown target
# triple 's390-ibm-linux', please use -triple or -arch"
ExcludeArch: s390
@ -1566,6 +1581,10 @@ ROOT as a Jupyter Notebook.
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
# Remove bundled sources in order to be sure they are not used
# * afterimage
@ -1782,7 +1801,7 @@ py2l=`pkg-config --libs-only-l python2 | sed -e 's/-l//' -e 's/\s*$//'`
py3i=`pkg-config --cflags-only-I python3 | sed -e 's/-I//' -e 's/\s*$//'`
py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'`
sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \
-e "s,lib${py2l},lib${py3l},g" -e 's, python , python3 ,g' \
-e "s,lib${py2l},lib${py3l},g" -e 's,%{__python},%{__python3},g' \
-e 's,lib/libPyROOT,python/libPyROOT,g' \
-e 's,lib/libJupyROOT,python/libJupyROOT,g' \
-e 's!bindings/pyroot!bindings/python!g' -i `find bindings/python -type f`
@ -2074,14 +2093,18 @@ popd
# - tutorial-multicore-imt101_parTreeProcessing
# requires input data: http://root.cern.ch/files/tp_process_imt.root (707 MB)
#
# - tutorial-r-*
# occasionally causes random crashes
#
# - test-stressiterators-interpreted
# - tutorial-hist-sparsehist
# - tutorial-r-*
# - test-stressHistFactory-interpreted
# - tutorial-histfactory-example
# currently fails on 32 bit arm - reported upstream:
# https://sft.its.cern.ch/jira/browse/ROOT-8500
excluded="test-stressIOPlugins-.*|tutorial-tree-run_h1analysis|tutorial-multicore-imt001_parBranchProcessing|tutorial-multicore-mp103_processSelector|tutorial-multicore-imt101_parTreeProcessing"
excluded="test-stressIOPlugins-.*|tutorial-tree-run_h1analysis|tutorial-multicore-imt001_parBranchProcessing|tutorial-multicore-mp103_processSelector|tutorial-multicore-imt101_parTreeProcessing|tutorial-r-.*"
%ifarch %{arm}
excluded="${excluded}|test-stressiterators-interpreted|tutorial-hist-sparsehist|tutorial-r-.*"
excluded="${excluded}|test-stressiterators-interpreted|tutorial-hist-sparsehist|test-stressHistFactory-interpreted|tutorial-histfactory-example"
%endif
make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\""
popd
@ -3103,6 +3126,14 @@ fi
%{_datadir}/%{name}/notebook
%changelog
* Wed Mar 01 2017 Mattias Ellert <mattias.ellert@physics.uu.se> - 6.08.04-3
- Disable building on aarch64 (it is now broken again)
- Add missing header (gcc 7)
- Fix a test failure on Fedora 26 i686
- Fix some format warnings/errors in GlobusAuth
- Use the right delimiter when splitting the icon path in TASImage
- Disable two more tests on 32 bit arm
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.08.04-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild