[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Getting pkgconfig to a specific location
From: |
Vincent Fortier |
Subject: |
Re: Getting pkgconfig to a specific location |
Date: |
Mon, 3 Jan 2022 21:30:32 -0500 |
Hi thomas,
Le lun. 3 janv. 2022 à 17:27, Thomas Dickey <dickey@his.com> a écrit :
>
> On Mon, Jan 03, 2022 at 08:36:43AM -0500, Vincent Fortier wrote:
> > Hi,
> >
> > I'm a community dev working on the SynoCommunity project. We're using
> > ncurses for multiple opensource packages that we integrate so they can
> > be installed on Synology NAS (which uses linux).
> >
> > While trying to update ncurses to 6.3 I tried (once more) to modify
> > the pkgconfig location to another location. Under synology NAS each
> > application is self-contained and installed under
> > /var/packages/<app>/target. When cross-compiling our installation
> > prefix is set as such which lead to having pkgconfig directory to sit
> > under $(INSTALL_PREFIX)/lib/pkgconfig. That $(INSTALL_PREFIX) sits
> > under our working directory $(INSTALL_DIR).
> >
> > >From the documentation the following two are obvious:
> > --prefix=$(INSTALL_PREFIX)
> > --with-install-prefix=$(INSTALL_DIR) --> or using DESTDIR at make install
> > time
>
> hmm - "--with-install-prefix" isn't intended as the pathname by
> which an application finds the data. It is a configure-time
> version of $DESTDIR (which relocates the installed data,, making
> it simple(r) to construct CD images, etc.).
Indeed, while doing additional testing it isn't needed at all as the
framework provides all of what's needed anyway.
> that said, the ncurses build scripts shouldn't be repeating '$(INSTALL_DIR)'.
And I think there's a bug there.
> But the configure script can be confused, since it wouldn't see
> that as an absolute pathname such as "/whatever/lib/pkgconfig",
> and would attempt to add an absolute prefix in front.
>
> That's in 6.3-release. In post-6.3 development, I've relaxed that
> a little (mainly for users who want to configure when the pkgconfig
> directory does not yet exist).
>
> So... to let me understand the problem better, it would help to have
> a script which shows the complete configure-command that you're trying.
>
> Given that, I can either offer some advice on workarounds, to attempt
> to solve the problem :-)
Indeed it looks like the configure script is confused and adding the
DESTDIR to the path for an unknown reason. Here is the output from
the build log:
** Configuration summary for NCURSES 6.3 20211021:
extended funcs: yes
xterm terminfo: xterm-new
bin directory: /usr/local/ncurses/bin
lib directory: /usr/local/ncurses/lib
include directory: /usr/local/ncurses/include
man directory: /usr/local/ncurses/share/man
terminfo directory: /usr/local/ncurses/share/terminfo
pkg-config directory:
/home/spksrc/gdbm-ncurse/spksrc/cross/ncurses/work-kvmx64-7.0/install//usr/local/ncurses/lib/pkgconfig
And here is my configuration (considering destination directory is
provided by the framework so no argument needed):
CONFIGURE_ARGS = --with-shared
CONFIGURE_ARGS += --with-terminfo-dirs=$(INSTALL_PREFIX)/share/terminfo
CONFIGURE_ARGS += --with-pkg-config-libdir=$(INSTALL_PREFIX)/lib/pkgconfig
CONFIGURE_ARGS += --without-manpages
CONFIGURE_ARGS += --without-tests
CONFIGURE_ARGS += --enable-rpath
CONFIGURE_ARGS += --enable-overwrite
CONFIGURE_ARGS += --enable-pc-files
CONFIGURE_ARGS += --disable-stripping
CONFIGURE_ARGS += --disable-widec
CONFIGURE_ARGS += --disable-home-terminfo
I have opened a PR at
https://github.com/SynoCommunity/spksrc/pull/5047 (it also includes an
update for gdbm but irrelevant for this). There will be a log output
for all packages depending on ncurses. In there you should have the
detailed output. I've also attached one for immediate reference.
> >
> > - vin (@th0ma7)
> >
> > For reference:
> > https://github.com/SynoCommunity/spksrc
> > https://synocommunity.com/
> >
>
> --
> Thomas E. Dickey <dickey@invisible-island.net>
> https://invisible-island.net
> ftp://ftp.invisible-island.net
build-kvmx64-7.0.log.gz
Description: application/gzip