Created attachment 217602 [details] Makefile patch When building lang/ocaml with synth, the package fails to install: Scanning existing packages. progress: 93.07% The task is complete. Final tally: Initial queue size: 1 packages built: 1 ignored: 0 skipped: 0 failed: 0 Duration: 00:04:32 The build logs can be found at: /var/log/synth Would you like to rebuild the local repository (Y/N)? y Stand by, recursively scanning 1 port serially. Scanning existing packages. ocaml-4.05.0_1.txz failed dependency check. Packages validated, rebuilding local repository. Local repository successfully rebuilt Would you like to upgrade your system with the new packages now (Y/N)? y Updating Synth repository catalogue... Fetching meta.conf: 100% 163 B 0.2kB/s 00:01 Fetching packagesite.txz: 100% 168 KiB 172.0kB/s 00:01 Processing entries: 100% Synth repository update completed. 705 packages processed. All repositories are up to date. pkg: No packages available to install matching 'ocaml-4.05.0_1' have been found in the repositories Unfortunately, the system upgraded failed. Build log shows an issue with as: -------------------------------------------------------------------------------- -- Phase: package -------------------------------------------------------------------------------- ===> Building package for ocaml-4.05.0_1 actual-package-depends: dependency on /usr/bin/as not registered (normal if it belongs to base) file sizes/checksums [2433]: .......... done packing files [2433]: .......... done packing directories [1]: . done Replacing "as" in BUILD_DEPENDS and RUN_DEPENDS with "${LOCALBASE}/bin/as" fixes the issue for me.
Running truss -f ocamlopt test.ml |& grep 'exec.*bin/as' results in 59272: execve("/usr/bin/as",0x80072d2e0,0x80072d408) = 0 (0x0) 59273: execve("/usr/bin/as",0x80072d300,0x80072d408) = 0 (0x0) I'm not sure whether ocamlopt uses /usr/local/bin/as from binutils.
Build info is available at https://gitlab.com/swills/freebsd-ports/pipelines/189031628
Ocaml shouldn't need nor use the binutils assembler anymore, with the exception of armv7. So -- as far as I can tell -- this issue is only present on armv7's RUN_DEPENDS now. I wonder what are the reason for synth to not apply the official search path as documented in section 5.10.2 of the porter handbook. Anyway, the armv7 issue should be straightforward to fix. Thanks!