Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Spack
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
eic_tools
Spack
Commits
6665a996
Commit
6665a996
authored
8 years ago
by
Adam J. Stewart
Browse files
Options
Downloads
Patches
Plain Diff
Add documentation for rpath_flag handling
parent
58733eb2
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
lib/spack/docs/packaging_guide.rst
+11
-5
11 additions, 5 deletions
lib/spack/docs/packaging_guide.rst
with
11 additions
and
5 deletions
lib/spack/docs/packaging_guide.rst
+
11
−
5
View file @
6665a996
...
@@ -1803,15 +1803,15 @@ Compile-time library search paths
...
@@ -1803,15 +1803,15 @@ Compile-time library search paths
* ``-L$dep_prefix/lib``
* ``-L$dep_prefix/lib``
* ``-L$dep_prefix/lib64``
* ``-L$dep_prefix/lib64``
Runtime library search paths (RPATHs)
Runtime library search paths (RPATHs)
* ``
-Wl,-rpath,
$dep_prefix/lib``
* ``
$rpath_flag
$dep_prefix/lib``
* ``
-Wl,-rpath,
$dep_prefix/lib64``
* ``
$rpath_flag
$dep_prefix/lib64``
Include search paths
Include search paths
* ``-I$dep_prefix/include``
* ``-I$dep_prefix/include``
An example of this would be the ``libdwarf`` build, which has one
An example of this would be the ``libdwarf`` build, which has one
dependency: ``libelf``. Every call to ``cc`` in the ``libdwarf``
dependency: ``libelf``. Every call to ``cc`` in the ``libdwarf``
build will have ``-I$LIBELF_PREFIX/include``,
build will have ``-I$LIBELF_PREFIX/include``,
``-L$LIBELF_PREFIX/lib``, and ``
-Wl,-rpath,
$LIBELF_PREFIX/lib``
``-L$LIBELF_PREFIX/lib``, and ``
$rpath_flag
$LIBELF_PREFIX/lib``
inserted on the command line. This is done transparently to the
inserted on the command line. This is done transparently to the
project's build system, which will just think it's using a system
project's build system, which will just think it's using a system
where ``libelf`` is readily available. Because of this, you **do
where ``libelf`` is readily available. Because of this, you **do
...
@@ -1831,6 +1831,14 @@ successfully find ``libdwarf.h`` and ``libdwarf.so``, without the
...
@@ -1831,6 +1831,14 @@ successfully find ``libdwarf.h`` and ``libdwarf.so``, without the
packager having to provide ``--with-libdwarf=/path/to/libdwarf`` on
packager having to provide ``--with-libdwarf=/path/to/libdwarf`` on
the command line.
the command line.
.. note::
For most compilers, ``$rpath_flag`` is ``-Wl,-rpath,``. However, NAG
passes its flags to GCC instead of passing them directly to the linker.
Therefore, its ``$rpath_flag`` is doubly wrapped: ``-Wl,-Wl,,-rpath,``.
``$rpath_flag`` can be overriden on a compiler specific basis in
``lib/spack/spack/compilers/$compiler.py``.
Compiler flags
Compiler flags
~~~~~~~~~~~~~~
~~~~~~~~~~~~~~
In rare circumstances such as compiling and running small unit tests, a package
In rare circumstances such as compiling and running small unit tests, a package
...
@@ -1848,8 +1856,6 @@ package supports additional variants like
...
@@ -1848,8 +1856,6 @@ package supports additional variants like
variant('openmp', default=True, description="Enable OpenMP support.")
variant('openmp', default=True, description="Enable OpenMP support.")
Message Parsing Interface (MPI)
Message Parsing Interface (MPI)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is common for high performance computing software/packages to use ``MPI``.
It is common for high performance computing software/packages to use ``MPI``.
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment