Source: makehuman
Version: 1.0.0~alpha6-5
Tags: patch
User: debian-...@lists.debian.org
Usertags: ld-as-needed

makehuman fails to build when ld defaults to --as-needed because it puts 
libraries
before the objects that use them.
See http://wiki.debian.org/ToolChain/DSOLinking#Only_link_with_needed_libraries

This is already fixed upstream:
http://code.google.com/p/makehuman/source/diff?spec=svn3555&old=2071&r=3160&format=unidiff&path=%2Ftrunk%2Fmakehuman%2FMakefile.Linux

Build log:

> linking as makehuman.real .
> src/core.o: In function `RegisterObject3D':
> /build/buildd/makehuman-1.0.0~alpha6/src/core.c:150: undefined reference to 
> `PyType_Ready'
> /build/buildd/makehuman-1.0.0~alpha6/src/core.c:154: undefined reference to 
> `PyModule_AddObject'
> src/core.o: In function `Object3D_init':
> /build/buildd/makehuman-1.0.0~alpha6/src/core.c:236: undefined reference to 
> `PyArg_ParseTuple'
> /build/buildd/makehuman-1.0.0~alpha6/src/core.c:240: undefined reference to 
> `PyList_Size'
> [...]
Description: Fix FTBFS with ld --as-needed.
Origin: backport, http://code.google.com/p/makehuman/source/diff?spec=svn3555&old=2071&r=3160&format=unidiff&path=%2Ftrunk%2Fmakehuman%2FMakefile.Linux

--- makehuman-1.0.0~alpha6.orig/Makefile.Linux
+++ makehuman-1.0.0~alpha6/Makefile.Linux
@@ -32,7 +32,7 @@ EXE = makehuman
 
 $(EXE) : $(OBJS)
 	@echo "linking as $@ ."
-	@g++ $(EXTRALIBS) $(EXTRAFMWKS) $(OBJS) -Wl,--as-needed -o $@
+	@g++ -Wl,--as-needed $(OBJS) $(EXTRALIBS) $(EXTRAFMWKS) -o $@
 
 # ---------------------------------------------------------------------
 # Cleanup unused stuff

Reply via email to