Bug#211092: s/raise/print
Hello,
Below a patch that doesn't stop when encounter a non weak symbol.
And it can be even more verbose.
The previous reported "move print results patch" is also included.
Geert Stappers
# diff -u /usr/bin/mklibs.dist /usr/bin/mklibs
--- /usr/bin/mklibs.dist 2003-09-15 18:31:44.000000000 +0000
+++ /usr/bin/mklibs 2003-09-27 08:31:50.000000000 +0000
@@ -52,6 +52,7 @@
DEBUG_NORMAL = 1
DEBUG_VERBOSE = 2
DEBUG_SPAM = 3
+DEBUG_SPAMSPAM = 4
debuglevel = DEBUG_NORMAL
@@ -118,6 +119,7 @@
if not os.access(obj, os.F_OK):
raise "Cannot find lib: " + obj
output = command(target + "objdump", "--private-headers", obj)
+ debug(DEBUG_SPAMSPAM, "output", output )
return map(lambda x: root + "/" + x, regexpfilter(output, ".*RPATH\s*(\S+)$").elems())
# Return a Set of libraries the passed objects depend on.
@@ -125,6 +127,7 @@
if not os.access(obj, os.F_OK):
raise "Cannot find lib: " + obj
output = command(target + "objdump", "--private-headers", obj)
+ debug(DEBUG_SPAMSPAM, "output", output )
return regexpfilter(output, ".*NEEDED\s*(\S+)$")
# Return a list of libraries the passed objects depend on. The
@@ -133,6 +136,7 @@
if not os.access(obj, os.F_OK):
raise "Cannot find lib: " + obj
output = command(target + "objdump", "--private-headers", obj)
+ debug(DEBUG_SPAMSPAM, "output", output )
output = regexpfilter(output, ".*NEEDED\s*lib(\S+)\.so.*$")
if not output.elems():
return ""
@@ -152,12 +156,14 @@
result = Set()
output = command(target + "readelf", "-s", "-W", obj)
+ debug(DEBUG_SPAMSPAM, "output", output )
for line in output:
match = symline_regexp.match(line)
if match:
bind, ndx, name = match.groups()
if ndx == "UND":
result.add((name, bind == "WEAK"))
+ debug(DEBUG_SPAMSPAM, "result", result )
return result
# Return a Set of symbols provided by a library
@@ -166,7 +172,6 @@
raise "Cannot find lib" + obj
result = Set()
- debug(DEBUG_SPAM, "provided_symbols result = ", `result`)
output = command(target + "readelf", "-s", "-W", obj)
for line in output:
match = symline_regexp.match(line)
@@ -175,6 +180,7 @@
if bind != "LOCAL" and not ndx in ("UND", "ABS"):
debug(DEBUG_SPAM, "provided_symbols adding ", `name`)
result.add(name)
+ debug(DEBUG_SPAM, "provided_symbols result = ", `result`)
return result
# Return real target of a symlink
@@ -466,7 +472,7 @@
for (symbol, is_weak) in needed_symbols.elems():
if not symbol_provider.has_key(symbol):
if not is_weak:
- raise "No library provides non-weak " + symbol
+ print "WARNING:No library provides non-weak '" + symbol + "'"
else:
lib = symbol_provider[symbol]
library_symbols_used[lib].add(symbol)
Reply to: