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]