-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
external lib for HYDJET++ #7483
external lib for HYDJET++ #7483
Conversation
A new Pull Request was created by @wouf for branch IB/CMSSW_12_2_X/master. @cmsbuild, @smuzaffar, @iarspider, @ddaina can you please review it and eventually sign? Thanks. |
Pull request #7483 was updated. |
assign generators |
New categories assigned: generators @mkirsano,@alberto-sanchez,@SiewYan,@GurpreetSinghChahal,@Saptaparna,@agrohsje you have been requested to review this Pull request/Issue and eventually sign? Thanks |
hydjet2.spec
Outdated
@@ -0,0 +1,20 @@ | |||
### RPM external hydjet2 2.x.y |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please provide the exact version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we put here the link to the actual version instead of hardcoded number?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what do you mean ? can you please give an example
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something like
RPM external hydjet2 version
where the variable version would be determined from the link to the json file on the author's site, or just from the some text file, placed on the author's website.
Mayby ### RPM external hydjet2 http://..../version
Would it work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, it will not work. One needs to explicitly provide the version to be used here and then you can use the version to auto generate the source url e.g.
### RPM externals hydjet2 2.4.3
Source: http://cern.ch/lokhtin/hydjet++/%{n}-%{realversion}.tar.gz
So in future when you update the version to e.g. 2.4.4
then package system will try to download http://cern.ch/lokhtin/hydjet++/hydjet2-2.4.4.tar.gz
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But only after PR, right? I'm looking a way to avoid of necessity to make PR for every minor update of HYDJET++
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not want our build system to automatically pick up new updates which can break the whole release. imagine that we have tested one version in IBs and when we want to build a release then author updates the version which can break the whole system.
When there is a new version then it should be explicitly requested, tested via PR before we integrate it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I see, thanks!
hydjet2.spec
Outdated
@@ -0,0 +1,20 @@ | |||
### RPM external hydjet2 2.x.y | |||
|
|||
Source: http://cern.ch/lokhtin/hydjet++/%{n}.tar.gz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the URL http://cern.ch/lokhtin/hydjet++/hydjet2.tar.gz
is very generic and our packaging system is not going to redownload it when you need to update the version. Can you please provide separate tar files for each version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the author's site is just one version for the new HYDJET++ - the actual one. This naming policy implies to move all outdated version to other links/tarballs. The author is the member of CMS HI, since very beginning and he was updating PYQUEN and HYDJETs focusing primarily on the interests of the CMS. As far as I understand, during compiling of each CMSSW version, the external archive downloaded from the source website, so if author will update the version, it will be available for the next CMSSW version. It's ok for CMS HI group, we always need the more actual version on top.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or You mean difficulties related to the backport for the new version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For each version of a package there should be a unique url. If author just keeps on updating http://cern.ch/lokhtin/hydjet++/hydjet2.tar.gz (pointing to latest version) then there is no guarantee that two cmssw builds will have the same contents. I have no issues with http://cern.ch/lokhtin/hydjet++/hydjet2.tar.gz pointing to latest version but there should link for specific versions too e.g. http://cern.ch/lokhtin/hydjet++/hydjet2-%{version}.tar.gz and this should be used in our spec files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that cmsBuild ( our packaging system) also caches the contents of each source URL. So cmsBuild will always use the previously cached contents if url itself is not changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, thanks. I will ask for this changes.
In addition perhaps GitHub would be a more appropriate place for storing and tracking software releases to be downloaded? Personal areas tend not to be stable.
On Dec 2, 2021 10:23 AM, Malik Shahzad Muzaffar ***@***.***> wrote:
@smuzaffar commented on this pull request.
________________________________
In hydjet2.spec<#7483 (comment)>:
@@ -0,0 +1,20 @@
+### RPM external hydjet2 2.x.y
+
+Source: http://cern.ch/lokhtin/hydjet++/%{n}.tar.gz
Note that cmsBuild ( our packaging system) also caches the contents of each source URL. So cmsBuild will always use the previously cached contents if url itself is not changed.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub<#7483 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABGPFQZNLIRNVLERSWDYJWLUO43HXANCNFSM5JEWD5NA>.
Triage notifications on the go with GitHub Mobile for iOS<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
I am in contact with the main author of HYDJET++. He prefer to have all items related to the event generator on his personal web-page, but he "doesn't mind if any necessary items would be duplicated via GitHub as well". But I think that stability of personal area does not matter, because of cmsBuild "also caches the contents of each source URL. So cmsBuild will always use the previously cached contents if url itself is not changed". |
Pull request #7483 was updated. |
@wouf , looks like hydjet2 also makes a copy of
|
install is needed for standalone usage. anyway ot makes a copy only if PYQUEN library absent in the system. I guess i have to adjust FindPYQUEN module for cmssw case. Where pyquen library should be looking for at compilation time? |
see the full build log https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-cae5ac/20993/external/hydjet2/2.4.3-f3c1bda44ebbd799b8162526a0512b93/log . but because of |
Thank you for this important catch! The problem is more global than it may seem. If someone checks libhydjet2.so , he would have found that its RUNPATH is setted: `$ objdump -x /afs/cern.ch/work/w/wouf/TMP/2git/lib/slc7_amd64_gcc900/external/hydjet2/2.4.3-5c4bd156a11e3c022693e40677fa8e04/lib/libhydjet2.so | egrep 'R(|UN)PATH' RPATH /afs/cern.ch/work/w/wouf/TMP/2git/lib/tmp/BUILDROOT/5c4bd156a11e3c022693e40677fa8e04/opt/cmssw/slc7_amd64_gcc900/external/hydjet2/2.4.3-5c4bd156a11e3c022693e40677fa8e04/lib:/afs/cern.ch/work/w/wouf/TMP/2git/lib/slc7_amd64_gcc900/external/pyquen/1.5.4-edb141c01d142e7411bce63143948569/lib:/afs/cern.ch/work/w/wouf/TMP/2git/lib/slc7_amd64_gcc900/external/lhapdf/6.4.0-d2f68e74e7b7722f8a01055c82dc1e31/lib |
It's now fixed, please try again. |
please test |
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0ab80e/21169/summary.html Comparison SummarySummary:
|
please test |
please test for slc7_aarch64_gcc11 |
please test for slc7_ppc64le_gcc11 |
please test for cs8_amd64_gcc11 |
-1 Failed Tests: RelVals The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: RelVals
|
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0ab80e/21760/summary.html The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Comparison SummarySummary:
|
+1 Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-0ab80e/21761/summary.html The following merge commits were also included on top of IB + this PR after doing git cms-merge-topic:
You can see more details here: Comparison SummarySummary:
|
+externals |
thank you @smuzaffar , are those two errors concerning? I can't view those error in the Details. |
@SiewYan , no errors for |
@smuzaffar , thanks, I will sign this PR. |
+generators |
This pull request is fully signed and it will be integrated in one of the next IB/CMSSW_12_3_X/master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @qliphy (and backports should be raised in the release meeting by the corresponding L2) |
merging it as it is needed by cms-sw/cmssw#36316 |
Thank you @smuzaffar : I was forgetting it, indeed... |
Hydjet++ (v2.4.3) integration as external.
RP cmssw: cms-sw/cmssw#36316