News:

Want to praise Simutrans?
Your feedback is important for us ;D.

[Linux] Compilations fail with rotate map tool

Started by Yona-TYT, May 31, 2024, 03:14:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yona-TYT

Obviously this is not a bug, rather it only happens with my builds.

I still don't know what's happening, maybe it's something related to makefile.

For now I only have the gdb log:
Thread 1 "sim" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc-2.39-13.fc40.x86_64/nptl/pthread_kill.c
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;                        
(gdb) where
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007ffff76ab1b3 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2  0x00007ffff765365e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff763b902 in __GI_abort () at abort.c:79
#4  0x00007ffff763b81e in __assert_fail_base
    (fmt=0x7ffff77c3b58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x902a30 "(get_random_mode() & INTERACTIVE_RANDOM) == 0", file=file@entry=0x902a10 "src/simutrans/world/simworld.cc", line=line@entry=3130, function=function@entry=0x9029e8 "void karte_t::set_schedule_counter()") at assert.c:94
#5  0x00007ffff764b977 in __assert_fail
    (assertion=0x902a30 "(get_random_mode() & INTERACTIVE_RANDOM) == 0", file=0x902a10 "src/simutrans/world/simworld.cc", line=3130, function=0x9029e8 "void karte_t::set_schedule_counter()") at assert.c:103
#6  0x000000000080151d in karte_t::set_schedule_counter (this=<optimized out>)
    at src/simutrans/world/simworld.cc:3130
#7  0x0000000000809257 in karte_t::set_schedule_counter (this=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--


Edit.

I tried using the "setup-development.sh", but I get this at the end:


===> LD /home/casa/Downloads/simutrans-master/simutrans-master2/sim
/usr/bin/ld: cannot find -lbz2: No such file or directory
/usr/bin/ld: cannot be found -lpng16: No such file or directory
/usr/bin/ld: cannot be found -lz: No such file or directory
/usr/bin/ld: cannot be found -lharfbuzz: No such file or directory
/usr/bin/ld: cannot find -lglib-2.0: No such file or directory
/usr/bin/ld: cannot be found -lpcre2-8: No such file or directory
/usr/bin/ld: cannot find -lfreetype: No such file or directory
/usr/bin/ld: cannot be found -lgraphite2: No such file or directory
/usr/bin/ld: cannot be found -lbrotlidec: No such file or directory
/usr/bin/ld: cannot find -lbrotlicommon: No such file or directory
/usr/bin/ld: cannot find -lfontconfig: No such file or directory
/usr/bin/ld: cannot find -lfreetype: No such file or directory
/usr/bin/ld: cannot find -lzstd: No such file or directory
/usr/bin/ld: cannot find -lbz2: No such file or directory
/usr/bin/ld: cannot be found -lz: No such file or directory
/usr/bin/ld: cannot find -lpng: No such file or directory
collect2: error: ld returned exit status 1
make: *** [common.mk:29: /home/casa/Downloads/simutrans-master/simutrans-master2/sim] Error 1
Update translations
No simutrans executable found! Aborted!

Edit2.
To generate a simutrans binary I do the following:



I modify "config.template" to:
#BACKEND := gdi
BACKEND := sdl2
#BACKEND := posix

#OSTYPE := amiga
#OSTYPE := freebsd
#OSTYPE := haiku
OSTYPE := linux
#OSTYPE := mac
#OSTYPE := mingw
#OSTYPE := openbsd

DEBUG := 1    # Level 1-3, higher number means more debug-friendly but slower, see Makefile
MSG_LEVEL := 3 # Level 1-4, more runtime debug messages (without only warnings and errors)
OPTIMISE := 1 # Add umpteen optimisation flags
PROFILE := 1  # Enable profiling
PROFILE := 2  # Enable profiling with optimisation flags, can be used with `OPTIMISE = 1'

And then I use make.


prissi

set_schedule_counter is called while you are not in a SYNC_STEP. Before get_scenario()->rotate90(cached_size.x) is called. If the scenario somehow messes up the sync_step mode, this could happen.

Was the rotation initiated by a script or by clicking?
Was a scenario running?

Yona-TYT

Quote from: prissi on May 31, 2024, 01:48:47 PMWas the rotation initiated by a script or by clicking?

I am using rotate map from toolbar.
It happens regardless of whether a script is used or not.




Thread 1 "sim" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6,
    no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) where
#0  __pthread_kill_implementation (threadid=<optimized out>,
    signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff76ab1b3 in __pthread_kill_internal (threadid=<optimized out>,
    signo=6) at pthread_kill.c:78
#2  0x00007ffff765365e in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/posix/raise.c:26
#3  0x00007ffff763b902 in __GI_abort () at abort.c:79
#4  0x00007ffff763b81e in __assert_fail_base (
    fmt=0x7ffff77c3b58 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
    assertion=assertion@entry=0x7b2898 "(get_random_mode() & INTERACTIVE_RANDOM) == 0", file=file@entry=0x7b2778 "src/simutrans/world/simworld.cc",
    line=line@entry=3130,
    function=function@entry=0x7b2870 "void karte_t::set_schedule_counter()")
    at assert.c:94
#5  0x00007ffff764b977 in __assert_fail (
    assertion=0x7b2898 "(get_random_mode() & INTERACTIVE_RANDOM) == 0",
    file=0x7b2778 "src/simutrans/world/simworld.cc", line=3130,
    function=0x7b2870 "void karte_t::set_schedule_counter()") at assert.c:103
#6  0x0000000000753750 in karte_t::set_schedule_counter (
    this=this@entry=0x24a3220) at src/simutrans/world/simworld.cc:3130
#7  0x0000000000758993 in karte_t::rotate90 (this=0x24a3220)
    at src/simutrans/world/simworld.cc:2464
#8  0x00000000006f730d in tool_rotate90_t::init (this=<optimized out>)
--Type <RET> for more, q to quit, c to continue without paging--

It's strange that this only happens in my builds, I suspect that there may be some library that has lost compatibility (conflict with standards or things like that) or "setup-development.sh" is not configuring things correctly.

I am using fedora 40 and my system is recently updated (this happened in fedora 39 as well), in fact I updated to f40 in the hope that there would be no more errors.