Opened 22 months ago

Last modified 7 months ago

#57743 assigned defect

db48 +java build fails on MacOS 10.14.1

Reported by: russhousley Owned by: jmroot (Joshua Root)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc:
Port: db48

Description (last modified by mf2k (Frank Schima))

$sudo port upgrade outdated
--->  Building db48
Error: Failed to build db48: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_db48/db48/main.log for details.
Error: Follow to report a bug.
$open /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_db48/db48/main.log

Attachments (1)

main.log (325.7 KB) - added by russhousley 22 months ago.

Download all attachments as: .zip

Change History (8)

Changed 22 months ago by russhousley

Attachment: main.log added


comment:1 Changed 22 months ago by mf2k (Frank Schima)

In the future, please use WikiFormatting and add the port maintainer(s) to Cc (port info --maintainers db48), if any.

comment:2 Changed 22 months ago by mf2k (Frank Schima)

Description: modified (diff)
Owner: set to jmroot
Status: newassigned

comment:3 Changed 22 months ago by danielluke (Daniel J. Luke)

you're building with +java but the build isn't able to find jni.h (do you have a jdk installed?)

comment:4 Changed 22 months ago by jmroot (Joshua Root)

Summary: Building db48 fails on MacOS 10.14.1db48 +java build fails on MacOS 10.14.1

Yeah. I suspect this has not been tested with the 10.14-compatible JDK versions, as +java is only on by default on 10.6 and older. Probably needs to use the java portgroup somehow.

comment:5 Changed 22 months ago by sharris40 (Spencer Harris)

There are actually four separate problems here:

  1. java_home isn't properly checked.
  2. The scripts assume the include subdirectory is genunix, not darwin.
  3. Version detection is broken (because of course it is).
  4. The class files must be built for Java 7 or earlier.

Issues 1-3 are simple patches to dist/configure. Issue 4 can be solved by cross-compiling. While we can just set source and target in JAVACFLAGS, we really should have an rt.jar from Java 7. It would probably be best to add a new port that downloads the Java 7 reference implementation from and extracts the architecture-independent library files somewhere in the prefix, add that port as a build dependency to the java variant, and set the bootclasspath to that rt.jar along with setting source and target to 1.7.

comment:6 Changed 22 months ago by jmroot (Joshua Root)

I am a bit curious as to what users need db48+java for. If there's not a real need for it, I'm inclined to just disable the variant.

comment:7 Changed 7 months ago by kencu (Ken)

it's likely being pulled it when some other port is being asked to install +java, eg Octave.

Note: See TracTickets for help on using tickets.