Bruno Haible <[email protected]> writes:
> Hi Po Lu,
>
>> Emacs shared libraries fail to link at runtime when compiled with
>> __ANDROID_API__ == 35 and the NDK r28a:
>
> OK, that is a supported configuration.
>
>> E AndroidRuntime: FATAL EXCEPTION: main
>> E AndroidRuntime: Process: org.gnu.emacs, PID: 21651
>> E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed:
>> cannot locate symbol "set_tz" referenced by
>> "/data/app/~~yw5LUubWzSHUwprjT3OZ5w==/org.gnu.emacs-0EFFUQxDS3mpZzvhMyF-4g==/lib/arm64/libemacs.so"...
>> E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1081)
>>
>> because the strftime module assumes that localtime_rz replacements are
>> enabled and set_tz is defined if neither of strftime_lz and strftime_z
>> are available, but the presence of localtime_rz/mktime_z in the C
>> library does not indicate the former.
>
> This is a little too terse for me to understand. Can you please give
> the following details:
> - Is HAVE_NATIVE_TIME_Z defined in config.h ?
> - Is NEED_TIMEZONE_NULL_SUPPORT defined in config.h ?
> - Is time_rz.c among the source code, after the gnulib import?
> - Is time_rz.o among the compiled files?
Sure. Yes to all of the above.
> - What symbols are shown as defined ('T') in "nm time_rz.o"?
0000000000000000 T rpl_localtime_rz
0000000000000014 T rpl_mktime_z