"I thought kernel has no any configuration set and I tried to use my current
config."
The kernel does need to be configured: This is the time where you get to
decide exactly what parts of the kernel should be built and how they should
work. Like what scheduler do you want to use?
https://en.wikipedia.org/wiki/Scheduling_(computing)#Since_Linux_2.6.23 And
there's lots more.
Further, that config varies from one major release to another (so a config
for 4.4 will be different from 4.13 because each new release introduces new
and changed features, so the config must be updated to cover the differences.
This is what "make oldconfig" is for: Taking a config from an old version and
updating it based on whatever version you're building.) The kernel config
will also vary from one CPU architecture to another (so a config for 32-bit
x86 will be different from 64-bit and will be different from ARM and MIPS and
RISC-V...) Not only because they are different CPUs but also because some
kernel features are only relevant on certain kinds of machines. You can
explore all of the options when doing "make nconfig" but there's also lots of
information online too. Configuring the kernel is a topic of much discussion.