libatomic_ops-7.10.0

#### Gaming Linux® From Scratch - Version 13.0

### Chapter 10. Graphics APIs

- Prev

  SPIRV-LLVM-Translator-21.1.3

- Next

  Libdrm-2.4.131

- Up
- Home

# 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.131. Otherwise, the libdrm module for the Intel platform will not be built, causing cascading issues for packages like Mesa-25.3.5. If you know your platform supports atomics, you can safely skip this package.

### Package Information

- Download: https://github.com/bdwgc/libatomic_ops/releases/download/v7.10.0/libatomic_ops-7.10.0.tar.gz

## 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

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

- Prev

  SPIRV-LLVM-Translator-21.1.3

- Next

  Libdrm-2.4.131

- Up
- Home