Hi Mark, I think some of the problems I am running into are due to building over and over and "nmake clean" not working properly, I'm not sure, see below. Maybe you can clarify what I could be missing.
I am on Windows 10 (ver = Microsoft Windows [Version 10.0.19045.5247]) For prunmgr, I can build X86, X64, with and without Hybrid, EXCEPT: nmake clean nmake CPU=X86 STATIC_CRT=Hybrid Microsoft (R) Program Maintenance Utility Version 14.41.34120.0 Copyright (C) Microsoft Corporation. All rights reserved. link.exe /NOLOGO /SUBSYSTEM:WINDOWS /MACHINE:X86 /INCREMENTAL:NO /DEBUG /OPT:REF /guard:cf /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib /version:1.0 /DYNAMICBASE /NXCOMPAT WIN10_X86_GUI_RELEASE\cmdline.obj WIN10_X86_GUI_RELEASE\console.obj WIN10_X86_GUI_RELEASE\gui.obj WIN10_X86_GUI_RELEASE\handles.obj WIN10_X86_GUI_RELEASE\javajni.obj WIN10_X86_GUI_RELEASE\log.obj WIN10_X86_GUI_RELEASE\mclib.obj WIN10_X86_GUI_RELEASE\registry.obj WIN10_X86_GUI_RELEASE\rprocess.obj WIN10_X86_GUI_RELEASE\security.obj WIN10_X86_GUI_RELEASE\service.obj WIN10_X86_GUI_RELEASE\utils.obj WIN10_X86_GUI_RELEASE\prunmgr.obj WIN10_X86_GUI_RELEASE\prunmgr.res kernel32.lib advapi32.lib ole32.lib shell32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib comctl32.lib shlwapi.lib /pdb:WIN10_X86_GUI_RELEASE\prunmgr.pdb /out:WIN10_X86_GUI_RELEASE\prunmgr.exe WIN10_X86_GUI_RELEASE\cmdline.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86' NMAKE : fatal error U1077: 'link.exe /NOLOGO /SUBSYSTEM:WINDOWS /MACHINE:X86 /INCREMENTAL:NO /DEBUG /OPT:REF /guard:cf /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib /version:1.0 /DYNAMICBASE /NXCOMPAT WIN10_X86_GUI_RELEASE\cmdline.obj WIN10_X86_GUI_RELEASE\console.obj WIN10_X86_GUI_RELEASE\gui.obj WIN10_X86_GUI_RELEASE\handles.obj WIN10_X86_GUI_RELEASE\javajni.obj WIN10_X86_GUI_RELEASE\log.obj WIN10_X86_GUI_RELEASE\mclib.obj WIN10_X86_GUI_RELEASE\registry.obj WIN10_X86_GUI_RELEASE\rprocess.obj WIN10_X86_GUI_RELEASE\security.obj WIN10_X86_GUI_RELEASE\service.obj WIN10_X86_GUI_RELEASE\utils.obj WIN10_X86_GUI_RELEASE\prunmgr.obj WIN10_X86_GUI_RELEASE\prunmgr.res kernel32.lib advapi32.lib ole32.lib shell32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib comctl32.lib shlwapi.lib /pdb:WIN10_X86_GUI_RELEASE\prunmgr.pdb /out:WIN10_X86_GUI_RELEASE\prunmgr.exe' : return code '0x458' Stop. Maybe something is not getting cleaned? The X64 is OK though: nmake clean nmake CPU=X64 STATIC_CRT=Hybrid Same issue with prunsrv: C:\tmp\commons-daemon-1.4.1-src\src\native\windows\apps\prunsrv>nmake clean && nmake CPU=X86 STATIC_CRT=Hybrid Microsoft (R) Program Maintenance Utility Version 14.41.34120.0 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Program Maintenance Utility Version 14.41.34120.0 Copyright (C) Microsoft Corporation. All rights reserved. link.exe /NOLOGO /SUBSYSTEM:CONSOLE /MACHINE:X86 /INCREMENTAL:NO /DEBUG /OPT:REF /guard:cf /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib /stack:0x64000 /version:1.0 /DYNAMICBASE /NXCOMPAT WIN10_X86_EXE_RELEASE\cmdline.obj WIN10_X86_EXE_RELEASE\console.obj WIN10_X86_EXE_RELEASE\gui.obj WIN10_X86_EXE_RELEASE\handles.obj WIN10_X86_EXE_RELEASE\javajni.obj WIN10_X86_EXE_RELEASE\log.obj WIN10_X86_EXE_RELEASE\mclib.obj WIN10_X86_EXE_RELEASE\registry.obj WIN10_X86_EXE_RELEASE\rprocess.obj WIN10_X86_EXE_RELEASE\security.obj WIN10_X86_EXE_RELEASE\service.obj WIN10_X86_EXE_RELEASE\utils.obj WIN10_X86_EXE_RELEASE\prunsrv.obj WIN10_X86_EXE_RELEASE\prunsrv.res kernel32.lib advapi32.lib ole32.lib shell32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib comctl32.lib shlwapi.lib /pdb:WIN10_X86_EXE_RELEASE\prunsrv.pdb /out:WIN10_X86_EXE_RELEASE\prunsrv.exe WIN10_X86_EXE_RELEASE\cmdline.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86' NMAKE : fatal error U1077: 'link.exe /NOLOGO /SUBSYSTEM:CONSOLE /MACHINE:X86 /INCREMENTAL:NO /DEBUG /OPT:REF /guard:cf /NODEFAULTLIB:libucrt.lib /DEFAULTLIB:ucrt.lib /stack:0x64000 /version:1.0 /DYNAMICBASE /NXCOMPAT WIN10_X86_EXE_RELEASE\cmdline.obj WIN10_X86_EXE_RELEASE\console.obj WIN10_X86_EXE_RELEASE\gui.obj WIN10_X86_EXE_RELEASE\handles.obj WIN10_X86_EXE_RELEASE\javajni.obj WIN10_X86_EXE_RELEASE\log.obj WIN10_X86_EXE_RELEASE\mclib.obj WIN10_X86_EXE_RELEASE\registry.obj WIN10_X86_EXE_RELEASE\rprocess.obj WIN10_X86_EXE_RELEASE\security.obj WIN10_X86_EXE_RELEASE\service.obj WIN10_X86_EXE_RELEASE\utils.obj WIN10_X86_EXE_RELEASE\prunsrv.obj WIN10_X86_EXE_RELEASE\prunsrv.res kernel32.lib advapi32.lib ole32.lib shell32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib comctl32.lib shlwapi.lib /pdb:WIN10_X86_EXE_RELEASE\prunsrv.pdb /out:WIN10_X86_EXE_RELEASE\prunsrv.exe' : return code '0x458' In addition, a plain X86 build fails: C:\tmp\commons-daemon-1.4.1-src\src\native\windows\apps\prunsrv>nmake clean && nmake CPU=X86 Microsoft (R) Program Maintenance Utility Version 14.41.34120.0 Copyright (C) Microsoft Corporation. All rights reserved. Microsoft (R) Program Maintenance Utility Version 14.41.34120.0 Copyright (C) Microsoft Corporation. All rights reserved. link.exe /NOLOGO /SUBSYSTEM:CONSOLE /MACHINE:X86 /INCREMENTAL:NO /DEBUG /OPT:REF /guard:cf /stack:0x64000 /version:1.0 /DYNAMICBASE /NXCOMPAT WIN10_X86_EXE_RELEASE\cmdline.obj WIN10_X86_EXE_RELEASE\console.obj WIN10_X86_EXE_RELEASE\gui.obj WIN10_X86_EXE_RELEASE\handles.obj WIN10_X86_EXE_RELEASE\javajni.obj WIN10_X86_EXE_RELEASE\log.obj WIN10_X86_EXE_RELEASE\mclib.obj WIN10_X86_EXE_RELEASE\registry.obj WIN10_X86_EXE_RELEASE\rprocess.obj WIN10_X86_EXE_RELEASE\security.obj WIN10_X86_EXE_RELEASE\service.obj WIN10_X86_EXE_RELEASE\utils.obj WIN10_X86_EXE_RELEASE\prunsrv.obj WIN10_X86_EXE_RELEASE\prunsrv.res kernel32.lib advapi32.lib ole32.lib shell32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib comctl32.lib shlwapi.lib /pdb:WIN10_X86_EXE_RELEASE\prunsrv.pdb /out:WIN10_X86_EXE_RELEASE\prunsrv.exe WIN10_X86_EXE_RELEASE\cmdline.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86' NMAKE : fatal error U1077: 'link.exe /NOLOGO /SUBSYSTEM:CONSOLE /MACHINE:X86 /INCREMENTAL:NO /DEBUG /OPT:REF /guard:cf /stack:0x64000 /version:1.0 /DYNAMICBASE /NXCOMPAT WIN10_X86_EXE_RELEASE\cmdline.obj WIN10_X86_EXE_RELEASE\console.obj WIN10_X86_EXE_RELEASE\gui.obj WIN10_X86_EXE_RELEASE\handles.obj WIN10_X86_EXE_RELEASE\javajni.obj WIN10_X86_EXE_RELEASE\log.obj WIN10_X86_EXE_RELEASE\mclib.obj WIN10_X86_EXE_RELEASE\registry.obj WIN10_X86_EXE_RELEASE\rprocess.obj WIN10_X86_EXE_RELEASE\security.obj WIN10_X86_EXE_RELEASE\service.obj WIN10_X86_EXE_RELEASE\utils.obj WIN10_X86_EXE_RELEASE\prunsrv.obj WIN10_X86_EXE_RELEASE\prunsrv.res kernel32.lib advapi32.lib ole32.lib shell32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib comctl32.lib shlwapi.lib /pdb:WIN10_X86_EXE_RELEASE\prunsrv.pdb /out:WIN10_X86_EXE_RELEASE\prunsrv.exe' : return code '0x458' My tool chain: nmake: Microsoft (R) Program Maintenance Utility Version 14.41.34120.0 cl: Microsoft (R) C/C++ Optimizing Compiler Version 19.41.34120 for x64 link: Microsoft (R) Incremental Linker Version 14.41.34120.0 VS 2022 says my build tools are at 16.11.40 and the current version is 16.11.42, not sure that matters. Gary On 2025/01/07 17:35:48 Gary Gregory wrote: > HI Mark, > > After "brew install automake", I was able to "sh support/buildconf.sh" > which gave me: > > aclocal: warning: autoconf input should be named 'configure.ac', not > 'configure.in' > ./support/apfunctions.m4:18: warning: underquoted definition of AP_MSG_HEADER > ./support/apfunctions.m4:18: run info Automake 'Extending aclocal' > ./support/apfunctions.m4:18: or see > https://www.gnu.org/software/automake/manual/automake.html#Extending-aclocal > support/buildconf.sh: configure script generated successfully > > Then it worked with "make" giving 3 warnings: > > arguments.c:453:5: warning: switch condition has boolean value [-Wswitch-bool] > 453 | switch (par) { > | ^ ~~~ > arguments.c:464:5: warning: switch condition has boolean value [-Wswitch-bool] > 464 | switch (par) { > | ^ ~~~ > arguments.c:475:5: warning: switch condition has boolean value [-Wswitch-bool] > 475 | switch (par) { > | ^ ~~~ > 3 warnings generated. > > Then I was also able to build the 64-binaries but not the fat binaries > (I must be missing something) > > I will try Windows next. > > Gary. > > On Tue, Jan 7, 2025 at 12:22 PM Mark Thomas <ma...@apache.org> wrote: > > > > On 07/01/2025 15:59, Gary Gregory wrote: > > > Hi Mark, > > > > > > I tested the src zip file, on macOS, when I run: > > > > > > sh support/buildconf.sh > > > > > > I get: > > > > > > support/buildconf.sh: line 22: autoreconf: command not found > > > support/buildconf.sh: cannot generate configure script > > > > > > I have gcc installed (Apple clang version 16.0.0 (clang-1600.0.26.6)), > > > so an unlisted requirement is "autoreconf". I installed "brew install > > > autoconf". > > > > src/native/unix/install lists autoconf as a requirement > > > > > Then, I get: > > > > > > sh support/buildconf.sh > > > autoreconf: warning: autoconf input should be named 'configure.ac', > > > not 'configure.in' > > > > That warning is harmless but has been fixed for the next release as I > > saw it too when I was building RC1. > > > > > Can't exec "aclocal": No such file or directory at > > > /opt/homebrew/Cellar/autoconf/2.72/share/autoconf/Autom4te/FileUtils.pm > > > line 299. > > > autoreconf: error: aclocal failed with exit status: 2 > > > support/buildconf.sh: cannot generate configure script > > > > Looks like this issue: > > https://github.com/Homebrew/homebrew-core/issues/21125 > > > > Updating the docs to state automake is required rather than autoconf > > will probably save a few folks some Googling. > > > > > When I try it from the HEAD of git master, I get: > > > > > > Can't exec "aclocal": No such file or directory at > > > /opt/homebrew/Cellar/autoconf/2.72/share/autoconf/Autom4te/FileUtils.pm > > > line 299. > > > autoreconf: error: aclocal failed with exit status: 2 > > > support/buildconf.sh: cannot generate configure script > > > > > > Any ideas? If macOS isn't supported, it would be nice to say that in > > > unix/INSTALL.txt > > > > > > Please let me know. > > > > I'll update the INSTALL.txt to refer to to automake rather than autoconf. > > > > Let me know if you think that requires a new RC. > > > > Mark > > > > > > > -- > > > On the Java side: I tested the src zip file: > > > > > > - SHA512 OK > > > - ASC OK > > > - mvn clean verify > > > > > > The above succeeds on: > > > > > > openjdk version "11.0.25" 2024-10-15 > > > OpenJDK Runtime Environment Homebrew (build 11.0.25+0) > > > OpenJDK 64-Bit Server VM Homebrew (build 11.0.25+0, mixed mode) > > > > > > openjdk version "17.0.13" 2024-10-15 > > > OpenJDK Runtime Environment Homebrew (build 17.0.13+0) > > > OpenJDK 64-Bit Server VM Homebrew (build 17.0.13+0, mixed mode, sharing) > > > > > > openjdk version "21.0.5" 2024-10-15 > > > OpenJDK Runtime Environment Homebrew (build 21.0.5) > > > OpenJDK 64-Bit Server VM Homebrew (build 21.0.5, mixed mode, sharing) > > > > > > openjdk version "23.0.1" 2024-10-15 > > > OpenJDK Runtime Environment Homebrew (build 23.0.1) > > > OpenJDK 64-Bit Server VM Homebrew (build 23.0.1, mixed mode, sharing) > > > > > > Maven: > > > > > > Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937) > > > Maven home: /opt/homebrew/Cellar/maven/3.9.9/libexec > > > Java version: 17.0.13, vendor: Homebrew, runtime: > > > /opt/homebrew/Cellar/openjdk@17/17.0.13/libexec/openjdk.jdk/Contents/Home > > > Default locale: en_US, platform encoding: UTF-8 > > > OS name: "mac os x", version: "15.2", arch: "aarch64", family: "mac" > > > > > > Darwin ****.local 24.2.0 Darwin Kernel Version 24.2.0: Fri Dec 6 > > > 19:03:40 PST 2024; root:xnu-11215.61.5~2/RELEASE_ARM64_T6041 arm64 > > > Docker version 27.3.1, build ce12230 > > > > > > On Tue, Jan 7, 2025 at 10:21 AM Mark Thomas <ma...@apache.org> wrote: > > >> > > >> We have fixed a few bugs and added enhancements since Apache Commons > > >> Daemon 1.4.0 was released, so I would like to release Apache Commons > > >> Daemon 1.4.1. > > >> > > >> Apache Commons Daemon 1.4.1 RC1 is available for review here: > > >> https://dist.apache.org/repos/dist/dev/commons/daemon/1.4.1-RC1 > > >> (svn revision 74028) > > >> > > >> The Git tag commons-daemon-1.4.1-RC1 commit for this RC is > > >> 067ee7f609ad25c90fb1c0ff6ad049f33b2ed387 which you can browse here: > > >> > > >> https://gitbox.apache.org/repos/asf?p=commons-daemon.git;a=commit;h=067ee7f609ad25c90fb1c0ff6ad049f33b2ed387 > > >> You may checkout this tag using: > > >> git clone https://gitbox.apache.org/repos/asf/commons-daemon.git > > >> --branch commons-daemon-1.4.1-RC1 commons-daemon-1.4.1-RC1 > > >> > > >> Maven artifacts are here: > > >> > > >> https://repository.apache.org/content/repositories/orgapachecommons-1799/commons-daemon/commons-daemon/1.4.1/ > > >> > > >> These are the artifacts and their hashes: > > >> > > >> #Release SHA-512s > > >> #Tue Jan 07 14:42:59 GMT 2025 > > >> commons-daemon-1.4.1-bin-windows.zip=b8eeea01dbca495780e61db26776eab1561990d54499202bcb5d97c9f49e194ebc40002fabbaf74b5334481a2f42f80df5132efd0671632074df83759e04484a > > >> commons-daemon-1.4.1-bin.tar.gz=6e1e590d1b25b1c543b7e149748b25b7a200a20a70d490b1f2628ce808dd9da170d33c62b57421bdf7db0a9e0ac1df7f67de5e9ea4e70d500ec97ff7e6662e6a > > >> commons-daemon-1.4.1-bin.zip=bc9f1f27c450556893b738e4ff1068c5289be56c2fc333abbe418abe42a039e1e8677608b54e4514d7fa82d220060c35c8492c23cd73515f961fc5091c8ec43f > > >> commons-daemon-1.4.1-bom.json=d6a6877f3714a2ebd87d7601cf17bfeff03c7be68a8e14ef9ad6f4766b95a327f980e7c141eee0f6eb2353d67c1f873d41679088f363b8f796620ea81924999a > > >> commons-daemon-1.4.1-bom.xml=f1faf168562749df30d268ab50d36c77b675d78d181d595c15f1de5fde5ffb1645ab183fe03524885a89465ec3fb8bfea983f4bb1b2d4c50b579bb08806646a7 > > >> commons-daemon-1.4.1-javadoc.jar=ac426d6eb10fa88f61e22ab039abd13f244db4687481cdc97bc42d4f1ae0534251eeb500b95d042d44939e5466aff924d68c6499a20a392fdf91da74519bd4c3 > > >> commons-daemon-1.4.1-native-src.tar.gz=578002ddd6d1a63488b9920b848d839cab39fca58c1e208b929b5c327590ca63c5878cd5280d2a2006191a8e81d93e5ca07414f6f6f4a72669352df72a5977b1 > > >> commons-daemon-1.4.1-native-src.zip=2e957e7b762b0031a6cea90d737037b0ede72e0d24573ad358a4fc7ba138e0ef1b7fd1a039543a96b0037120088c09a89737967619df6d202b2863703f146cbd > > >> commons-daemon-1.4.1-sources.jar=55dbeb7b0dd8474a786d20b336cd86cb767692f1fd6b476c33e45f8c66adb85596d7f1b303bd9a039fe5939270fef198697347bf646574a32aa5e478d51ee5c7 > > >> commons-daemon-1.4.1-src.tar.gz=948d176922e3d7d0843e9e8d6bdba653b367b3d4d87dc96e600bfe6a8721c1d813584116773e4a32740424e276b93c1808e0b644ee79e21b23b23d1b08b5569a > > >> commons-daemon-1.4.1-src.zip=b18eec0a2937d52b14ee468d42b8d0a3e317d6de181377fee38b9f6d87e3151188563e4630f364ac44ccbb080c16f0bdd2c8e1f243efcd34111ce182a2f3b573 > > >> commons-daemon_commons-daemon-1.4.1.spdx.json=957ab7bd230f6d6f401be67e50dad3cead32139f001156d57e46521c367c48c5dd579b3a01f3c8b2ca6bf735682018e8f88dc3c5247e9a8f82bd3d0345e2eb69 > > >> > > >> > > >> 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) > > >> > > >> For following is intended as a helper and refresher for reviewers. > > >> > > >> Validating a release candidate > > >> ============================== > > >> > > >> These guidelines are NOT complete. > > >> > > >> Requirements: Git, Java, Maven. > > >> > > >> You can validate a release from a release candidate (RC) tag as follows. > > >> > > >> 1a) Clone and checkout the RC tag > > >> > > >> git clone https://gitbox.apache.org/repos/asf/commons-daemon.git > > >> --branch commons-daemon-1.4.1-RC1 commons-daemon-1.4.1-RC1 > > >> cd commons-daemon-1.4.1-RC1 > > >> > > >> 1b) Download and unpack the source archive from: > > >> > > >> https://dist.apache.org/repos/dist/dev/commons/daemon/1.4.1-RC1/source > > >> > > >> 2) Check Apache licenses > > >> > > >> This step is not required if the site includes a RAT report page which > > >> you then must check. > > >> > > >> mvn apache-rat:check > > >> > > >> 3) Check binary compatibility > > >> > > >> Older components still use Apache Clirr: > > >> > > >> This step is not required if the site includes a Clirr report page which > > >> you then must check. > > >> > > >> mvn clirr:check > > >> > > >> Newer components use JApiCmp with the japicmp Maven Profile: > > >> > > >> This step is not required if the site includes a JApiCmp report page > > >> which you then must check. > > >> > > >> mvn install -DskipTests -P japicmp japicmp:cmp > > >> > > >> 4) Build the package > > >> > > >> 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 > > >> > > >> 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). > > >> > > >> --------------------------------------------------------------------- > > >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > >> For additional commands, e-mail: dev-h...@commons.apache.org > > >> > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > > For additional commands, e-mail: dev-h...@commons.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org