Need to build spooles library before CalculiX-ccx: pre-build { set cflags "${configure.cflags} [get_canonical_archflags cc]" set ldflags "${configure.ldflags} [get_canonical_archflags ld]" # workaround for Rank mismatch between actual argument set ver [regsub -all {[[:alpha:]]+} ${compilers.gcc_default} {}]
if { ${ver} >= 10 } { set fflags "${configure.fflags} [get_canonical_archflags fc] -fallow-argument-mismatch" } else { set fflags "${configure.fflags} [get_canonical_archflags fc]" } set args "CFLAGS=${cflags} FFLAGS=${fflags} LDFLAGS=${ldflags}" build.args-append ${args} # Build serial spooles library ui_info "Building spooles" system -W ${workpath}/spooles.2.2 "${args} ${build.cmd} lib" # Extend library with multi-threading (MT) subroutines system -W ${workpath}/spooles.2.2/MT/src "${args} ${build.cmd} makeLib" } :info:build Building spooles :debug:build system -W /opt/local/var/macports/build/_Users_marbre_ports_cad_CalculiX-ccx/CalculiX-ccx/work/spooles.2.2: CFLAGS=-Os -arch x86_64 FFLAGS=-Os -m64 -fallow-argument-mismatch LDFLAGS=-L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-rpath,/opt/local/lib/libgcc -arch x86_64 /usr/bin/make lib :info:build sh: -arch: command not found It worked when I patched the makefile with the flags, but these should probably be passed at build. What did I miss? Mark Brethen mark.bret...@gmail.com > On Jul 30, 2022, at 11:40 AM, Chris Jones <jon...@hep.phy.cam.ac.uk> wrote: > > > >> On 30 Jul 2022, at 5:11 pm, Mark Brethen <mark.bret...@gmail.com> wrote: >> >> Now that I think about it, a subport would not work since the ccx makefile >> expects spooles.a in its workpath. > > No, it would still be perfectly fine. Just make the subport a build > dependency, and then pre-build just copy the static library from wherever the > subport installs it, to where ever it needs to be in the work path. Ugly, it > would be better to just point the makefile at the installed lib, but if it > really has to have it in a certain place that can be accommodated. > >> >> >> Mark Brethen >> mark.bret...@gmail.com <mailto:mark.bret...@gmail.com> >> >> >> >>> On Jul 30, 2022, at 11:01 AM, Mark Brethen <mark.bret...@gmail.com >>> <mailto:mark.bret...@gmail.com>> wrote: >>> >>> For the basic installation of CalculiX-ccx the library spooles.a with the >>> single- and multi-threading (MT) routines of SPOOLES is required. Currently >>> I have defined a pre-build phase for spooles, although a subport could >>> work.There are some entries in its makefile that will need to be patched: >>> >>> # >>> #--------------------------------------------------------------------- >>> # >>> # MPI install library >>> # >>> # MPI_INSTALL_DIR = >>> MPI_INSTALL_DIR = /usr/local/mpich-1.0.13 >>> # >>> #--------------------------------------------------------------------- >>> # >>> # MPI library path >>> # >>> # for sgi >>> # >>> # MPI_LIB_PATH = >>> # >>> # for solaris >>> # >>> MPI_LIB_PATH = -L$(MPI_INSTALL_DIR)/lib/solaris/ch_p4 >>> # >>> # for hp >>> # >>> # MPI_LIB_PATH = >>> # >>> #--------------------------------------------------------------------- >>> # >>> # MPI libraries >>> # >>> # for solaris >>> # >>> MPI_LIBS = $(MPI_LIB_PATH) -D_REENTRANT -lmpi -lsocket -lnsl -lthread >>> # >>> # for sgi >>> # >>> # MPI_LIBS = $(MPI_LIB_PATH) -lmpi -lpthread >>> # >>> # for hp >>> # MPI_LIBS = -lpthread >>> # MPI_LIBS = $(MPI_LIB_PATH) -lpthread >>> # >>> #--------------------------------------------------------------------- >>> # >>> # MPI include path >>> # >>> # MPI_INCLUDE_DIR = >>> MPI_INCLUDE_DIR = -I$(MPI_INSTALL_DIR)/include >>> # >>> #--------------------------------------------------------------------- >>> >>> The spooles.a library source is packaged with ccx and static linked. Would >>> a build dependency on mpich suffice? >>> >>> Thanks, >>> Mark >>> >>> >>> >>