libatomic_ops-7.10.0

Introduction to libatomic_ops

libatomic_ops provides implementations for atomic memory update operations on a number of architectures. This allows direct use of these in reasonably portable code. Unlike earlier similar packages, this one explicitly considers memory barrier semantics, and allows the construction of code that involves minimum overhead across a variety of architectures. Some systems, like various Intel CPUs, don't support native atomic operations either, and this package offers as a stand-in replacement.

Many systems won't need this package in GLFS or SLFS, but may be required in BLFS. However, some Intel systems need this package to provide atomics, needed by libdrm-2.4.130. Otherwise, the libdrm module for the Intel platform will not be built, causing cascading issues for packages like Mesa-25.3.1. If you know your platform supports atomics, you can safely skip this package.

Package Information

Installation of libatomic_ops

Install libatomic_ops by running the following commands:

./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --docdir=/usr/share/doc/libatomic_ops-7.10.0 &&
make

Now, as the root user:

make install

Installation of lib32-libatomic_ops

Install lib32-libatomic_ops by running the following commands:

make distclean &&
CC="gcc -m32" CXX="g++ -m32"         \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr            \
            --libdir=/usr/lib32      \
            --host=i686-pc-linux-gnu \
            --enable-shared          \
            --disable-static &&
make

Now, as the root user:

make DESTDIR=$PWD/DESTDIR install     &&
cp -vr DESTDIR/usr/lib32/* /usr/lib32 &&
rm -rf DESTDIR                        &&
ldconfig

Command Explanations

[Note]

Note

Run ./configure --help for a full list of options.

--enable-shared: This switch enables building of the libatomic_ops shared libraries.

--disable-static: This switch prevents installation of static versions of the libraries.

Contents

Installed Programs: None
Installed Libraries: libatomic_ops and libatomic_ops_gpl
Installed Directory: /usr/include/libatomic_ops and /usr/share/doc/libatomic_ops-7.10.0

Short Descriptions

libatomic_ops

contains functions for atomic memory operations under the MIT license

libatomic_ops_gpl

contains stack and malloc implementations under the GPL license