Repository navigation
Conversation
|
I have concerns because I added these checks specifically because I ran into problems... The "-L" option interacts poorly when you have multiple versions of the same library installed in different directories... :/ |
|
You are right about the version-selection risk. I reproduced the earlier patch selecting a default-directory MiniXML v4 archive over the intended v3 archive. In a4ad22c, I kept the original /usr/lib and /usr/local/lib suppression and compare the effective libdir, so only custom library directories get -L. Expansion stays in a subshell and does not freeze the install variables. All 14 configuration/build/test/install/consumer cases pass locally, including symbolic directories, and the real v3/v4 link control now selects the same library as the base. |
|
Tested 601f75b. One case still reproduced the version-selection problem: On WSL Linux/GCC 13.3, all 14 configuration/build/upstream-test/install/consumer cases pass. The strict custom-directory consumers pass without |
The pkg-config linker flags omit
-L${libdir}for/usr,/usr/local, or the default prefix even when--libdiror--exec-prefixinstalls the library elsewhere. The install succeeds, but a pkg-config consumer cannot find-lmxml4.The final change compares the effective library directory, retaining the existing omission of
-Lfor/usr/liband/usr/local/liband adding it for other directories. Expansion is confined to a subshell used for that comparison; the public install variables and the.pcfile keep their original expressions.configureis regenerated exactly with Autoconf 2.71.The narrower behavior follows the review about multiple installed library versions. An actual MiniXML v3/v4 static-library control reproduces the overly broad earlier patch selecting the wrong
libmxml.aand failing on a v3-only symbol; the narrowed patch preserves the base selection and links/runs successfully.Current Linux/GCC 13.3 validation covers 14 configurations, each with configure/build/upstream test/staged install/consumer checks. Five custom-directory base consumers fail without the missing
-Land pass with that single-path control; the final patch passes all custom cases and default multi-version controls. Symbolic libdir/exec-prefix cases retain their expressions. Exact Autoconf regeneration, shell syntax, encoding, andgit diff --checkpass. Windows/macOS and current hosted CI are separate and were not run locally.