Bug 213088 - java/openjdk8: Build fails during configure
Summary: java/openjdk8: Build fails during configure
Status: Closed DUPLICATE of bug 217846
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-java (Nobody)
URL:
Keywords:
Depends on: 217846
Blocks:
  Show dependency treegraph
 
Reported: 2016-09-29 15:19 UTC by Ben Woods
Modified: 2017-03-25 18:17 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (java)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ben Woods freebsd_committer freebsd_triage 2016-09-29 15:19:30 UTC
On my FreeBSD 12-current amd64 poudriere system, the java/openjdk8 build is failing:

===>  Configuring for openjdk8-8.102.14_1
Warning: You are using legacy autoconf cross-compilation flags.
It is recommended that you use --openjdk-target instead.

Running generated-configure.sh
../../common/autoconf/generated-configure.sh: redirection error: cannot duplicate fd: Bad file descriptor
../../common/autoconf/generated-configure.sh: line 560: 0: Bad file descriptor
configure exiting with result code 1
===>  Script "../../configure" failed unexpectedly.
Please report the problem to java@FreeBSD.org [maintainer] and attach the
"/wrkdirs/usr/ports/java/openjdk8/work/openjdk/common/autoconf/config.log"
including the output of the failure of your make command. Also, it might be
a good idea to provide an overview of all packages installed on your system
(e.g. a /usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1


Some details about my system:
$ uname -a
FreeBSD buildbox 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r305311M: Sat Sep  3 12:29:01 AWST 2016     woodsb02@buildbox:/usr/obj/usr/src/sys/GENERIC-NODEBUG-VIMAGE  amd64


$ dmesg | grep cpu
CPU: Intel(R) Atom(TM) CPU  C2750  @ 2.40GHz (2400.14-MHz K8-class CPU)
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs

$ mount | grep /dev/fd
fdescfs on /dev/fd (fdescfs)
$ mount | grep /proc
procfs on /proc (procfs, local)
Comment 1 Matthew Rezny freebsd_committer freebsd_triage 2017-03-25 06:20:20 UTC
I have recently started seeing the same failure on my 11-STABLE amd64 system. The root cause of the error is not in openjdk8. Numerous ports that use bash during build now fail with "redirection error: cannot duplicate fd: Bad file descriptor". For several ports I was able to simply drop the bash requirement and let /bin/sh be used, but for those that rely on bash syntax, i.e. devel/autogen, I worked around the problem by using zsh instead. zsh is my regular shell and exhibits no problems like bash.

I am not aware of any recent change to bash itself. There was a change I made one week ago that may possibly be related. I removed options COMPAT_LINUX32, LINPROCFS, and LINSYSFS from my kernel config and began loading linux_common.ko, linux.ko, linux64.ko, linprocfs.ko, and linsysfs.ko during boot. So, I now have 64bit Linux emulation and there is a change to the way the 32bit Linux emulation works. I will try reverting the next time I do a kernel build to see if there is any relation. Unfortunately, it is not possible to load linux64.ko when the kernel is built with options COMPAT_LINUX32, and there is no COMPAT_LINUX on amd64, so its either all Linux emu in modules (can't buld LINPROCFS or LINSSYSFS into kernel without LINUX_COMPAT(32)) or 32bit Linux emu only. Fortunately, I don't really need 64bit Linux emulation, I only made the change because Poudriere began refusing to start amd64 jails without loading linux64.ko, but that requirement has been relaxed.
Comment 2 Greg Lewis freebsd_committer freebsd_triage 2017-03-25 18:16:12 UTC
Dupe of https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217846
Comment 3 Greg Lewis freebsd_committer freebsd_triage 2017-03-25 18:17:54 UTC

*** This bug has been marked as a duplicate of bug 217846 ***