Skip to content

Reach MEOS through the pkg-config file MEOS installs - #64

Merged
estebanzimanyi merged 1 commit into
masterfrom
build/meos-pkg-config
Sep 2, 2026
Merged

Reach MEOS through the pkg-config file MEOS installs#64
estebanzimanyi merged 1 commit into
masterfrom
build/meos-pkg-config

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

The streaming engine's cgo preamble reads meos.pc, which MEOS's own install
writes beside the library, instead of naming -I/usr/local/include and -lmeos
directly. A stock /usr/local install carries that file and resolves to the same
flags, so the default path is unchanged; a prefix built elsewhere is named
once, through PKG_CONFIG_PATH, and both the header path and the link path
follow from that single coordinate.

Naming the directory directly resolves one libmeos and one set of headers,
whichever copy /usr/local holds, and a prefix built for the branch under test
is unreachable. An -I added alongside only prepends, so a stale /usr/local
header still satisfies the include, and a build compiles against headers that
belong to a different library than the one it links.

meos.pc also carries the family flags the library is configured with
(-DCBUFFER=0, -DNPOINT=1 and the rest), so a build under -tags meos compiles
against the same family gating as the libmeos it links, rather than against
whatever the headers on the include path happen to declare.

The tutorial's prerequisites name the two variables a prefix elsewhere needs.

The streaming engine's cgo preamble reads meos.pc, which MEOS's own install
writes beside the library, instead of naming -I/usr/local/include and -lmeos
directly. A stock /usr/local install carries that file and resolves to the same
flags, so the default path is unchanged; a prefix built elsewhere is named
once, through PKG_CONFIG_PATH, and both the header path and the link path
follow from that single coordinate.

Naming the directory directly resolves one libmeos and one set of headers,
whichever copy /usr/local holds, and a prefix built for the branch under test
is unreachable. An -I added alongside only prepends, so a stale /usr/local
header still satisfies the include, and a build compiles against headers that
belong to a different library than the one it links.

meos.pc also carries the family flags the library is configured with
(-DCBUFFER=0, -DNPOINT=1 and the rest), so a build under -tags meos compiles
against the same family gating as the libmeos it links, rather than against
whatever the headers on the include path happen to declare.

The tutorial's prerequisites name the two variables a prefix elsewhere needs.
@estebanzimanyi
estebanzimanyi merged commit 693d6b9 into master Sep 2, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the build/meos-pkg-config branch September 2, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant