The International Simutrans Forum

Simutrans Extended => Simutrans-Extended development => Topic started by: O01eg on July 19, 2013, 04:21:26 PM

Title: Can not build makeobj.
Post by: O01eg on July 19, 2013, 04:21:26 PM
When I runs `make makeobj` I gets:

Quote
===> LD  ../build/default/makeobj/makeobj
../build/default/utils/float32e8_t-makeobj.o: In function `float32e8_t::rdwr(loadsave_t*)':
float32e8_t.cc:(.text+0x62d5): undefined reference to `loadsave_t::start_tag(char const*)'
float32e8_t.cc:(.text+0x62e0): undefined reference to `loadsave_t::rdwr_long(unsigned int&)'
float32e8_t.cc:(.text+0x62ec): undefined reference to `loadsave_t::rdwr_short(short&)'
float32e8_t.cc:(.text+0x6304): undefined reference to `loadsave_t::rdwr_bool(bool&)'
float32e8_t.cc:(.text+0x6325): undefined reference to `loadsave_t::end_tag(char const*)'
float32e8_t.cc:(.text+0x633c): undefined reference to `loadsave_t::end_tag(char const*)'
../build/default/simtools-makeobj.o: In function `init_perlin_map(int, int)':
simtools.cc:(.text+0x690): undefined reference to `umgebung_t::hilly'
../build/default/utils/log-makeobj.o: In function `log_t::debug(char const*, char const*, ...)':
log.cc:(.text+0x1c1): undefined reference to `umgebung_t::verbose_debug'
../build/default/utils/log-makeobj.o: In function `log_t::message(char const*, char const*, ...)':
log.cc:(.text+0x348): undefined reference to `umgebung_t::verbose_debug'
../build/default/utils/log-makeobj.o: In function `log_t::warning(char const*, char const*, ...)':
log.cc:(.text+0x4d8): undefined reference to `umgebung_t::verbose_debug'
../build/default/utils/log-makeobj.o: In function `log_t::error(char const*, char const*, ...)':
log.cc:(.text+0x658): undefined reference to `umgebung_t::verbose_debug'
../build/default/utils/log-makeobj.o: In function `log_t::fatal(char const*, char const*, ...)':
log.cc:(.text+0x8e8): undefined reference to `umgebung_t::verbose_debug'
log.cc:(.text+0x8ee): undefined reference to `is_display_init()'
log.cc:(.text+0x903): undefined reference to `destroy_all_win(bool)'
log.cc:(.text+0x93d): undefined reference to `news_img::news_img(char const*, unsigned short, unsigned short)'
log.cc:(.text+0x942): undefined reference to `display_get_width()'
log.cc:(.text+0x967): undefined reference to `news_window::extend_window_with_component(gui_komponente_t*, koord, koord)'
log.cc:(.text+0x96c): undefined reference to `display_get_height()'
log.cc:(.text+0x990): undefined reference to `display_get_width()'
log.cc:(.text+0x9c9): undefined reference to `create_win(int, int, gui_frame_t*, wintype, long)'
log.cc:(.text+0x9d4): undefined reference to `win_is_top(gui_frame_t const*)'
log.cc:(.text+0x9e2): undefined reference to `dr_sleep(unsigned int)'
log.cc:(.text+0x9e7): undefined reference to `dr_prepare_flush()'
log.cc:(.text+0xa0b): undefined reference to `dr_flush()'
log.cc:(.text+0xa13): undefined reference to `display_poll_event(event_t*)'
log.cc:(.text+0xa1b): undefined reference to `check_pos_win(event_t*)'
log.cc:(.text+0xa30): undefined reference to `dr_fatal_notify(char const*)'
../build/default/utils/log-makeobj.o: In function `log_t::vmessage(char const*, char const*, char const*, __va_list_tag*)':
log.cc:(.text+0xabe): undefined reference to `umgebung_t::verbose_debug'
collect2: ld returned 1 exit status

Commit: eddcc911f7e3e0cf35fce47859c4acb6d097d673
Branch: 11.x
GCC: 4..6.4
OS: Gentoo Linux AMD64
Title: Re: Can not build makeobj.
Post by: jamespetts on July 19, 2013, 10:12:20 PM
Hmm - curious. What is your config.default setup?

(I should note that you should be able to get the binaries for 11.0, which, as far as Makeobj are concerned, are not materially different to the current 11.x branch, here (http://www.43-1.org/~simutrans/simutrans-exp/)).
Title: Re: Can not build makeobj.
Post by: O01eg on July 20, 2013, 04:23:51 AM
My config.default:
Quote
BACKEND=mixer_sdl
COLOUR_DEPTH=16
OSTYPE=linux
FLAGS=-DSTEPS16
Title: Re: Can not build makeobj.
Post by: jamespetts on July 20, 2013, 11:12:11 AM
Hmm - that is very curious, especially as I am able to get it to compile without difficulty on Linux 64 bit. It might well be that MAKEOBJ is not defined, although this should be done in Makeobj's makefile by default. Can you try adding -DMAKEOBJ to your flags to see whether this helps?
Title: Re: Can not build makeobj.
Post by: O01eg on July 20, 2013, 11:51:10 AM
Yes, -DMAKEOBJ isn't added to CFLAGS when I runs `make makeobj`. It looks very strange.
Title: Re: Can not build makeobj.
Post by: O01eg on July 20, 2013, 11:53:01 AM
What difference between CXXFLAGS, CCFLAGS and CFLAGS?
Title: Re: Can not build makeobj.
Post by: jamespetts on July 20, 2013, 12:39:01 PM
Hmm. I don't know how the flags work. How did you check out the repository?
Title: Re: Can not build makeobj.
Post by: O01eg on July 20, 2013, 12:41:22 PM
I used `git clone --depth=2 --single-branch --branch=11.x https://github.com/jamespetts/simutrans-experimental.git` command.
Title: Re: Can not build makeobj.
Post by: jamespetts on July 20, 2013, 12:49:17 PM
Interesting. I usually initialise a new repository and "pull". Perhaps you could try that method?
Title: Re: Can not build makeobj.
Post by: O01eg on July 20, 2013, 01:14:44 PM
I've found my mistake. `make makeobj` doesn't work from main folder. It should be `make` in makeobj folder. So it succesfully compiles.
Title: Re: Can not build makeobj.
Post by: jamespetts on July 20, 2013, 01:35:32 PM
Ahh, splendid! Glad that it works for you. Apologies that I wasn't able to have been of more help.