ADIOS2 icon indicating copy to clipboard operation
ADIOS2 copied to clipboard

difficulties building rpm package for adios2

Open olesenm opened this issue 5 years ago • 20 comments

I was attempting to get an ADIOS2 science package for openSUSE. I thought it could just be as simple as swapping out autoconfig for cmake, but ran into some issues.

It is still a rough work-in-progress, but I've attached a tar file with specs etc. The main issue seems to be with the different ideas of the file-system or build root. The RPM build is within a BUILDROOT/ structure, which means that stuff like /usr/lib64/cmake/... are actually found below that.

I figured there must be a kitware guy (eg, @chuckatkins) who can resolve this in an instant.

adios2-rpm-build.tar.gz

olesenm avatar Aug 30 '19 14:08 olesenm

Hi @williamfgc - found any time to play with this? I would really like to get this going well before OpenFOAM-1912.

olesenm avatar Sep 28 '19 12:09 olesenm

@olesenm thanks for the reminder @chuckatkins did you have a chance to look into this issue and provide a timeline for @olesenm . Thanks. @olesenm on a side note, we are working towards the 2.5.0 release due this Monday, I want to touch basis with you perhaps next week as I am trying to build OpenFoam on summit with the adios2 submodule.

williamfgc avatar Sep 28 '19 12:09 williamfgc

@olesenm what problems were you running into?

chuckatkins avatar Sep 28 '19 13:09 chuckatkins

Do either of you have access to an RPM-based system?

olesenm avatar Sep 29 '19 18:09 olesenm

Hi @olesenm , I haven't worked with RPM systems in a while (Ubuntu mostly), which system are you using?

williamfgc avatar Sep 30 '19 14:09 williamfgc

Hi @williamfgc - I use openSUSE, but the problems will likely be similar with RedHat. The tar file attached in the original message is what I've be working with.

olesenm avatar Sep 30 '19 15:09 olesenm

@olesenm I can try to reproduce it with your spec file on a suse or rhel system but if you can just post the error you're getting then I may be able to just quickly debug it here.

chuckatkins avatar Sep 30 '19 15:09 chuckatkins

OK I'll add the log tomorrow morning

Here is one of the log files (after trying different things and giving up). stderr.txt

olesenm avatar Sep 30 '19 20:09 olesenm

@olesenm I can see that the Adios package in the science repo is working well now for a while. Shall we close this issue?

vicentebolea avatar Jul 08 '21 18:07 vicentebolea

@olesenm I can see that the Adios package in the science repo is working well now for a while. Shall we close this issue?

The science repo has adios (ie, adios1) but the problems I had were with adios2. I haven't taken an further attempts at this, so AFAIK the problems are still there unless someone confirms otherwise

olesenm avatar Jul 08 '21 18:07 olesenm

@olesenm oh right! Thanks for pointing it out :smile: . Actually I could possibly help you with this, I am also part of Kitware and my main linux distro is OpenSuse. I also maintain some other Kitware projects at the Science repo.

The initial given links are now broken, any chance you could share with me the current attempt to get ADIOS2 rpm for OpenSuse?

vicentebolea avatar Jul 08 '21 18:07 vicentebolea

Hi @vicentebolea

No updates, but if you grab the tar file from the first comment, that should be enough to get started. You will likely have to fiddle with the multibuild, but that's it.

olesenm avatar Jul 09 '21 09:07 olesenm

@olesenm the tar file seems to be empty, could you re-upload?

vicentebolea avatar Jul 09 '21 14:07 vicentebolea

Nothing here? https://github.com/ornladios/ADIOS2/files/3560422/adios2-rpm-build.tar.gz

olesenm avatar Jul 09 '21 14:07 olesenm

When I open it, it appears to be an empty tar ball

On Fri, Jul 9, 2021 at 10:58 AM Mark Olesen @.***> wrote:

Nothing here? https://github.com/ornladios/ADIOS2/files/3560422/adios2-rpm-build.tar.gz

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ornladios/ADIOS2/issues/1710#issuecomment-877249616, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHFOFS2CNAOZUTD5NITOXLTW4FA5ANCNFSM4ISOIRSQ .

-- Vicente Adolfo Bolea Sanchez R&D Engineer 518-881-4444 Advancing the frontiers of understanding by developing innovative open source software platforms and integrating them into research, processes, and product

vicentebolea avatar Jul 09 '21 15:07 vicentebolea

Still very weird - I've sent by email to your gmail account (address from github).

olesenm avatar Jul 12 '21 12:07 olesenm

@olesenm I have spent sometime working with the adios2 rpm package, I create an experimental package for Adios2 2.7.1, I introduced many changes to the original RPM and have also created a few patches and I disabled the OpenHPC flavors (I do not have the mojo to work with that). I have also brought to the team ideas into what to provide in each of the flavors and so on.

The results is here: https://build.opensuse.org/package/show/home:vicentebolea/ADIOS2

I took the liberty to add Tumbleweed and Fedora_34, so if in the future somebody wants to submit the package to their repos he has some work done here.

We are also exploring possible ways to move this upstream (e.g. this repo) and only have in the OBS the _service file that pulls everything from the repo.

vicentebolea avatar Aug 13 '21 21:08 vicentebolea

Hi @vicentebolea - haven't tested your changes (just got back from holidays), but they look like they are in the right direction. Might still need a bit of jigging for handling various openmpi major versions (eg, multi mpi build openfoam ).

The Fedora addition makes sense, but there is a major "gotcha" to watch out for: on newer Fedora (and RH8 too I think), they handle the MPI-related quite differently.

Take a look around lines 350-360 of the openfoammpi.spec file, for the system location of the mpi-dependent files. These are hooked into at line 417 with the final owership given at line 477. If you miss on these parts (Fedora and newer RH), you get a package without the properly resolved dependency of the mpi library .so tag.

olesenm avatar Aug 30 '21 12:08 olesenm

Great insights @olesenm for Fedora rpm. As for the different OpenMPI versions, yeah I skipped the OpenHPC mpi flavors due to not being familiar with OpenHPC but its on my ToDo list.

I guess that after we have a consistent Fedora RPM we can possibly submit it to the Fedora official repos?

vicentebolea avatar Sep 03 '21 18:09 vicentebolea

I skipped the OpenHPC mpi flavors due to not being familiar with OpenHPC but its on my ToDo list.

It looks scary at first, but is not that bad.

I guess that after we have a consistent Fedora RPM we can possibly submit it to the Fedora official repos?

The first intermediate solution is to build for Fedora/centos on the copr system which gives you a chance to hammer out any wrinkles, get things tested and properly reviewed before submitting for "regular" distribution.

  • The copr builds for OpenFOAM: https://copr.fedorainfracloud.org/coprs/openfoam/openfoam/

Using the copr builds, you can verify that the generated rpms have the correct MPI dependencies resolved and iterate towards correct result. Feel free to contact me by email if you need any inputs (I'm not a Fedora/RedHat user, but have gone through the hoops).

After everything is polished, can submit for review. However, if I remember correctly, the Fedora team wants spec files that are purely for Fedora, which means stripping out all any SuSE (perhaps even RedHat) specific parts. In other words, undoing part of your current work of generalizing things :( You might have to settle for a master version of the spec file that handles various flavours, and mark it up with comment tags (eg, #<suse> ... #</suse>) that you can use to sed out later to extract a pristine Fedora-only version.

olesenm avatar Sep 09 '21 07:09 olesenm

https://build.opensuse.org/package/show/science/adios2, the spec pkg finally made it to the Science project. I will submit it to Factory soon, unfortunately we miss it to make it to the Leap 15.5

vicentebolea avatar May 02 '23 02:05 vicentebolea

Closing as we already have the adios2 package in the science project :)

vicentebolea avatar May 02 '23 02:05 vicentebolea

Closing as we already have the adios2 package in the science project :)

This is cool. Anything with copr, Fedora, EPEL coming? Debian/Ubuntu next?

olesenm avatar May 02 '23 13:05 olesenm

We had an adios2 repo on Debian: https://salsa.debian.org/science-team/adios2 but no activity was reported in the last 2 years.

williamfgc avatar May 02 '23 14:05 williamfgc

@williamfgc note that this issue was for the RPM package for the OpenSUSE Science project, that thing is done. We can open new issues for each of the dists.

vicentebolea avatar May 02 '23 16:05 vicentebolea

@vicentebolea fair enough, I will look for/open another issue.

williamfgc avatar May 02 '23 16:05 williamfgc