git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 03/11] svn-fe: add EXTLIBS needed for parse-options

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jul 24, 2011, 13:14 UTC
Message-ID
<20110724131439.GC2934@elie.dc0b.debconf.org>
In-Reply-To
<1310559673-5026-4-git-send-email-divanorama@gmail.com>
Dmitry Ivankov wrote:
> Currently parse-options.o pull quite a big bunch of dependencies
> that are neither pulled in by svn-fe Makefile nor included in libgit.a.
>
> Use a temporary hack: put hardcoded EXTLIBS

In other words, this is a workaround for the lack of http://thread.gmane.org/gmane.comp.version-control.git/176318/focus=176573 (Reduce parse-options.o dependencies).

Show 5 quoted lines
> this may not work in all
> setups because /Makefile logic is not repeated.
>
> For example, one may need -lcrypto instead of -lssl or no crypto library
> if BLK_SHA1 is set, also an additional -lz or -lpcre could be required.

Better to pull in too many libs and let the operator remove them from the Makefile than too few and make her guess. Though of course neither should be needed. :)

With the following applied on top locally, it works for me.
-- >8 --
Subject: squash! svn-fe: add EXTLIBS needed for parse-options

-lcrypto is needed for SHA-1 routines unless NO_OPENSSL or BLK_SHA1 is set, -lpcre is for grep if USE_LIBPCRE is set, and -lz is needed throughout.

In the future, none of these should be needed, after a little rearranging to ensure that parse-options.o has no references to translation units that need to access the object db.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 contrib/svn-fe/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/contrib/svn-fe/Makefile b/contrib/svn-fe/Makefile
index dc6dafef..14b07b5b 100644
--- a/contrib/svn-fe/Makefile
+++ b/contrib/svn-fe/Makefile
@@ -8,7 +8,7 @@ CFLAGS = -g -O2 -Wall
 LDFLAGS =
 ALL_CFLAGS = $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
-EXTLIBS = -lssl -lpthread
+EXTLIBS = -lssl -lcrypto -lpcre -lz -lpthread
 
 GIT_LIB = ../../libgit.a
 VCSSVN_LIB = ../../vcs-svn/lib.a
-- 
1.7.6
Previous: Dmitry IvankovNext: Dmitry Ivankov
Message 7 of 24 in “vcs-svn,svn-fe add a couple of options”
  1. 00/11 vcs-svn,svn-fe add a couple of optionsDmitry Ivankov, Jul 13, 2011
  2. 01/11 svn-fe: add man target to MakefileDmitry Ivankov, Jul 13, 2011
  3. Jonathan NiederJul 24, 2011
  4. 02/11 test-svn-fe: use parse-optionsDmitry Ivankov, Jul 13, 2011
  5. Jonathan NiederJul 24, 2011
  6. 03/11 svn-fe: add EXTLIBS needed for parse-optionsDmitry Ivankov, Jul 13, 2011
  7. Jonathan NiederJul 24, 2011
  8. 04/11 svn-fe: add usage and unpositional arguments versionsDmitry Ivankov, Jul 13, 2011
  9. Jonathan NiederJul 24, 2011
  10. 05/11 vcs-svn: move url parameter from _read to _initDmitry Ivankov, Jul 13, 2011
  11. Jonathan NiederJul 24, 2011
  12. 06/11 vcs-svn: move commit parameters logic to svndump.cDmitry Ivankov, Jul 13, 2011
  13. Jonathan NiederJul 24, 2011
  14. 07/11 vcs-svn,svn-fe: allow to specify dump destination refDmitry Ivankov, Jul 13, 2011
  15. Jonathan NiederJul 25, 2011
  16. 08/11 vcs-svn,svn-fe: convert REPORT_FILENO to an optionDmitry Ivankov, Jul 13, 2011
  17. Jonathan NiederJul 25, 2011
  18. 09/11 vcs-svn,svn-fe: allow to disable 'progress' linesDmitry Ivankov, Jul 13, 2011
  19. 10/11 vcs-svn,svn-fe: add --incremental optionDmitry Ivankov, Jul 13, 2011
  20. Jonathan NiederJul 25, 2011
  21. 11/11 vcs-svn,svn-fe: add an option to write svnrev notesDmitry Ivankov, Jul 13, 2011
  22. Jonathan NiederJul 25, 2011
  23. Dmitry IvankovJul 28, 2011
  24. Jonathan NiederJul 28, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.