Thank you all for the help. I find the final solution.
first of all, official libc6-compat must be installed into Alpine. Do NEVER install the 3rd-party glibc, it will override ld-linux-x86-64.so.2 and break other packages in Alpine because almost all packages in Alpine are built by musl-libc, and the original ld-linux-x86-64.so.2 is a symlink from libc.musl-x86_64.so .
so my solution is to remove the dependency of ld-linux-x86-64.so.2 from my lib.
use the command for make a like.res:
It will generate the link.res and ppas.sh. Open link.res, find "INPUT (ld-linux-x86-64.so.2)" and then remove it. run ppas.sh for build a shared library.
here can get a libmylib.so without ld-linux-x86-64.so.2 required. use "readelf -d libmylib.so" to check it.
And one more step is to remove "dynlibs" from host app. In Alpine can't use that.
I added a compile switch to it:
uses Classes, SysUtils {$IFNDEF ALPINE}, dynlibs {$ENDIF};
and compile host app with the command:
well, the problem is solved.