quote in pkgconfig file breaks g-ir-scanner
Submitted by Igor Gnatenko
Link to original bug (#778293)
Description
g-ir-scanner: link: /bin/sh ../libtool --mode=link --tag=CC gcc -o /builddir/build/BUILD/libgit2-glib-0.24.4/libgit2-glib/tmp-introspectWOHnD5/Ggit-1.0 -export-dynamic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld tmp-introspectWOHnD5/builddir/build/BUILD/libgit2-glib-0.24.4/libgit2-glib/tmp-introspectWOHnD5/Ggit-1.0.o -L. libgit2-glib-1.0.la -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -L\"/usr/lib64\" -lgit2 -lgio-2.0 -lgobject-2.0 -lglib-2.0
make[3]: Leaving directory '/builddir/build/BUILD/libgit2-glib-0.24.4/libgit2-glib'
../libtool: line 7472: cd: "/usr/lib64": No such file or directory
libtool: error: cannot determine absolute directory name of '"/usr/lib64"'
linking of temporary binary failed: Command '[u'/bin/sh', u'../libtool', u'--mode=link', u'--tag=CC', 'gcc', u'-o', u'/builddir/build/BUILD/libgit2-glib-0.24.4/libgit2-glib/tmp-introspectWOHnD5/Ggit-1.0', u'-export-dynamic', '-O2', '-g', '-pipe', '-Wall', '-Werror=format-security', '-Wp,-D_FORTIFY_SOURCE=2', '-fexceptions', '-fstack-protector-strong', '--param=ssp-buffer-size=4', '-grecord-gcc-switches', '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1', '-m64', '-mtune=generic', '-Wl,-z,relro', '-specs=/usr/lib/rpm/redhat/redhat-hardened-ld', u'tmp-introspectWOHnD5/builddir/build/BUILD/libgit2-glib-0.24.4/libgit2-glib/tmp-introspectWOHnD5/Ggit-1.0.o', '-L.', 'libgit2-glib-1.0.la', u'-Wl,--export-dynamic', u'-lgmodule-2.0', u'-pthread', u'-lglib-2.0', u'-L"/usr/lib64"', u'-lgit2', u'-lgio-2.0', u'-lgobject-2.0', u'-lglib-2.0']' returned non-zero exit status 1
As you can see, the '-L"/usr/lib64"' breaks it, although for plain libtool/autotools it's not a problem:
libtool: link: gcc -shared -fPIC -DPIC .libs/ggit-enum-types.o .libs/ggit-annotated-commit.o .libs/ggit-blame.o .libs/ggit-blame-options.o .libs/ggit-blob.o .libs/ggit-blob-output-stream.o .libs/ggit-branch.o .libs/ggit-branch-enumerator.o .libs/ggit-checkout-options.o .libs/ggit-cherry-pick-options.o .libs/ggit-clone-options.o .libs/ggit-commit.o .libs/ggit-commit-parents.o .libs/ggit-config.o .libs/ggit-config-entry.o .libs/ggit-convert.o .libs/ggit-cred.o .libs/ggit-cred-plaintext.o .libs/ggit-diff.o .libs/ggit-diff-binary.o .libs/ggit-diff-binary-file.o .libs/ggit-diff-delta.o .libs/ggit-diff-file.o .libs/ggit-diff-find-options.o .libs/ggit-diff-format-email-options.o .libs/ggit-diff-hunk.o .libs/ggit-diff-line.o .libs/ggit-diff-options.o .libs/ggit-diff-similarity-metric.o .libs/ggit-error.o .libs/ggit-fetch-options.o .libs/ggit-index.o .libs/ggit-index-entry.o .libs/ggit-index-entry-resolve-undo.o .libs/ggit-main.o .libs/ggit-message.o .libs/ggit-merge-options.o .libs/ggit-native.o .libs/ggit-note.o .libs/ggit-object.o .libs/ggit-object-factory.o .libs/ggit-object-factory-base.o .libs/ggit-oid.o .libs/ggit-patch.o .libs/ggit-push-options.o .libs/ggit-rebase-operation.o .libs/ggit-rebase-options.o .libs/ggit-rebase.o .libs/ggit-ref.o .libs/ggit-ref-spec.o .libs/ggit-reflog.o .libs/ggit-reflog-entry.o .libs/ggit-remote.o .libs/ggit-remote-callbacks.o .libs/ggit-repository.o .libs/ggit-revert-options.o .libs/ggit-revision-walker.o .libs/ggit-signature.o .libs/ggit-status-options.o .libs/ggit-submodule.o .libs/ggit-submodule-update-options.o .libs/ggit-tag.o .libs/ggit-transfer-progress.o .libs/ggit-tree.o .libs/ggit-tree-builder.o .libs/ggit-tree-entry.o .libs/ggit-types.o .libs/ggit-utils.o .libs/ggit-cred-ssh-interactive.o .libs/ggit-cred-ssh-key-from-agent.o -lgio-2.0 -L/usr/lib64 -lgit2 -lgirepository-1.0 -lgobject-2.0 -lglib-2.0 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -O2 -g -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -Wl,-z -Wl,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-soname -Wl,libgit2-glib-1.0.so.0 -Wl,-version-script -Wl,.libs/libgit2-glib-1.0.ver -o .libs/libgit2-glib-1.0.so.0.0.0
$ pkg-config --libs --cflags libgit2
-L"/usr/lib64" -lgit2
Edited by Christoph Reiter