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

Reply via email to