Control: tag -1 + confirmed Control: retitle -1 libembperl-perl: FTBFS on s390x: Embperl.so: undefined symbol: ap_rflush, ap_hook_post_config, ap_hook_open_logs, ap_rwrite
Hi, Niko Tyni wrote: > If apache2 is indeed missing ap_rflush on s390x, that might be worth > a bug report there. Indeed. > It looks like it's a documented part of the API, > see /usr/include/apache2/http_protocol.h in apache2-dev. It's worse. If I comment out all ap_rflush occurrences (they seem only used in debug mode and purely optional, I get more severe breakage: Can't load '/home/abe/libembperl-perl/blib/arch/auto/Embperl/Embperl.so' for module Embperl: /home/abe/libembperl-perl/blib/arch/auto/Embperl/Embperl.so: undefined symbol: ap_hook_open_logs at /usr/lib/s390x-linux-gnu/perl/5.22/DynaLoader.pm line 187. at test.pl line 1916. Compilation failed in require at test.pl line 1916. BEGIN failed--compilation aborted at test.pl line 1916. Same for ap_hook_post_config and ap_rwrite. That's where I stopped commenting out code. > On amd64: > > % objdump -T /usr/sbin/apache2|grep ap_rflush > 000000000029c4d0 g DO .data 0000000000000008 Base > ap_hack_ap_rflush > 000000000003f420 g DF .text 0000000000000064 Base ap_rflush Well, on s390x: → objdump -T /usr/sbin/apache2 | egrep 'ap_rflush|ap_rwrite|ap_hook_open_logs|ap_hook_post_config' 00000000000b0918 g DO .data 0000000000000008 Base ap_hack_ap_hook_post_config 000000000005f288 g DF .text 00000000000000e8 Base ap_hook_post_config 00000000000b04b8 g DO .data 0000000000000008 Base ap_hack_ap_rwrite 00000000000447d8 g DF .text 000000000000005a Base ap_rwrite 00000000000b0900 g DO .data 0000000000000008 Base ap_hack_ap_hook_open_logs 00000000000b0498 g DO .data 0000000000000008 Base ap_hack_ap_rflush 000000000005f448 g DF .text 00000000000000e8 Base ap_hook_open_logs 0000000000044b00 g DF .text 0000000000000098 Base ap_rflush All there. I'm confused. This also looks fine: → dgrep ap_rflush apache2-dev /usr/include/apache2/http_protocol.h:AP_DECLARE(int) ap_rflush(request_rec *r); Even if I check in which files it is present: s390x: → fgrep ap_rflush -r /usr/lib/apache2 Binary file /usr/lib/apache2/modules/mod_heartmonitor.so matches /usr/lib/apache2/modules/httpd.exp:ap_rflush Binary file /usr/lib/apache2/modules/mod_lua.so matches Binary file /usr/lib/apache2/modules/mod_proxy_balancer.so matches amd64 (stretch): # fgrep ap_rflush -r /usr/lib/apache2 Binary file /usr/lib/apache2/modules/mod_heartmonitor.so matches /usr/lib/apache2/modules/httpd.exp:ap_rflush Binary file /usr/lib/apache2/modules/libphp5.so matches Binary file /usr/lib/apache2/modules/mod_proxy_balancer.so matches Binary file /usr/lib/apache2/modules/mod_lua.so matches For now, I'm out of ideas. Regards, Axel -- ,''`. | Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `- | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE