[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Static Glib included in shared library's pkg-config file
From: |
Michael Zappa |
Subject: |
Static Glib included in shared library's pkg-config file |
Date: |
Fri, 14 Jun 2024 12:29:33 -0400 |
User-agent: |
Cyrus-JMAP/3.11.0-alpha0-515-g87b2bad5a-fm-20240604.001-g87b2bad5 |
Hello,
I have packaged libbson via the
mongo-c-driver(https://github.com/mongodb/mongo-c-driver) but am having a
curious issue with the pkg-config files generated as part of its CMake build
system. It has two outputs, shared and static, but both pkg-config files
include static glibc in their "Libs:" which are accessed via `pkg-config --libs
...`. Thus, when attempting to use the package in compiling a dynamic
executable, the static glibc is linked in, causing immediate segfaults upon
execution.
I am wondering if anyone more familiar with cmake-build-system or CMake as a
whole has any ideas about why the static glibc is ending up as the associated
lib instead of the shared version. I am on commit `bb73faea` of Guix.
The guix package:
```
(use-modules
((guix licenses) #:prefix licenses:)
(guix build-system cmake)
(guix git-download)
(guix packages))
(define-public libbson
(package
(name "libbson")
(version "1.27.2")
(home-page "https://github.com/mongodb/mongo-c-driver")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"176qksl6zd8ffryics2pgaxji3fnqqmy4842dmyr1ycqxrx9jy4p"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
`("-DENABLE_MONGOC=OFF"
"-DENABLE_EXTRA_ALIGNMENT=OFF"
"-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF"
,(string-append "-DBUILD_VERSION=" "1.27.2"))))
(synopsis #f)
(description #f)
(license licenses:asl2.0)))
```
The pkg-config file for the shared output of libbson:
```
# pkg-config .pc file generated by CMake 3.24.2 for libbson-1.27.2. DO NOT EDIT!
prefix=/gnu/store/2bryf1infbhskkab3czymhbyqhhng8ns-libbson-1.27.2
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
Name: libbson
Description: The libbson BSON serialization library
Version: 1.27.2
Libs: -L${libdir} -lbson-1.0
-L/gnu/store/i2g0is6wjq3ccs6m1l6w9mhf44k4042h-glibc-2.35-static/lib -lrt
Cflags: -I${prefix}/include/libbson-1.0
```
Thank you,
Michael
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Static Glib included in shared library's pkg-config file,
Michael Zappa <=