On 2020-Dec-14, at 13:34, Mark Millard <marklmi at yahoo.com> wrote:

> This was on aarch64 doing a build targeting armv7 via poudriere --but might 
> apply to other platforms that by default do not have LLVM's OpenMP runtime:
> 
>    WITHOUT_OPENMP
>             Set to not build LLVM's OpenMP runtime.
> 
>             This is a default setting on arm/armv6, arm/armv7, mips/mips,
>             mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
> 
> # poudriere jail -jFBSDFSSDjailArmV7 -i
> Jail name:         FBSDFSSDjailArmV7
> Jail version:      13.0-CURRENT
> Jail arch:         arm.armv7
> Jail method:       null
> Jail mount:        /usr/obj/DESTDIRs/clang-armv7-installworld-poud
> Jail fs:           
> Jail updated:      2020-04-21 22:39:35
> 
> /usr/obj/DESTDIRs/clang-armv7-installworld-poud is at: head -r368500
> (as is the containing aarch64 environment).
> 
> Apparently, armv7 (at least) requires a manual/explicit OPENMP=off 
> configuration option for math/suitesparse . Is this intentional?
> 
> 
> poudriere reported:
> 
> [02:42:51] [01] [00:00:00] Building math/suitesparse | suitesparse-5.8.1
> [02:46:41] [01] [00:03:50] Saving math/suitesparse | suitesparse-5.8.1 wrkdir
> [02:46:45] [01] [00:03:54] Saved math/suitesparse | suitesparse-5.8.1 wrkdir 
> to: 
> /usr/local/poudriere/data/wrkdirs/FBSDFSSDjailArmV7-default/default/suitesparse-5.8.1.tar
> [02:46:55] [01] [00:04:04] Finished math/suitesparse | suitesparse-5.8.1: 
> Failed: build
> [02:46:59] [01] [00:04:08] Skipping math/eigen3 | eigen-3.3.8: Dependent port 
> math/suitesparse | suitesparse-5.8.1 failed
> [02:46:59] [01] [00:04:08] Skipping multimedia/ffmpeg | ffmpeg-4.3.1_9,1: 
> Dependent port math/suitesparse | suitesparse-5.8.1 failed
> [02:46:59] [01] [00:04:08] Skipping multimedia/gstreamer1-libav | 
> gstreamer1-libav-1.16.2: Dependent port math/suitesparse | suitesparse-5.8.1 
> failed
> [02:46:59] [01] [00:04:08] Skipping multimedia/gstreamer1-plugins-core | 
> gstreamer1-plugins-core-1.16: Dependent port math/suitesparse | 
> suitesparse-5.8.1 failed
> [02:46:59] [01] [00:04:08] Skipping x11/lumina | lumina-1.6.0,3: Dependent 
> port math/suitesparse | suitesparse-5.8.1 failed
> [02:46:59] [01] [00:04:08] Skipping x11/lumina-core | lumina-core-1.6.0: 
> Dependent port math/suitesparse | suitesparse-5.8.1 failed
> [02:46:59] [01] [00:04:08] Skipping graphics/opencv-core | 
> opencv-core-3.4.1_37: Dependent port math/suitesparse | suitesparse-5.8.1 
> failed
> . . .
> [02:48:20] Failed ports: math/suitesparse:build
> [02:48:20] Skipped ports: graphics/opencv-core math/eigen3 multimedia/ffmpeg 
> multimedia/gstreamer1-libav multimedia/gstreamer1-plugins-core x11/lumina 
> x11/lumina-core
> 
> (That last gives a clue what types of things are blocked by the failure.)
> 
> The log showed the -lomp issue:
> 
> . . .
> /usr/local/bin/ranlib libcholmod.a
> /usr/local/bin/ld: cannot find -lomp
> c++: error: linker command failed with exit code 1 (use -v to see invocation)
> gmake[4]: *** [Makefile:544: 
> /wrkdirs/usr/ports/math/suitesparse/work/SuiteSparse-5.8.1/lib/libcholmod.so.3.0.14]
>  Error 1
> gmake[4]: Leaving directory 
> '/wrkdirs/usr/ports/math/suitesparse/work/SuiteSparse-5.8.1/CHOLMOD/Lib'
> gmake[3]: *** [Makefile:31: library] Error 2
> gmake[3]: Leaving directory 
> '/wrkdirs/usr/ports/math/suitesparse/work/SuiteSparse-5.8.1/CHOLMOD/Lib'
> gmake[2]: *** [Makefile:19: library] Error 2
> gmake[2]: Leaving directory 
> '/wrkdirs/usr/ports/math/suitesparse/work/SuiteSparse-5.8.1/CHOLMOD'
> gmake[1]: *** [Makefile:135: library] Error 2
> gmake[1]: Leaving directory 
> '/wrkdirs/usr/ports/math/suitesparse/work/SuiteSparse-5.8.1'
> ===> Compilation failed unexpectedly.
> Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
> the maintainer.
> *** Error code 1
> . . .
> 
> Other context details . . .
> 
> # svnlite info /usr/ports/
> Path: /usr/ports
> Working Copy Root Path: /usr/ports
> URL: svn://svn.freebsd.org/ports/head
> Relative URL: ^/head
> Repository Root: svn://svn.freebsd.org/ports
> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
> Revision: 557893
> Node Kind: directory
> Schedule: normal
> Last Changed Author: manu
> Last Changed Rev: 557893
> Last Changed Date: 2020-12-13 03:53:57 -0800 (Sun, 13 Dec 2020)
> 
> # uname -apKU
> FreeBSD FBSDmacch 13.0-CURRENT FreeBSD 13.0-CURRENT #47 r368500M: Thu Dec 10 
> 03:15:10 PST 2020     
> root@FBSDFHUGE:/usr/obj/cortexA72_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG
>   arm64 aarch64 1300131 1300131
> 


An explicit use of OPTIONS_FILE_UNSET+=OPENMP in the below was sufficient to 
allow the build:

# more 
/usr/local/etc/poudriere.d/FBSDFSSDjailArmV7-options/math_suitesparse/options 
# This file is auto-generated by 'make config'.
# Options for suitesparse-5.8.1
_OPTIONS_READ=suitesparse-5.8.1
_FILE_COMPLETE_OPTIONS_LIST=DEMOS DOCS TBB ATLAS GOTOBLAS NETLIB OPENBLAS
OPTIONS_FILE_UNSET+=DEMOS
OPTIONS_FILE_SET+=DOCS
OPTIONS_FILE_SET+=TBB
OPTIONS_FILE_UNSET+=ATLAS
OPTIONS_FILE_UNSET+=GOTOBLAS
OPTIONS_FILE_UNSET+=NETLIB
OPTIONS_FILE_SET+=OPENBLAS
OPTIONS_FILE_UNSET+=OPENMP

Note that for armv7 config had not even listed OPENMP as an option. Yet 
UNSET'ing it seems to be required for a by-default WITHOUT_OPENMP context in 
order for the build to work.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to