Skip to content
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

Intel module file is not created by intel-compilers-devel-ohpc #254

Closed
LaHaine opened this issue Jul 4, 2016 · 6 comments
Closed

Intel module file is not created by intel-compilers-devel-ohpc #254

LaHaine opened this issue Jul 4, 2016 · 6 comments

Comments

@LaHaine
Copy link
Contributor

LaHaine commented Jul 4, 2016

The package intel-compilers-devel-ohpc-2016-19.1.x86_64 tries to generate a module file for the Intel compiler but fails to do that. This happens when I install the package on a fresh EL7.2 system:

Resolving Dependencies
--> Running transaction check
---> Package intel-compilers-devel-ohpc.x86_64 0:2016-19.1 will be installed
--> Processing Dependency: intel-compxe >= 2016 for package: intel-compilers-devel-ohpc-2016-19.1.x86_64
--> Running transaction check
---> Package intel-compxe.noarch 0:2016.3-067 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                        Arch       Version        Repository       Size
================================================================================
Installing:
 intel-compilers-devel-ohpc     x86_64     2016-19.1      ZN_7.2_arch     7.8 k
Installing for dependencies:
 intel-compxe                   noarch     2016.3-067     ZN_7_arch       4.2 k

Transaction Summary
================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 12 k
Installed size: 3.2 k
Downloading packages:
(1/2): intel-compilers-devel-ohpc-2016-19.1.x86_64.rpm     | 7.8 kB   00:00     
(2/2): intel-compxe-2016.3-067.noarch.rpm                  | 4.2 kB   00:00     
--------------------------------------------------------------------------------
Total                                              123 kB/s |  12 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : intel-compxe-2016.3-067.noarch                               1/2 
  Installing : intel-compilers-devel-ohpc-2016-19.1.x86_64                  2/2 

Scanning top-level dir = /opt/intel
  Verifying  : intel-compilers-devel-ohpc-2016-19.1.x86_64                  1/2 
  Verifying  : intel-compxe-2016.3-067.noarch                               2/2 

Installed:
  intel-compilers-devel-ohpc.x86_64 0:2016-19.1                                 

Dependency Installed:
  intel-compxe.noarch 0:2016.3-067                   

The package has a dep on intel-compxe, but this doesn't guarantee a working icc binary as required for the postinstallation script. So the automatic installation of OpenHPC from RPM packages doesn't really work. I think it would be better to ship with a static module file in this package.

@LaHaine
Copy link
Contributor Author

LaHaine commented Jul 5, 2016

I have tried a workaround, using a fake wrapper package named intel-compxe containing a symlink to a shared file system with the Intel compiler installation, but the intel-compilers-devel-ohpc postinstallation script does not follow symlinks, so this does not help.

@koomie
Copy link
Contributor

koomie commented Jul 6, 2016

There are definitely some tradeoffs here. Part of the rationale for going with a dynamically generated modulefile in this compatibility RPM is to deal with (1) the fact that someone may have used RPM relocation on the PXSE packages, (2) there may be multiple versions installed, and (3) to avoid having to provide a compat package for each potential PXSE version.

This last item is also the reason that only the intel-compxe package is called out as a dependency as the majority of the PXSE RPMs have a build number built into the RPM name.

I'm guessing you have maybe put all of the PXSE RPMS into a local RPM repo and that is how the intel-compxe package was pulled in your example? As you have noted, that is insufficient to get all the bits you need and additional RPMs are necessary (either to be installed by hand via RPM or via the standalone installer).

Since it sounds like you do have all the necessary bits in a shared file system, I agree the compat package should deal with the symlink. Can you give a little more detail on what your local install environment is like and how the symlink is setup?

@LaHaine
Copy link
Contributor Author

LaHaine commented Jul 7, 2016

One way to solve this would be a catch-all meta package for the intel rpms, but as you have noted, you'd need one for each intel release for the versioned name packages.

I currently have a directory /opt/intel and in that a symlink 2016 pointing to the shared file system with the PXSE 16.0.3 installation. I have built a fake intel-compxe package containing only the symlink /opt/intel/2016, but the script of intel-compilers-devel-ohpc doesn't follow it. The command in the script is find ${topDir} -maxdepth 1 -type d -name "compilers_and_libraries_????.*" -printf "%f "
For me it would help to change this to
find -L ${topDir} -maxdepth 1 -type d -name "compilers_and_libraries_????.*" -printf "%f "
as that way it would follow the symlink.

@koomie
Copy link
Contributor

koomie commented Jul 12, 2016

Thanks for the sleuthing and suggestion for the updated find to accommodate soft links. Will incorporate that into the next rev.

@koomie koomie modified the milestones: 1.2, 1.1.2 Nov 11, 2016
@koomie
Copy link
Contributor

koomie commented Nov 11, 2016

We didn't do a formal 1.1.2 update, but the change is carried forward into the forthcoming 1.2 release.

@LaHaine
Copy link
Contributor Author

LaHaine commented Dec 1, 2016

I can confirm that my simple wrapper package for intel-compxe-doc containing a symlink is compatible with intel-compilers-devel-ohpc-2017-25.1.x86_64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants