On 21/11/2025 08:28, Mark Thomas wrote:
On 21/11/2025 02:23, Gary D. Gregory wrote:
+1

Ah! I figured out my Linux issue.

I had a Java 21 JRE instead of a JDK installed. While that JRE includes the compiler, it doesn't include the C headers. So, this is what I did:

sudo apt install openjdk-21-jdk
# My JAVA_HOME is the same
sh support/buildconf.sh
./configure
make

and it worked!

Excellent.


I did get a bunch of compiler warnings though:

Those have been there for the last couple of releases.

I now have a patch to fix these ready to commit locally. I'll apply it after this release process is complete.

Mark


Mark


gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"amd64\" -Wall -Wstrict- prototypes   -I/usr/lib/jvm/java-21-openjdk-amd64/include -I/usr/lib/ jvm/java-21-openjdk-amd64/include/linux -c jsvc-unix.c -o jsvc-unix.o
jsvc-unix.c: In function ‘get_pidf’:
jsvc-unix.c:666:5: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   666 |     lockf(fd, F_LOCK, 0);
       |     ^~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:668:5: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   668 |     lockf(fd, F_ULOCK, 0);
       |     ^~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c: In function ‘wait_child’:
jsvc-unix.c:762:9: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   762 |         lockf(fd, F_LOCK, 0);
       |         ^~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:764:9: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   764 |         lockf(fd, F_ULOCK, 0);
       |         ^~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c: In function ‘set_output’:
jsvc-unix.c:1064:9: warning: ignoring return value of ‘freopen’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  1064 |         freopen("/dev/null", "r", stdin);
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:1075:9: warning: ignoring return value of ‘freopen’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  1075 |         freopen("/dev/null", "a", stdout);
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:1093:9: warning: ignoring return value of ‘freopen’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  1093 |         freopen("/dev/null", "a", stderr);
       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c: In function ‘check_pid’:
jsvc-unix.c:592:9: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   592 |         lockf(fd, F_LOCK, 0);
       |         ^~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:599:17: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   599 |                 lockf(fd, F_ULOCK, 0);
       |                 ^~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:609:9: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   609 |         lockf(fd, F_ULOCK, 0);
       |         ^~~~~~~~~~~~~~~~~~~~~
jsvc-unix.c: In function ‘remove_pid_file’:
jsvc-unix.c:628:5: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   628 |     lockf(fd, F_LOCK, 0);
       |     ^~~~~~~~~~~~~~~~~~~~
jsvc-unix.c:646:5: warning: ignoring return value of ‘lockf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   646 |     lockf(fd, F_ULOCK, 0);
       |     ^~~~~~~~~~~~~~~~~~~~~

Then './jsvc -help' prints the proper help.

Gary




On 2025/11/20 20:40:30 "Gary D. Gregory" wrote:
Hi Mark, Windows looks good. I couldn't build on Linux (see below).

I tested the src zip file https://dist.apache.org/repos/dist/dev/ commons/daemon/1.5.0-RC3/source/commons-daemon-1.5.0-src.zip

Windows 11; Microsoft Windows [Version 10.0.26100.6899]

Maven build of default goal OK using:

Apache Maven 3.9.11 (3e54c93a704957b63ee3494413a2b544fd3d825b)
Maven home: C:\java\apache-maven-3.9.11
Java version: 17.0.16, vendor: Eclipse Adoptium, runtime: C:\Program Files\Eclipse Adoptium\jdk-17.0.16.8-hotspot
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"

On Windows: nmake build of both apps OK using;

nmake: Microsoft (R) Program Maintenance Utility Version 14.50.35718.0
cl: Microsoft (R) C/C++ Optimizing Compiler Version 19.50.35718 for x64
link: Microsoft (R) Incremental Linker Version 14.50.35718.0

--

Linux: Linux RS-PF4XYEGD 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun  5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Oddly, I couldn't build with Maven and Java 21:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven- compiler-plugin:3.14.1:compile (default-compile) on project commons- daemon: Fatal error compiling: error: release version 8 not supported -> [Help 1]

In src/native/unix, is something is missing from INSTALL.txt? Running "make" solo doesn't work, but "make -f Makefile.in" almost does:

make -f Makefile.in
(cd native; make  all)
make[1]: Entering directory '/mnt/c/test/commons-daemon-1.5.0-src/ src/native/unix/native'
make[1]: *** No rule to make target 'all'.  Stop.
make[1]: Leaving directory '/mnt/c/test/commons-daemon-1.5.0-src/src/ native/unix/native'
make: *** [Makefile.in:23: native/all] Error 2

Using:

make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/ gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gcc --version
gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I installed make and gcc (new laptop), am I missing other tools?
I started the my review with a "export JAVA_HOME=/usr/lib/jvm/ java-21-openjdk-amd64" and I ran "sh support/buildconf.sh"

Any ideas?

TY,
Gary


On 2025/11/20 17:00:00 Mark Thomas wrote:
We have fixed a few bugs and added enhancements since Apache Commons
Daemon 1.4.1 was released, so I would like to release Apache Commons
Daemon 1.5.0.

Apache Commons Daemon 1.5.0 RC3 is available for review here:
      https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3
(svn revision 80878)

The Git tag commons-daemon-1.5.0-RC3 commit for this RC is
11a6b3ba70da799cc1c761b32ff707f55cf1b17c which you can browse here:
https://gitbox.apache.org/repos/asf?p=commons- daemon.git;a=commit;h=11a6b3ba70da799cc1c761b32ff707f55cf1b17c
You may checkout this tag using:
      git clone https://gitbox.apache.org/repos/asf/commons-daemon.git
--branch commons-daemon-1.5.0-RC3 commons-daemon-1.5.0-RC3

Maven artifacts are here:
https://repository.apache.org/content/repositories/ orgapachecommons-1883/commons-daemon/commons-daemon/1.5.0/

These are the artifacts and their hashes:

commons- daemon-1.5.0.jar=072dabbc1d0708c6ae0eacec9c13deb7ac12894d7ced6e87d9a9df31de40a0d1bd8ba40bc338548821b86d4b9475c781338a02a5cdc6ae709a43e8a5f6515174 commons-daemon-1.5.0- bin.tar.gz=2b6365d3301b2bdf71851aa1be8b09f46b082ad93a564fbd1e64d69ad7f607807c45813fad182138150ea69fd231cd3b4812601ce011f42bd145979c005dca1b commons-daemon-1.5.0- bin.zip=47d44a400f43dbb19478d052a442313d20ff82ab5757aad9edfa6a0beeb53b54f4d0babda36aef215579a717a7f3411a39c52048a405597b436050d914663d03 commons-daemon-1.5.0-bin- windows.zip=e5d4d94e350d44ca2c9f34f65439bbc663b9d4df6edda10c83d3c8a76522bd3881cb4523152739369c89ec9bdc672c9b456d46ed72e12c366d6be8ba4619575d commons-daemon-1.5.0-native- src.tar.gz=8b3c22912b2fb87e5b8452f62e40d9ca328d33e5ea4db66e32139c341772e8147de300958d2e32b7a6289f0e2f3eb1e2114f10f6dc5c74232cd9f6fa2177a1f8 commons-daemon-1.5.0-native- src.zip=987757a2551252aaf68ca2ddfbe531b16d1d02030c4ec513122c841d0c7331be3fc0d64c029525f346c1d47bf5fb15707d77095782b4b763f08d14fbff737341 commons-daemon-1.5.0- src.tar.gz=310443f4bf15357fd5c607ce1fa3cde4a3b3d70a75e7fccd9fabff6243537b220bde5515a8a741c133d85fd5cedecc08ac0d2b0ff2ed66c9de9fe78e5ec0bbb6 commons-daemon-1.5.0- src.zip=8799990d4bcb9a04ed0a006a64534ab06033c2fc8cb3c5bbc4c9453f5822858880af545fab2e32714684237640cac269d6dd86917e46bec26d82346c5048148f


I have tested this with 'mvn' and 'mvn clean install site' using:
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Java version: 1.8.0_462, vendor: Temurin
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "6.8.0-87-generic", arch: "amd64", family: "unix"

Details of changes since 1.4.1 are in the release notes:
https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3/ RELEASE-NOTES.txt https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3/ site/changes.html

Site:
https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3/ site/index.html
      (note some *relative* links are broken and the 1.5.0 directories
are not yet created - these will be OK once the site is deployed.)

https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3/ site/japicmp.html

RAT Report:
https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3/ site/rat-report.html

KEYS:
    https://downloads.apache.org/commons/KEYS

Please review the release candidate and vote.
This vote will close no sooner than 72 hours from now.

    [ ] +1 Release these artifacts
    [ ] +0 OK, but...
    [ ] -0 OK, but really should fix...
    [ ] -1 I oppose this release because...

Thank you,

Mark Thomas,
Release Manager (using key 10C01C5A2F6059E7)


The following is intended as a helper and refresher for reviewers.

Validating a release candidate
==============================

These guidelines are NOT complete.

Requirements: Git, Java, and Maven.

You can validate a release from a release candidate (RC) tag as follows.

1a) Download and decompress the source archive from:

https://dist.apache.org/repos/dist/dev/commons/daemon/1.5.0-RC3/source

1b) Check out the RC tag from git (optional)

This is optional, as a reviewer must check source distributions as a
minimum.

git clone https://gitbox.apache.org/repos/asf/commons-daemon.git
--branch commons-daemon-1.5.0-RC3 commons-daemon-1.5.0-RC3
cd commons-daemon-1.5.0-RC3

2) Checking the build

All components should include a default Maven goal, such that you can
run 'mvn' from the command line by itself.

2) Check Apache licenses

This step is not required if the site includes a RAT report page which
you then must check.
This check should be included in the default Maven build, but you can
check it with:

mvn apache-rat:check

3) Check binary compatibility

This step is not required if the site includes a JApiCmp report page
which you then must check.
This check should be included in the default Maven build, but you can
check it with:

mvn verify -DskipTests -P japicmp japicmp:cmp

4) Build the package

This check should be included in the default Maven build, but you can
check it with:

mvn -V clean package

You can record the Maven and Java version produced by -V in your VOTE reply.
To gather OS information from a command line:
Windows: ver
Linux: uname -a

4b) Check reproducibility

To check that a build is reproducible, run:

mvn clean verify artifact:compare -DskipTests
-Dreference.repo=https://repository.apache.org/content/repositories/ staging/
'-Dbuildinfo.ignore=*/*.spdx.json'

Note that this excludes SPDX files from the check.

5) Build the site for a single module project

Note: Some plugins require the components to be installed instead of
packaged.

mvn site
Check the site reports in:
- Windows: target\site\index.html
- Linux: target/site/index.html

6) Build the site for a multi-module project

mvn site
mvn site:stage
Check the site reports in:
- Windows: target\site\index.html
- Linux: target/site/index.html

Note that the project reports are created for each module.
Modules can be accessed using the 'Project Modules' link under
the 'Project Information' menu (see <path-to-site>/modules.html).

-the end-

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to