As the source does not use configure, I pass the compiler args: pre-build { build.args-append CXX=${configure.cxx} \ CC=${configure.cc} }
For reasons I don’t understand, If I don’t put it in a pre-build override it’s ignored. Mark Brethen mark.bret...@gmail.com > On Jul 27, 2022, at 7:30 AM, Chris Jones <jon...@hep.phy.cam.ac.uk> wrote: > > > > On 27/07/2022 1:14 pm, Mark Brethen wrote: >> log for gcc build: https://pastebin.com/qbmWHm1M >> <https://pastebin.com/qbmWHm1M> > > above shows gcc is indeed being used to build c++ code > > :info:build /opt/local/bin/g++-mp-12 userFunction.o AsplitA.o AsplitL.o > adjustMidsideNode.o compareStrings.o XFunktions.o badelems.o bodyMesh2.o > bsort.o bsortf.o bsorti.o calcNormalen.o calcPrinc.o calcPvector.o > calcWeight.o checkIfNumber.o cgx.o compare.o copyEntity.o corrad.o dataGeo.o > dataMesh.o defineEntity.o dispLists.o elemChecker.o extFunktions.o extGL.o > fillBody2.o frecord.o foamFaces.o gl3grades.o getGeoDataTria.o graph.o > ifind.o iinsert.o improveBadTr3.o improveMesh.o iniMeshData.o intpol.o > intpol2.o intpol3.o iremove.o linelength.o m_copy.o m_sub.o mergEntity.o > mesh2d.o meshSet.o meshSurf.o messages.o near3d.o normdist.o nurbl2seq.o > orient.o p_angle.o parser.o pickFunktions.o plotFunktions.o readAnsysList.o > readEdges.o readfrd.o readFoam.o readStdCmap.o readStl.o readccx.o readDuns.o > readNastran.o readNG.o readTG.o readIsaac.o readstep.o readWf.o rectcyl.o > renumberfrd.o selectDisplayFaces.o sendMpc.o sendSet.o setFunktions.o > shapeFunctions.o spline.o splitElementsToTets.o stof.o stoi.o stopClock.o > stos.o strfind.o strsplt.o sins.o surfMesh2.o sword.o trackball.o v_distA.o > v_rec2cyl.o v_add.o v_angle.o v_angle_ref.o v_betrag.o v_matmult.o v_norm.o > v_prod.o v_result.o v_scal.o v_rot.o v_sprod.o m_prod.o m_prodtr.o > write2aba.o write2ansys.o write2aster.o write2darwin.o write2dolfyn.o > write2isaac.o write2duns.o write2frd.o write2foam.o write2nas.o > write2samcef.o write2tochnog.o writefbd.o writebp.o contact.o > makeTriFromElems.o uselibSNL.cpp generateTet.cpp ../../libSNL/src/*.cpp -O2 > -Wall -Wno-narrowing -I./ -I/opt/local/include -I/opt/local/include/GL > -I../../libSNL/src -I../../glut-3.5/src -L/opt/local/lib -lGL -lGLU -lglut > -lX11 -lXi -lXmu -lXext -lXt -lSM -lICE -lm -lpthread -o cgx > > this is not really supported. Your time would be better spent fixing the > issues with using clang++ to build. > > Chris > >> log for clang12 build: https://pastebin.com/4WG7VsfA >> <https://pastebin.com/4WG7VsfA> >> clang14 is more restrictive on C implementation: >> :info:build /usr/bin/clang -O2 -Wall -Wno-narrowing -I./ >> -I/opt/local/include -I/opt/local/include/GL -I../../libSNL/src >> -I../../glut-3.5/src -c -o parser.o parser.c >> :info:build parser.c:85:5: error: implicit declaration of function >> 'DrawCommandLine' is invalid in C99 [-Werror,-Wimplicit-function-declaration] >> :info:build DrawCommandLine(keystroke, strlen(keystroke)+*curshft); >> :info:build ^ >> :info:build 1 error generated. >> :info:build make: *** [parser.o] Error 1 >> Mark Brethen >> mark.bret...@gmail.com <mailto:mark.bret...@gmail.com> >>> On Jul 27, 2022, at 3:49 AM, Chris Jones <jon...@hep.phy.cam.ac.uk >>> <mailto:jon...@hep.phy.cam.ac.uk>> wrote: >>> >>> >>> Please post a complete, clean, build log for the port in question. >>> >>> In general GCC should not be used to build c++ (*) as doing so leads to >>> these c++ runtime mis-matches. You should use clang for c++ (and c as well, >>> although there is no runtime issues there). >>> >>> cheers Chris >>> >>> * The latest GCC versions now actually support building against libc++, the >>> clang runtime, which would make this possible in theory. It needs support >>> in base though (https://github.com/macports/macports-base/pull/275 >>> <https://github.com/macports/macports-base/pull/275>) so cannot be used >>> until that is available. >>> >>> On 27/07/2022 1:15 am, Mark Brethen wrote: >>>> Installing CalculiX with a clang variant is successful, however when >>>> selecting a gcc variant: >>>> ---> Scanning binaries for linking errors >>>> ---> No broken files found. >>>> CalculiX is using libstdc++ (this installation is configured to use libc++) >>>> ---> Found 1 broken port, determining rebuild order >>>> You can always run 'port rev-upgrade' again to fix errors. >>>> The following ports will be rebuilt: CalculiX @2.18+docs+examples+gcc12 >>>> Continue? [Y/n]: >>>> Choosing ‘Y’ puts it into and endless re-install. Adding >>>> 'configure.cxx_stdlib macports-libstdc++’ seems to fix things. >>>> 1. What is causing this? >>>> 2. Should the compilers group be removed and stick with clang? >>>> 3. What changes to the portfile would need to made to permit either >>>> compiler variant? >>>> Thanks, >>>> Mark