View Issue Details

IDProjectCategoryView StatusLast Update
0002696DarkRadiantGeneralpublic11.10.2012 19:04
Reportersnk Assigned Tosnk  
PrioritynormalSeveritytrivialReproducibilityalways
Status closedResolutionfixed 
Platformamd64OSDebian GNU/LinuxOS Versionsqueeze
Summary0002696: mapdoom3 plugin: incorrect order in Makefile.am
DescriptionThe order of the source files (as specified in plugins/mapdoom3/Makefile.am) does not correspond the dependencies among them. This causes a missing reference error when linking the compilation units.
Steps To ReproduceRun dpkg-buildpackage or compile darkradiant in linux. (Rev. 6331)
TagsNo tags attached.
Attached Files
plugins-mapdoom3-Makefile.patch (883 bytes)   
Index: plugins/mapdoom3/Makefile.am
===================================================================
--- plugins/mapdoom3/Makefile.am	(Revision 6331)
+++ plugins/mapdoom3/Makefile.am	(Arbeitskopie)
@@ -9,11 +9,11 @@
 mapdoom3_la_LDFLAGS = -module -avoid-version $(GTKMM_LIBS) $(XML_LIBS)
 mapdoom3_la_SOURCES = Doom3MapFormat.cpp \
                  Doom3PrefabFormat.cpp \
-				 Quake4MapFormat.cpp \
-				 Quake4MapReader.cpp \
-                      Doom3MapReader.cpp \
-                      mapdoom3.cpp \
-					  Doom3MapWriter.cpp \
+                 Quake4MapReader.cpp \
+                 Quake4MapFormat.cpp \
+                 Doom3MapReader.cpp \
+                 mapdoom3.cpp \
+                 Doom3MapWriter.cpp \
                  primitiveparsers/BrushDef.cpp \
                  primitiveparsers/BrushDef3.cpp \
                  primitiveparsers/Patch.cpp \

Activities

greebo

greebo

21.03.2011 11:36

administrator   ~0003773

Last edited: 21.03.2011 11:41

The actual order of the .cpp files in the makefile does make a difference?

Can you give me the linker output/errors?

greebo

greebo

21.03.2011 12:43

administrator   ~0003774

I just compiled SVN rev. 6332 in Ubuntu 10.10, it compiled and linked fine.
snk

snk

21.03.2011 17:46

reporter   ~0003776

These are the last lines of the build log:

make[4]: Leaving directory `/home/micha/src/darkradiant/trunk/plugins/image'
Making all in mapdoom3
make[4]: Entering directory `/home/micha/src/darkradiant/trunk/plugins/mapdoom3'
  CXX Doom3MapFormat.lo
  CXX Doom3PrefabFormat.lo
  CXX Quake4MapFormat.lo
  CXX Doom3MapReader.lo
  CXX mapdoom3.lo
  CXX Doom3MapWriter.lo
  CXX BrushDef.lo
  CXX BrushDef3.lo
  CXX Patch.lo
  CXX PatchDef2.lo
  CXX PatchDef3.lo
  CXXLD mapdoom3.la
.libs/Quake4MapFormat.o: In function `map::Quake4MapFormat::getMapReader(map::IMapImportFilter&) const':
/home/micha/src/darkradiant/trunk/plugins/mapdoom3/Quake4MapFormat.cpp:85: undefined reference to `map::Quake4MapReader::Quake4MapReader(map::IMapImportFilter&)'
collect2: ld returned 1 exit status
make[4]: *** [mapdoom3.la] Fehler 1
make[4]: Leaving directory `/home/micha/src/darkradiant/trunk/plugins/mapdoom3'
make[3]: *** [all-recursive] Fehler 1
make[3]: Leaving directory `/home/micha/src/darkradiant/trunk/plugins'
make[2]: *** [all-recursive] Fehler 1
make[2]: Leaving directory `/home/micha/src/darkradiant/trunk'
make[1]: *** [all] Fehler 2
make[1]: Leaving directory `/home/micha/src/darkradiant/trunk'
make: *** [build-stamp] Fehler 2
greebo

greebo

22.03.2011 06:27

administrator   ~0003777

It seems like the Quake4MapReader.cpp is not compiled at all? I see it's compiling

CXX Quake4MapFormat.lo

but the Quake4MapReader object file is never created, of course it fails while linking. The Q4MapReader is mentioned right before the Doom3MapReader object, I don't see why make should leave it out.

Have you tried doing a make clean, running the autogen.sh script in the darkradiant/ root, plus a subsequent ./configure && make? Maybe some of the makefile.in files are outdated.
snk

snk

22.03.2011 17:23

reporter   ~0003778

You are right, this does the trick for me. I should have done this before messing around with the Makefile.am.

Issue History

Date Modified Username Field Change
20.03.2011 11:37 snk New Issue
20.03.2011 11:37 snk File Added: plugins-mapdoom3-Makefile.patch
21.03.2011 11:36 greebo Note Added: 0003773
21.03.2011 11:41 greebo Note Edited: 0003773
21.03.2011 11:42 greebo Status new => feedback
21.03.2011 12:43 greebo Note Added: 0003774
21.03.2011 17:46 snk Note Added: 0003776
21.03.2011 17:46 snk Status feedback => new
22.03.2011 06:27 greebo Note Added: 0003777
22.03.2011 17:23 snk Note Added: 0003778
22.03.2011 17:24 snk Status new => resolved
22.03.2011 17:24 snk Resolution open => fixed
22.03.2011 17:24 snk Assigned To => snk
11.10.2012 19:04 greebo Status resolved => closed