[MDEV-29955] MariaDB does not make full use of pkgconfig Created: 2022-11-06 Updated: 2023-11-28 |
|
| Status: | Confirmed |
| Project: | MariaDB Server |
| Component/s: | Compiling, Configuration |
| Affects Version/s: | 10.9.3, 10.11.0 |
| Fix Version/s: | 10.4, 10.5, 10.6 |
| Type: | Bug | Priority: | Minor |
| Reporter: | Dimitri | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | beginner-friendly, compilation, configuration, pkgconfig | ||
| Environment: |
Ubuntu 22.04 Own package installations from source... |
||
| Attachments: |
|
| Description |
|
Hi. This problem i had also in previous releases. I've installed openssl, pcre2, curl, zlib, ncurses ect. from source. The .pc-files (PKG-Config) are in /usr/share/pkgconfig and if i test each of them with pkg-config (e.g "pkg-config zlib --libs / --cflags") all is fine. For compiling mariadb i set the cmake-options:
but zlib, libfmt, pcre2-8 and ncurses are not found:
Why mariadb doesn't find these packages while others like openssl and curl are found? The output of pkg-config (libdir | includedir | libs | cflags): zlib:
fmt:
ncurses:
libpcre2-8 / libpcre2-posix
I know that i can use additional options like -DZLIB_... or -DCURSES_... But why, as i said mariadb found openssl and curl with pkg-config but not the others? Other programs like nginx and php found all of them! |
| Comments |
| Comment by Daniel Black [ 2022-11-07 ] |
|
Can you attach CMakeFiles/CMake{Output,Error}.log? |
| Comment by Dimitri [ 2022-11-07 ] |
|
Attached all Files. Files with 1_* are after a fresh extracting and first cmake call. After first call it ends with: After second call it ends with: I don't understand why after adding CURSES_INCLUDE_PATH in the second call the files "curses.h" and "term.h" still not found: These files are in /own/dep/libncurses/include/ncurses, as i set in CURSES_INCLUDE_PATH... After set the following environment variables pcre2 is found: After next cmake call it ends with: After adding libfmt-paths to CXX/LDFLAGS the next call is successful done... ... but compilation ends with the following: compilation terminated. Why? "curses.h" is in /own/dep/libncurses/include/ncurses. cmake knows this path. |