Skip to content

Conversation

@aboseley
Copy link
Contributor

@aboseley aboseley commented May 5, 2016

This allows the jsoncppConfig file to keep working
when it is installed to a non-standard location
from a make DESTDIR= install

This allows the config file to keep working
when it is installed to a non-standard location
from a make DESTDIR=<location> install
@cdunn2001 cdunn2001 merged commit 660307d into open-source-parsers:master May 5, 2016
zorun pushed a commit to zorun/jsoncpp that referenced this pull request Jul 7, 2016
…gconfig paths

Recent commit 911e2b0 ("By default use <prefix> relative paths when
installing") introduced relative install paths in CMake.  But this
interacts badly with commit e6f1cff from a year ago: now, the paths in
`pkgconfig/jsoncpp.pc` are relative, which is incorrect.

Before 911e2b0 (1.7.2 on Archlinux), this was correct:

    $ head -4 /usr/lib/pkgconfig/jsoncpp.pc
    prefix=/usr
    exec_prefix=${prefix}
    libdir=/usr/lib
    includedir=/usr/include

After 911e2b0 (1.7.3 on Archlinux), this is now incorrect:

    $ head -4 /usr/lib/pkgconfig/jsoncpp.pc
    prefix=/usr
    exec_prefix=${prefix}
    libdir=lib
    includedir=include

This change causes hard-to-debug compilation errors for projects that
depend on jsoncpp, for instance:

    CXXLD    libring.la
    /tmp/ring-daemon/src/ring-daemon/src/../libtool: line 7486: cd: lib: No such file or directory
    libtool:   error: cannot determine absolute directory name of 'lib'
    make[3]: *** [Makefile:679: libring.la] Error 1

This is because jsoncpp contributes `-Llib -ljsoncpp` to the LDFLAGS, via
the pkg-config machinery.  Notice the relative path in `-Llib`.

To fix this, simply revert commit e6f1cff ("Fix custom includedir &
libdir substitution in pkg-config").  The change in 911e2b0 should have
the same effect.

See open-source-parsers#279, open-source-parsers#470 for references.
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.

2 participants