I get a reproduceable error while compiling the perl5-5.20.3_15 port for FreeBSD 9.3 amd64. Story: Today I installed a new freebsd-builder machine for building ports using poudriere. Host OS on the builder is FreeBSD 10.3 amd64. On this machine I let poudriere create four build jails: 10.3 amd64 10.1 amd64 9.3 amd64 9.3 i386 In all four jails I compile the same list of ports, where lang/perl5.20 is one of them. The port compiles just fine in three jails, but in the 9.3 amd64 jail, I repeatedly get a "Bus error (core dumped)". Here's a snippet from the logfile: /usr/local/poudriere/data/logs/bulk/93amd64-default/2016-09-27_21h39m31s/logs/perl5-5.20.3_15.log ... ... Checking to see how your cpp does stuff like concatenate tokens... Oh! Smells like ANSI's been here. <db.h> found. Checking Berkeley DB version ... Looks OK. Checking return type needed for hash for Berkeley DB ... Checking return type needed for prefix for Berkeley DB ... Using our internal random number implementation... Checking how to flush all pending stdio output... Your fflush(NULL) works okay for output streams. Let's see if it clobbers input pipes... fflush(NULL) seems to behave okay with input streams. Checking the size of gid_t... Checking the sign of gid_t... Checking how to print 64-bit integers... Checking the format strings to be used for Perl's internal types... Checking the format string to be used for gids... getgroups() found. setgroups() found. What type pointer is the second argument to getgroups() and setgroups()? [gid_t] Build Perl with MAD? [n] Checking if your /usr/bin/make program sets $(MAKE)... mode_t found. Bus error (core dumped) <------------------------------------------------- It seems that va_copy() or similar will be needed. size_t found. What is the type for the 1st argument to gethostbyaddr? [char *] What is the type for the 2nd argument to gethostbyaddr? [size_t] What pager is used on your system? [/usr/bin/less -R] pid_t found. Checking how to generate random libraries on your machine... <values.h> NOT found. ... ...
I'm not sure I understand. Does Perl 5.20 fails to build on 9.3/amd64 for you ?
No, the port gets built, but somewhere, probably during the configure stage, a Bus error is generated. The strange thing is that it only happens in the 9.3 amd64 build jail. Oh well, 9.3 is soon EOL... I just wanted you to know, since "Bus error (core dumped)" doesn't look good in the logs. :)
Oh, ok, this is perfectly normal. The Configure script of Perl, like all the autotools configure scripts, and most hand crafted configure scripts does one thing. And that thing is, try lots of "stuff" to see what works, note which stuff work, and use them afterwards to build the software. When one stuff does not work, it may not be compiling, or not be running, or be crashing, which happens here. Like I said, this is the normal behavior of a configure script.
Sure. It just looks bad when the security team find the string "kernel: pid 56410 (try), uid 0: exited on signal 10 (core dumped)" in the central syslog server, and send Jira tickets, asking me what's going on. :-)
Just tell them that is perfectly normal... :-) Here is an extract from dmesg from one of the FreeBSD package builder: pid 12376 (conftest), uid 0: exited on signal 11 (core dumped) pid 40863 (cc), uid 0: exited on signal 11 (core dumped) pid 4123 (debugfs), uid 0, was killed: exceeded maximum CPU limit pid 98939 (conftest), uid 0: exited on signal 6 (core dumped) pid 8613 (conftest), uid 0: exited on signal 11 (core dumped) pid 38398 (cc), uid 0: exited on signal 11 (core dumped) pid 37017 (conftest), uid 0: exited on signal 6 (core dumped) pid 33599 (cc), uid 0: exited on signal 11 (core dumped) pid 33897 (cc), uid 0: exited on signal 11 (core dumped) pid 34096 (cc), uid 0: exited on signal 11 (core dumped) pid 26237 (gcj-dbtool), uid 0: exited on signal 6 (core dumped) pid 59867 (conftest), uid 0: exited on signal 11 (core dumped) pid 59923 (conftest), uid 0: exited on signal 11 (core dumped)