#54372 closed defect (fixed)
scidavis @1.22 isn't using the right compiler
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | NicosPavlov |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | scidavis |
Description
scidavis is hardcoded to build with clang++; this fails on systems that don't have clang++ provided by Xcode, such as Snow Leopard and earlier.
https://build.macports.org/builders/ports-10.5_ppc_legacy-builder/builds/33968:
https://build.macports.org/builders/ports-10.6_x86_64_legacy-builder/builds/34520
make[1]: clang++: Command not found
scidavis should be UsingTheRightCompiler. If it requires clang, it should be blacklisting compilers that are not clang.
Attachments (2)
Change History (12)
comment:1 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | scidavis @1.14 isn't using the right compiler → scidavis @1.22 isn't using the right compiler |
---|
comment:2 Changed 7 years ago by NicosPavlov
Yes, some issues at qmake level make this problem not that easy to solve.
See this thread for reference: https://lists.macports.org/pipermail/macports-dev/2017-July/036022.html
comment:3 Changed 6 years ago by NicosPavlov
For reference, here is a diff of the Portfile that enables compilation with gcc. However, this ends up with linking problems (see main.log), so that gcc compilers will be blacklisted.
Changed 6 years ago by NicosPavlov
Attachment: | patch-Portfile-scidavis.diff added |
---|
Changed 6 years ago by NicosPavlov
Attachment: | scidavis-main.log added |
---|
comment:4 Changed 6 years ago by Nicolas Pavillon <pavillon.nicolas@…>
comment:5 Changed 6 years ago by Nicolas Pavillon <pavillon.nicolas@…>
comment:6 Changed 6 years ago by Nicolas Pavillon <pavillon.nicolas@…>
comment:7 Changed 6 years ago by kencu (Ken)
The build still fails, despite the cxx11
PortGroup. I'm fairly sure this is because the link line does not specify -stdlib
as it should:
/opt/local/bin/clang++-mp-5.0 -L/opt/local/lib -Wl,-headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.8 -o scidavis.app/Contents/MacOS/scidavis ../tmp/scidavis/main.o ../tmp/scidavis/qrc_appicons.o ../tmp/scidavis/qrc_icons.o -F/opt/local/libexec/qt4/Library/Frameworks -F/opt/local/libexec/qt4/lib -L../libscidavis -lscidavis -L/opt/local/lib -L/opt/local/local/lib -lqwt -lqwtplot3d -lgsl -lgslcblas -lz -lmuparser -lpython2.7 ../3rdparty/liborigin/liborigin.a -framework OpenGL -framework AGL -F/opt/local/libexec/qt4/Library/Frameworks -F/opt/local/libexec/qt4/lib -L/opt/local/libexec/qt4/lib -framework QtSvg -F/opt/local/Library/Frameworks -framework QtGui -framework QtCore -framework QtXml -framework QtOpenGL -framework QtNetwork
This could be fixed by adding the stdlib=XXX
onto the configure.cxx
if the compiler is clang
, or by digging in and figuring out why the CXX flags are not being included in the link line.
If you want any help with this, I can probably get this fixed for you.
comment:8 Changed 6 years ago by NicosPavlov
My main issue is that I lack testing capabilities for older systems, so that I am doing quite some trials and errors. If you have better testing capabilities or a better understanding of the issues, I sure welcome your help.
The port has a policy of openmaintainer anyway, so please feel free to improve the portfile.
comment:9 Changed 6 years ago by NicosPavlov
Resolution: | → fixed |
---|---|
Status: | new → closed |
Closing this ticket as while the port still does not compile on older platforms, the issue described in it (not using the right compiler) is in itself solved.
Problem remains with 1.22.