Update build files to work with more modern autotools#358
Conversation
This will make sure we can build on Ubuntu 22.04.
|
Note that this is stacked on top of #356 so merging this merges that too. |
|
gearmand-1.1.19.1-79-g1161d2c.tar.gz Uploading a tarball produced on my 22.04 machine that seems to work including building with all queue plugins enabled. It would help me if folks tried it on various older platforms. |
|
Changes to the autotools stuff make me nervous, especially the changes to the time.h and sys/time.h includes, tbh. I'm pleasantly surprised the CI tests on Ubuntu 14.04 pass, and that's reassuring. We should be sure to test on CentOS 7 and Alpine and macOS, I think. I'll try to do my part, but, as I mentioned previously, I'm extremely busy this week at work, so it might not be until this coming weekend. |
|
Indeed, the autotools stuff is my least favorite thing about gearmand and libgearman. But I'm pretty confident the CI is simple and straightforward. There's no rush to get this released, but this weekend would be great. Maybe join the Matrix chat again so we can collab in realtime if we bump into each other. |
|
I guess you couldn't wait for my testing this weekend, but I'll post my findings anyway. CentOS 7.9: Configure and build went well.
That seemed like a transient sort of thing (we'd see similar transient test failures like this in Travis CI a lot), so I tried again. This time I got a disconcerting backtrace in a different test ( I didn't see anything in the test-suite.log file for that, so that's why I'm not sure which test triggered it. A third attempt at I'm not sure if this is any cause for concern. I think we could blame it on CentOS 7.9 or (more likely) gcc version 4.8.5 which ships with CentOS 7.9. Should I open this as an issue? |
|
Built and tested the 1.1.20 release tarball on CentOS 7.9, and tested fine the first, second, and third tries. Guess it was a fluke. :-/ macOS 1.1.20 release tarball build failed with |
|
Built and tested 1.1.20 release tarball on Alpine 3.13. The build went OK, except for this message: I'll look into cleaning up that warning. All tests passed. I used the following Dockerfile, a variation on the one in the repo except it downloads the tarball instead of using the git repo: |
|
Ditto for Alpine 3.17, which is the latest. I wish we had Dockerfiles for Debian.... |
|
Hey Ed yeah, apologies for not being able to wait that long. When I have an
hour for gearmand I really have to spend it. :-P Thanks for the testing,
looks like for the most part we're good. I think we might need our Mac OS
users to step up to tell us how that pans out.
…On Sat, Nov 19, 2022 at 1:22 PM Ed Sabol ***@***.***> wrote:
I guess you couldn't wait for my testing this weekend, but I'll post my
findings anyway.
CentOS 7.9: Configure and build went well. make test failed on the first
attempt in t/tokyocabinet with the following:
libtest/client.cc:273: in start() pid(8718) localhost:43654
ping(libtest/client.cc:273: Connection refused), additionally pid: 8822 is
alive: true waited: 17 server started. exec:
/path/to/src/gearmand-1.1.19.1-79-g1161d2c/libtool --mode=execute
/path/to/src/gearmand-1.1.19.1-79-g1161d2c/./gearmand/gearmand
--verbose=INFO --log-file=var/log/gearmand.logLhGmCI
--pid-file=var/run/gearmand.pidp8p2fC --port=43654
--libtokyocabinet-file=var/tmp/gearman.tcb --queue-type=libtokyocabinet
--listen=localhost stderr:
tests/tokyocabinet_test.cc:142: in lp_1054377_TEST() pid(8718) Assertion
'server_startup(servers, "gearmand", first_port, argv)'
tokyocabinet.queue restart.lp:1054377 [ failed ]
That seemed like a transient sort of thing (we'd see similar transient
test failures like this in Travis CI a lot), so I tried again. This time I
got a disconcerting backtrace in a different test (t/protocol, I think):
*** Error in `/Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/./gearmand/gearmand': double free or corruption (!prev): 0x000055c928482710 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81329)[0x7ff89db0e329]
/Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/./gearmand/gearmand(+0x21f0d)[0x55c9271c8f0d]
/Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/./gearmand/gearmand(+0x1e1d5)[0x55c9271c51d5]
/Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/./gearmand/gearmand(+0xd34e)[0x55c9271b434e]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7ff89daaf555]
/Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/./gearmand/gearmand(+0xdb92)[0x55c9271b4b92]
======= Memory map: ========
55c9271a7000-55c9271f2000 r-xp 00000000 00:2b 78893113 /Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/gearmand/gearmand
55c9273f2000-55c9273f4000 r--p 0004b000 00:2b 78893113 /Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/gearmand/gearmand
55c9273f4000-55c9273f5000 rw-p 0004d000 00:2b 78893113 /Heasarc_dev/heasarc/hera/server/src/gearmand-1.1.19.1-79-g1161d2c/gearmand/gearmand
55c9273f5000-55c9273f7000 rw-p 00000000 00:00 0
55c92846e000-55c92848f000 rw-p 00000000 00:00 0 [heap]
7ff878000000-7ff878021000 rw-p 00000000 00:00 0
7ff878021000-7ff87c000000 ---p 00000000 00:00 0
7ff880000000-7ff880021000 rw-p 00000000 00:00 0
7ff880021000-7ff884000000 ---p 00000000 00:00 0
7ff884000000-7ff884021000 rw-p 00000000 00:00 0
7ff884021000-7ff888000000 ---p 00000000 00:00 0
7ff888000000-7ff888021000 rw-p 00000000 00:00 0
7ff888021000-7ff88c000000 ---p 00000000 00:00 0
7ff88c000000-7ff88c23b000 rw-p 00000000 00:00 0
7ff88c23b000-7ff890000000 ---p 00000000 00:00 0
7ff892ffe000-7ff892fff000 ---p 00000000 00:00 0
7ff892fff000-7ff8937ff000 rw-p 00000000 00:00 0
7ff8937ff000-7ff893800000 ---p 00000000 00:00 0
7ff893800000-7ff894000000 rw-p 00000000 00:00 0
7ff894000000-7ff894021000 rw-p 00000000 00:00 0
7ff894021000-7ff898000000 ---p 00000000 00:00 0
7ff89873e000-7ff89873f000 ---p 00000000 00:00 0
7ff89873f000-7ff898f3f000 rw-p 00000000 00:00 0
7ff898f3f000-7ff898f40000 ---p 00000000 00:00 0
7ff898f40000-7ff899740000 rw-p 00000000 00:00 0
7ff899740000-7ff899741000 ---p 00000000 00:00 0
7ff899741000-7ff899f41000 rw-p 00000000 00:00 0
7ff899f41000-7ff899f4d000 r-xp 00000000 fd:02 18317520 /usr/lib64/libnss_files-2.17.so
7ff899f4d000-7ff89a14c000 ---p 0000c000 fd:02 18317520 /usr/lib64/libnss_files-2.17.so
7ff89a14c000-7ff89a14d000 r--p 0000b000 fd:02 18317520 /usr/lib64/libnss_files-2.17.so
7ff89a14d000-7ff89a14e000 rw-p 0000c000 fd:02 18317520 /usr/lib64/libnss_files-2.17.so
7ff89a14e000-7ff89a154000 rw-p 00000000 00:00 0
7ff89a955000-7ff89a957000 r-xp 00000000 fd:02 16783484 /usr/lib64/libfreebl3.so
7ff89a957000-7ff89ab56000 ---p 00002000 fd:02 16783484 /usr/lib64/libfreebl3.so
7ff89ab56000-7ff89ab57000 r--p 00001000 fd:02 16783484 /usr/lib64/libfreebl3.so
7ff89ab57000-7ff89ab58000 rw-p 00002000 fd:02 16783484 /usr/lib64/libfreebl3.so
7ff89ab58000-7ff89abb8000 r-xp 00000000 fd:02 16783823 /usr/lib64/libpcre.so.1.2.0
7ff89abb8000-7ff89adb8000 ---p 00060000 fd:02 16783823 /usr/lib64/libpcre.so.1.2.0
7ff89adb8000-7ff89adb9000 r--p 00060000 fd:02 16783823 /usr/lib64/libpcre.so.1.2.0
7ff89adb9000-7ff89adba000 rw-p 00061000 fd:02 16783823 /usr/lib64/libpcre.so.1.2.0
7ff89adba000-7ff89adc2000 r-xp 00000000 fd:02 16960199 /usr/lib64/libcrypt-2.17.so
7ff89adc2000-7ff89afc1000 ---p 00008000 fd:02 16960199 /usr/lib64/libcrypt-2.17.so
7ff89afc1000-7ff89afc2000 r--p 00007000 fd:02 16960199 /usr/lib64/libcrypt-2.17.so
7ff89afc2000-7ff89afc3000 rw-p 00008000 fd:02 16960199 /usr/lib64/libcrypt-2.17.so
7ff89afc3000-7ff89aff1000 rw-p 00000000 00:00 0
7ff89aff1000-7ff89b015000 r-xp 00000000 fd:02 16783856 /usr/lib64/libselinux.so.1
7ff89b015000-7ff89b214000 ---p 00024000 fd:02 16783856 /usr/lib64/libselinux.so.1
7ff89b214000-7ff89b215000 r--p 00023000 fd:02 16783856 /usr/lib64/libselinux.so.1
7ff89b215000-7ff89b216000 rw-p 00024000 fd:02 16783856 /usr/lib64/libselinux.so.1
7ff89b216000-7ff89b218000 rw-p 00000000 00:00 0
7ff89b218000-7ff89b252000 r-xp 00000000 fd:02 16784268 /usr/lib64/libnspr4.so
7ff89b252000-7ff89b452000 ---p 0003a000 fd:02 16784268 /usr/lib64/libnspr4.so
7ff89b452000-7ff89b453000 r--p 0003a000 fd:02 16784268 /usr/lib64/libnspr4.so
7ff89b453000-7ff89b455000 rw-p 0003b000 fd:02 16784268 /usr/lib64/libnspr4.so
7ff89b455000-7ff89b457000 rw-p 00000000 00:00 0
7ff89b457000-7ff89b45b000 r-xp 00000000 fd:02 17262190 /usr/lib64/libplc4.so
7ff89b45b000-7ff89b65a000 ---p 00004000 fd:02 17262190 /usr/lib64/libplc4.so
7ff89b65a000-7ff89b65b000 r--p 00003000 fd:02 17262190 /usr/lib64/libplc4.so
7ff89b65b000-7ff89b65c000 rw-p 00004000 fd:02 17262190 /usr/lib64/libplc4.so
7ff89b65c000-7ff89b65f000 r-xp 00000000 fd:02 17262212 /usr/lib64/libplds4.so
7ff89b65f000-7ff89b85e000 ---p 00003000 fd:02 17262212 /usr/lib64/libplds4.so
7ff89b85e000-7ff89b85f000 r--p 00002000 fd:02 17262212 /usr/lib64/libplds4.so
7ff89b85f000-7ff89b860000 rw-p 00003000 fd:02 17262212 /usr/lib64/libplds4.so
7ff89b860000-7ff89b889000 r-xp 00000000 fd:02 17344012 /usr/lib64/libnssutil3.so
7ff89b889000-7ff89ba88000 ---p 00029000 fd:02 17344012 /usr/lib64/libnssutil3.so
7ff89ba88000-7ff89ba8f000 r--p 00028000 fd:02 17344012 /usr/lib64/libnssutil3.so
7ff89ba8f000-7ff89ba90000 rw-p 0002f000 fd:02 17344012 /usr/lib64/libnssutil3.so
7ff89ba90000-7ff89bbc1000 r-xp 00000000 fd:02 17557976 /usr/lib64/libnss3.so
7ff89bbc1000-7ff89bdc1000 ---p 00131000 fd:02 17557976 /usr/lib64/libnss3.so
7ff89bdc1000-7ff89bdc6000 r--p 00131000 fd:02 17557976 /usr/lib64/libnss3.so
7ff89bdc6000-7ff89bdc9000 rw-p 00136000 fd:02 17557976 /usr/lib64/libnss3.so
7ff89bdc9000-7ff89bdca000 rw-p 00000000 00:00 0
7ff89bdca000-7ff89bdef000 r-xp 00000000 fd:02 17557977 /usr/lib64/libsmime3.so
I didn't see anything in the test-suite.log file for that, so that's why
I'm not sure which test triggered it.
A third attempt at make test passed.
I'm not sure if this is any cause for concern. I think we could blame it
on CentOS 7.9 or gcc version 4.8.5 which ships with CentOS 7.9. Should I
open this as an issue?
—
Reply to this email directly, view it on GitHub
<#358 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADS6YG5OFCDNDBCXF64HEDWJFAIVANCNFSM6AAAAAASBN7HGI>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
|
I was able to get libevent (and libboost) installed on my Mac in Some of those configure arguments might be overkill. Regardless, build was clean! But Nothing amiss in test-suite.log. It shows all the tests in |
This also enables a build target on Ubuntu 22.04 with the latest gcc version.
Tested to still work at least as far back as Ubuntu 16.04.
Closes #351