[NOT A BUG] Latest SVN checkout doesn't build

Ask for help regarding any technical issue or report any bug or OS independent issues.
Locked
Master Ar2ro
Peon
Peon
Posts: 37
Joined: 21 Jan 2006, 10:59
Location: Poland, Earth
Contact:

[NOT A BUG] Latest SVN checkout doesn't build

Post by Master Ar2ro »

Code: Select all

if g++ -DHAVE_CONFIG_H -I. -I. -I..  -DTMW_DATADIR=\""/usr/local/share/tmw/"\"  -Wall -Werror  -I/usr/include/SDL -D_REENTRANT `pkg-config --cflags libxml-2.0`  -g -O2 -MT tmw-tradehandler.o -MD -MP -MF ".deps/tmw-tradehandler.Tpo" -c -o tmw-tradehandler.o `test -f 'net/tradehandler.cpp' || echo './'`net/tradehandler.cpp; \
        then mv -f ".deps/tmw-tradehandler.Tpo" ".deps/tmw-tradehandler.Po"; else rm -f ".deps/tmw-tradehandler.Tpo"; exit 1; fi
make[2]: *** Brak reguł do zrobienia obiektu `graphic/spriteset.cpp', wymaganego przez `tmw-spriteset.o'. Stop.
make[2]: Opuszczenie katalogu `/usr/src/tmw/src'
make[1]: *** [all-recursive] Błąd 1
make[1]: Opuszczenie katalogu `/usr/src/tmw'
make: *** [all] Błąd 2
The English translation would be sth like "No rules specified to make object `graphic/striteset.cpp` needed by `tmw-spriteset.o`. Stop"
No changes made by me, pure checkout from the svn repository. Version 0.0.19 used to build with no problems under the same toolset.
C/C++,Java,PHP+MySQL - read more
User avatar
Bjørn
Manasource
Manasource
Posts: 1438
Joined: 09 Dec 2004, 18:50
Location: North Rhine-Westphalia, Germany
Contact:

Post by Bjørn »

The file was moved, and automake doesn't know how to cope with the disappearing file without spitting out silly errors.

Try running again:

Code: Select all

autoreconf -if
./configure
silene
Peon
Peon
Posts: 36
Joined: 12 Aug 2005, 19:19

Post by silene »

Bjørn wrote:Try running again:

Code: Select all

autoreconf -if
./configure
It won't be enough (and in fact it is not even needed). The problem is a bit more obscure. Since tmw stores all its objects files in the same root directory instead of storing them in their respective source directories, the spriteset object file is still at the same place while the source file disappeared. In particular, the related dependency file (now obsolete) still applies since the object file still exists. So you can either clean your whole repository, or simply do

Code: Select all

cat /dev/null > src/.deps/tmw-spriteset.Po
Anyway, this is a good occasion to suggest we stop storing object files in the root directory. It has several advantages and it is just a matter of adding this line to Makefile.am

Code: Select all

AUTOMAKE_OPTIONS = subdir-objects
User avatar
Bjørn
Manasource
Manasource
Posts: 1438
Joined: 09 Dec 2004, 18:50
Location: North Rhine-Westphalia, Germany
Contact:

Post by Bjørn »

silene wrote:Anyway, this is a good occasion to suggest we stop storing object files in the root directory. It has several advantages and it is just a matter of adding this line to Makefile.am

Code: Select all

AUTOMAKE_OPTIONS = subdir-objects
There is no particular reason that we've been storing the object files in the root directory, other than that we never knew how to do it differently. I think none of us have ever liked it. I'm glad to also finally know what the problem is with removing files.

So yeah, make it so! :)
Locked