Build error on MacOS, macports... with unctrl.h / ncurses.h

@chrisburr Your suggesting to hack the ROOT Cmake file to remove the lines that link Core against some external libraries is I think not going to work for the MacPorts builds, as I want to use a number of externals from macports, e.g. PCRE, libz, zstd etc. So removing these from

Is I guess going to break this ?

@jonesc I’m also using external builds of everything. What is needed is to somehow remove the includes from the call to rootcling_stage1 (where they aren’t needed) while still including/linking them everywhere else.

If I remember correctly, editing the text file generated by CMake works but I didn’t figure out how to make it generate it correctly.

OK, I see thanks. I don’t really have time to look into this myself so I am going to see if just turning off the cxx runtime modules works around this ROOT issue for now.

That option makes ROOT use dictionaries instead of the new replacement based on runtime C++ modules. You could enable this before, but in this release it has become the default (i.e. in ROOT 6.18 and below it was there, but was disabled by default). Same thing for PyROOT, before there was pyroot_experimental=ON, which became just pyroot=ON, and now there is pyroot_legacy=ON option to revert to the classic PyROOT.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

Dear All

I am still seeing the same build error as reported in

with 6.22.04.

Is anyone from the ROOT team looking into this ? The workaround to disable the modules still seems OK, but it would be better to not have to do this.

Chris


Please read tips for efficient and successful posting and posting code

ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided


Hi Chris,

Happy to fix something, but I don’t know what. Linking against foo, we need to export the include path to foo to rootcling. If that exposes conflicting headers then I guess we need to tweak the relative priorities of the -Is, with the sysroot coming last, so others can overwrite these headers. Would you be able to share the invocation of rootcling that triggers the error message?

Also: @vvassilev might still have an idea.

Cheers, Axel.

Hi Axel,

I posted a full build log in the original topic. If you cannot find what you need there I will need instructions on how to trigger it as part of a regular build.

cheers Chris

Hi Chris,

Can you share, after the build error occurs, the output of cmake --build . --target G__Core -- VERBOSE=1 (assuming GNU Makefiles)?

Cheers, Axel.

The builds are using ninja, not GNU make, in order to work around another issue. Do you still want the above with this ?

Then it’s ninja -v G__Core.

Here is what I get.

cheers Chris

Oberon /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build > sudo ninja -v G__Core
Password:
[1/2] cd /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/core && /opt/local/bin/cmake -E env LD_LIBRARY_PATH=/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/lib: /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/core/rootcling_stage1/src/rootcling_stage1 -v2 -f G__Core.cxx -cxxmodule -s /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/lib/libCore.so -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04 -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/ginclude -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/externals -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/builtins -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/include -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/ginclude -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/foundation/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/cont/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/gui/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/meta/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/clib/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/rint/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/zip/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/thread/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/textinput/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/clingutils/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/v7/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/unix/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/macosx/inc -I/opt/local/include -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/builtins/zlib -writeEmptyRootPCM ROOT/StringConv.hxx ROOT/TExecutor.hxx ROOT/TSequentialExecutor.hxx Buttons.h Bytes.h Byteswap.h KeySymbols.h MessageTypes.h Riostream.h Rtypes.h TApplication.h TAtt3D.h TAttAxis.h TAttBBox2D.h TAttBBox.h TAttFill.h TAttLine.h TAttMarker.h TAttPad.h TAttText.h TBase64.h TBenchmark.h TBuffer3D.h TBuffer3DTypes.h TBuffer.h TColor.h TColorGradient.h TDatime.h TDirectory.h TEnv.h TError.h TException.h TExec.h TFileCollection.h TFileInfo.h TFolder.h TInetAddress.h TMacro.h TMathBase.h TMD5.h TMemberInspector.h TMessageHandler.h TNamed.h TNotifyLink.h TObject.h TObjString.h TParameter.h TPluginManager.h TPoint.h TPRegexp.h TProcessID.h TProcessUUID.h TQClass.h TQCommand.h TQConnection.h TQObject.h TRedirectOutputGuard.h TRefCnt.h TRef.h TRegexp.h TRemoteObject.h TROOT.h TRootIOCtor.h TStopwatch.h TStorage.h TString.h TStringLong.h TStyle.h TSysEvtHandler.h TSystemDirectory.h TSystemFile.h TSystem.h TTask.h TThreadSlots.h TTime.h TTimer.h TTimeStamp.h TUri.h TUrl.h TUUID.h TVersionCheck.h TVirtualAuth.h TVirtualFFT.h TVirtualGL.h TVirtualMonitoring.h TVirtualMutex.h TVirtualPadEditor.h TVirtualPad.h TVirtualPadPainter.h TVirtualPerfStats.h TVirtualPS.h TVirtualQConnection.h TVirtualRWMutex.h TVirtualTableInterface.h TVirtualViewer3D.h TVirtualX.h ROOT/RLogger.hxx ROOT/RDirectoryEntry.hxx ROOT/RError.hxx ROOT/RIndexIter.hxx strlcpy.h snprintf.h ROOT/TSeq.hxx TArrayC.h TArrayD.h TArrayF.h TArray.h TArrayI.h TArrayL64.h TArrayL.h TArrayS.h TBits.h TBtree.h TClassTable.h TClonesArray.h TCollection.h TCollectionProxyInfo.h TExMap.h THashList.h THashTable.h TIterator.h TList.h TMap.h TObjArray.h TObjectTable.h TOrdCollection.h TRefArray.h TRefTable.h TSeqCollection.h TSortedList.h TVirtualCollectionProxy.h ESTLType.h RStringView.h TClassEdit.h ROOT/RIntegerSequence.hxx ROOT/RMakeUnique.hxx ROOT/RNotFn.hxx ROOT/RSpan.hxx ROOT/RStringView.hxx ROOT/span.hxx ROOT/TypeTraits.hxx TMacOSXSystem.h TUnixSystem.h root_std_complex.h GuiTypes.h TApplicationImp.h TBrowser.h TBrowserImp.h TCanvasImp.h TClassMenuItem.h TContextMenu.h TContextMenuImp.h TControlBarImp.h TGuiFactory.h TInspectorImp.h TObjectSpy.h TToggleGroup.h TToggle.h TBaseClass.h TClassGenerator.h TClass.h TClassRef.h TClassStreamer.h TDataMember.h TDataType.h TDictAttributeMap.h TDictionary.h TEnumConstant.h TEnum.h TFileMergeInfo.h TFunction.h TFunctionTemplate.h TGenericClassInfo.h TGlobal.h TInterpreter.h TInterpreterValue.h TIsAProxy.h TListOfDataMembers.h TListOfEnums.h TListOfEnumsWithLock.h TListOfFunctions.h TListOfFunctionTemplates.h TMemberStreamer.h TMethodArg.h TMethodCall.h TMethod.h TProtoClass.h TRealData.h TSchemaHelper.h TSchemaRule.h TSchemaRuleSet.h TStatusBitsChecker.h TStreamerElement.h TStreamer.h TVirtualIsAProxy.h TVirtualRefProxy.h TVirtualStreamerInfo.h TVirtualArray.h TVirtualObject.h Getline.h /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/inc/LinkDef.h
FAILED: core/G__Core.cxx lib/Core.pcm 
cd /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/core && /opt/local/bin/cmake -E env LD_LIBRARY_PATH=/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/lib: /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/core/rootcling_stage1/src/rootcling_stage1 -v2 -f G__Core.cxx -cxxmodule -s /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/lib/libCore.so -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04 -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/ginclude -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/externals -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/builtins -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/include -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/ginclude -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/foundation/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/cont/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/gui/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/meta/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/clib/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/rint/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/zip/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/thread/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/textinput/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/clingutils/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/v7/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/unix/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/macosx/inc -I/opt/local/include -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/builtins/zlib -writeEmptyRootPCM ROOT/StringConv.hxx ROOT/TExecutor.hxx ROOT/TSequentialExecutor.hxx Buttons.h Bytes.h Byteswap.h KeySymbols.h MessageTypes.h Riostream.h Rtypes.h TApplication.h TAtt3D.h TAttAxis.h TAttBBox2D.h TAttBBox.h TAttFill.h TAttLine.h TAttMarker.h TAttPad.h TAttText.h TBase64.h TBenchmark.h TBuffer3D.h TBuffer3DTypes.h TBuffer.h TColor.h TColorGradient.h TDatime.h TDirectory.h TEnv.h TError.h TException.h TExec.h TFileCollection.h TFileInfo.h TFolder.h TInetAddress.h TMacro.h TMathBase.h TMD5.h TMemberInspector.h TMessageHandler.h TNamed.h TNotifyLink.h TObject.h TObjString.h TParameter.h TPluginManager.h TPoint.h TPRegexp.h TProcessID.h TProcessUUID.h TQClass.h TQCommand.h TQConnection.h TQObject.h TRedirectOutputGuard.h TRefCnt.h TRef.h TRegexp.h TRemoteObject.h TROOT.h TRootIOCtor.h TStopwatch.h TStorage.h TString.h TStringLong.h TStyle.h TSysEvtHandler.h TSystemDirectory.h TSystemFile.h TSystem.h TTask.h TThreadSlots.h TTime.h TTimer.h TTimeStamp.h TUri.h TUrl.h TUUID.h TVersionCheck.h TVirtualAuth.h TVirtualFFT.h TVirtualGL.h TVirtualMonitoring.h TVirtualMutex.h TVirtualPadEditor.h TVirtualPad.h TVirtualPadPainter.h TVirtualPerfStats.h TVirtualPS.h TVirtualQConnection.h TVirtualRWMutex.h TVirtualTableInterface.h TVirtualViewer3D.h TVirtualX.h ROOT/RLogger.hxx ROOT/RDirectoryEntry.hxx ROOT/RError.hxx ROOT/RIndexIter.hxx strlcpy.h snprintf.h ROOT/TSeq.hxx TArrayC.h TArrayD.h TArrayF.h TArray.h TArrayI.h TArrayL64.h TArrayL.h TArrayS.h TBits.h TBtree.h TClassTable.h TClonesArray.h TCollection.h TCollectionProxyInfo.h TExMap.h THashList.h THashTable.h TIterator.h TList.h TMap.h TObjArray.h TObjectTable.h TOrdCollection.h TRefArray.h TRefTable.h TSeqCollection.h TSortedList.h TVirtualCollectionProxy.h ESTLType.h RStringView.h TClassEdit.h ROOT/RIntegerSequence.hxx ROOT/RMakeUnique.hxx ROOT/RNotFn.hxx ROOT/RSpan.hxx ROOT/RStringView.hxx ROOT/span.hxx ROOT/TypeTraits.hxx TMacOSXSystem.h TUnixSystem.h root_std_complex.h GuiTypes.h TApplicationImp.h TBrowser.h TBrowserImp.h TCanvasImp.h TClassMenuItem.h TContextMenu.h TContextMenuImp.h TControlBarImp.h TGuiFactory.h TInspectorImp.h TObjectSpy.h TToggleGroup.h TToggle.h TBaseClass.h TClassGenerator.h TClass.h TClassRef.h TClassStreamer.h TDataMember.h TDataType.h TDictAttributeMap.h TDictionary.h TEnumConstant.h TEnum.h TFileMergeInfo.h TFunction.h TFunctionTemplate.h TGenericClassInfo.h TGlobal.h TInterpreter.h TInterpreterValue.h TIsAProxy.h TListOfDataMembers.h TListOfEnums.h TListOfEnumsWithLock.h TListOfFunctions.h TListOfFunctionTemplates.h TMemberStreamer.h TMethodArg.h TMethodCall.h TMethod.h TProtoClass.h TRealData.h TSchemaHelper.h TSchemaRule.h TSchemaRuleSet.h TStatusBitsChecker.h TStreamerElement.h TStreamer.h TVirtualIsAProxy.h TVirtualRefProxy.h TVirtualStreamerInfo.h TVirtualArray.h TVirtualObject.h Getline.h /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/inc/LinkDef.h
While building module 'Core':
While building module 'std' imported from input_line_1:1:
While building module 'Darwin' imported from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ctype.h:38:
In file included from <module-includes>:1073:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX11.0.sdk/usr/include/ncurses.h:141:
/opt/local/include/unctrl.h:61:38: error: cannot initialize a variable of type 'char *' with an lvalue of type 'char *(chtype)' (aka 'char *(unsigned int)')
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
                                     ^               ~~~~~~
/opt/local/include/unctrl.h:61:61: error: expected ';' after top level declarator
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
                                                            ^
While building module 'Core':
While building module 'std' imported from input_line_1:1:
In file included from <module-includes>:2:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ctype.h:38:15: fatal error: could not build module 'Darwin'
#include_next <ctype.h>
 ~~~~~~~~~~~~~^
0  rootcling_stage1         0x0000000109b6b425 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  rootcling_stage1         0x0000000109b6b966 SignalHandler(int) + 406
2  libsystem_platform.dylib 0x00007fff20356d7d _sigtramp + 29
3  libsystem_platform.dylib 0x00007ffee8078d40 _sigtramp + 3352436704
4  rootcling_stage1         0x000000010879d23d clang::Sema::DeclareImplicitDeductionGuides(clang::TemplateDecl*, clang::SourceLocation) + 765
5  rootcling_stage1         0x00000001086925de DeclareImplicitMemberFunctionsWithName(clang::Sema&, clang::DeclarationName, clang::SourceLocation, clang::DeclContext const*) + 510
6  rootcling_stage1         0x000000010869646d LookupDirect(clang::Sema&, clang::LookupResult&, clang::DeclContext const*) + 77
7  rootcling_stage1         0x0000000108692ac0 CppNamespaceLookup(clang::Sema&, clang::LookupResult&, clang::ASTContext&, clang::DeclContext*, (anonymous namespace)::UnqualUsingDirectiveSet&) + 32
8  rootcling_stage1         0x000000010869218a clang::Sema::CppLookupName(clang::LookupResult&, clang::Scope*) + 3674
9  rootcling_stage1         0x0000000108695d40 clang::Sema::LookupName(clang::LookupResult&, clang::Scope*, bool) + 800
10 rootcling_stage1         0x00000001084330a7 clang::Sema::HandleDeclarator(clang::Scope*, clang::Declarator&, llvm::MutableArrayRef<clang::TemplateParameterList*>) + 2455
11 rootcling_stage1         0x00000001087b6fdb clang::Sema::ActOnTemplateDeclarator(clang::Scope*, llvm::MutableArrayRef<clang::TemplateParameterList*>, clang::Declarator&) + 27
12 rootcling_stage1         0x000000010811592d clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) + 141
13 rootcling_stage1         0x000000010818a0f6 clang::Parser::ParseSingleDeclarationAfterTemplate(unsigned int, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 2406
14 rootcling_stage1         0x0000000108189534 clang::Parser::ParseTemplateDeclarationOrSpecialization(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 1268
15 rootcling_stage1         0x0000000108188eb7 clang::Parser::ParseDeclarationStartingWithTemplate(unsigned int, clang::SourceLocation&, clang::AccessSpecifier, clang::AttributeList*) + 279
16 rootcling_stage1         0x000000010810f4b8 clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 216
17 rootcling_stage1         0x0000000108195d58 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) + 168
18 rootcling_stage1         0x00000001081267fd clang::Parser::ParseInnerNamespace(std::__1::vector<clang::SourceLocation, std::__1::allocator<clang::SourceLocation> >&, std::__1::vector<clang::IdentifierInfo*, std::__1::allocator<clang::IdentifierInfo*> >&, std::__1::vector<clang::SourceLocation, std::__1::allocator<clang::SourceLocation> >&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) + 269
19 rootcling_stage1         0x0000000108126374 clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation) + 5716
20 rootcling_stage1         0x000000010810f5a7 clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 455
21 rootcling_stage1         0x0000000108195d58 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) + 168
22 rootcling_stage1         0x00000001081267fd clang::Parser::ParseInnerNamespace(std::__1::vector<clang::SourceLocation, std::__1::allocator<clang::SourceLocation> >&, std::__1::vector<clang::IdentifierInfo*, std::__1::allocator<clang::IdentifierInfo*> >&, std::__1::vector<clang::SourceLocation, std::__1::allocator<clang::SourceLocation> >&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) + 269
23 rootcling_stage1         0x0000000108126374 clang::Parser::ParseNamespace(unsigned int, clang::SourceLocation&, clang::SourceLocation) + 5716
24 rootcling_stage1         0x000000010810f4e7 clang::Parser::ParseDeclaration(unsigned int, clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 263
25 rootcling_stage1         0x0000000108195d58 clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&, clang::ParsingDeclSpec*) + 168
26 rootcling_stage1         0x00000001081955b4 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 628
27 rootcling_stage1         0x0000000108101e4b clang::ParseAST(clang::Sema&, bool, bool) + 507
28 rootcling_stage1         0x0000000107fc1d21 clang::FrontendAction::Execute() + 81
29 rootcling_stage1         0x0000000107f670a1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1345
30 rootcling_stage1         0x0000000107f75064 void llvm::function_ref<void ()>::callback_fn<compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation, llvm::StringRef, clang::FrontendInputFile, llvm::StringRef, llvm::StringRef, llvm::function_ref<void (clang::CompilerInstance&)>, llvm::function_ref<void (clang::CompilerInstance&)>)::$_3>(long) + 52
31 rootcling_stage1         0x0000000109b03d03 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 211
32 rootcling_stage1         0x0000000109b03e00 RunSafelyOnThread_Dispatch(void*) + 48
33 rootcling_stage1         0x0000000109b03db1 llvm::CrashRecoveryContext::RunSafelyOnThread(llvm::function_ref<void ()>, unsigned int) + 81
34 rootcling_stage1         0x0000000107f6f29d compileModuleImpl(clang::CompilerInstance&, clang::SourceLocation, llvm::StringRef, clang::FrontendInputFile, llvm::StringRef, llvm::StringRef, llvm::function_ref<void (clang::CompilerInstance&)>, llvm::function_ref<void (clang::CompilerInstance&)>) + 4669
35 rootcling_stage1         0x0000000107f6c251 clang::CompilerInstance::loadModule(clang::SourceLocation, llvm::ArrayRef<std::__1::pair<clang::IdentifierInfo*, clang::SourceLocation> >, clang::Module::NameVisibilityKind, bool) + 14033
36 rootcling_stage1         0x0000000109889582 clang::Preprocessor::HandleIncludeDirective(clang::SourceLocation, clang::Token&, clang::DirectoryLookup const*, clang::FileEntry const*, bool) + 8130
37 rootcling_stage1         0x0000000109885b58 clang::Preprocessor::HandleDirective(clang::Token&) + 1336
38 rootcling_stage1         0x000000010985d3f9 clang::Lexer::LexTokenInternal(clang::Token&, bool) + 9561
39 rootcling_stage1         0x00000001098bb90f clang::Preprocessor::Lex(clang::Token&) + 47
40 rootcling_stage1         0x0000000108195381 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 65
41 rootcling_stage1         0x0000000107c9f87b cling::IncrementalParser::ParseInternal(llvm::StringRef) + 1227
42 rootcling_stage1         0x0000000107c9ec7b cling::IncrementalParser::Initialize(llvm::SmallVectorImpl<llvm::PointerIntPair<cling::Transaction*, 2u, cling::IncrementalParser::EParseResult, llvm::PointerLikeTypeTraits<cling::Transaction*>, llvm::PointerIntPairInfo<cling::Transaction*, 2u, llvm::PointerLikeTypeTraits<cling::Transaction*> > > >&, bool) + 891
43 rootcling_stage1         0x0000000107ca5235 cling::Interpreter::Interpreter(int, char const* const*, char const*, std::__1::vector<std::__1::shared_ptr<clang::ModuleFileExtension>, std::__1::allocator<std::__1::shared_ptr<clang::ModuleFileExtension> > > const&, bool, cling::Interpreter const*) + 3109
44 rootcling_stage1         0x0000000107bd32cb RootClingMain(int, char**, bool) + 13523
45 rootcling_stage1         0x0000000107be05fc ROOT_rootcling_Driver + 131
46 rootcling_stage1         0x0000000107c16a16 main + 76
47 libdyld.dylib            0x00007fff2032d631 start + 1
Stack dump:
0.	Program arguments: /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/core/rootcling_stage1/src/rootcling_stage1 -v2 -f G__Core.cxx -cxxmodule -s /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/lib/libCore.so -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04 -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/ginclude -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/externals -excludePath /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/builtins -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/include -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/build/ginclude -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/foundation/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/cont/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/gui/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/meta/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/clib/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/rint/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/zip/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/thread/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/textinput/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/clingutils/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/v7/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/unix/inc -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/macosx/inc -I/opt/local/include -I/opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/builtins/zlib -writeEmptyRootPCM ROOT/StringConv.hxx ROOT/TExecutor.hxx ROOT/TSequentialExecutor.hxx Buttons.h Bytes.h Byteswap.h KeySymbols.h MessageTypes.h Riostream.h Rtypes.h TApplication.h TAtt3D.h TAttAxis.h TAttBBox2D.h TAttBBox.h TAttFill.h TAttLine.h TAttMarker.h TAttPad.h TAttText.h TBase64.h TBenchmark.h TBuffer3D.h TBuffer3DTypes.h TBuffer.h TColor.h TColorGradient.h TDatime.h TDirectory.h TEnv.h TError.h TException.h TExec.h TFileCollection.h TFileInfo.h TFolder.h TInetAddress.h TMacro.h TMathBase.h TMD5.h TMemberInspector.h TMessageHandler.h TNamed.h TNotifyLink.h TObject.h TObjString.h TParameter.h TPluginManager.h TPoint.h TPRegexp.h TProcessID.h TProcessUUID.h TQClass.h TQCommand.h TQConnection.h TQObject.h TRedirectOutputGuard.h TRefCnt.h TRef.h TRegexp.h TRemoteObject.h TROOT.h TRootIOCtor.h TStopwatch.h TStorage.h TString.h TStringLong.h TStyle.h TSysEvtHandler.h TSystemDirectory.h TSystemFile.h TSystem.h TTask.h TThreadSlots.h TTime.h TTimer.h TTimeStamp.h TUri.h TUrl.h TUUID.h TVersionCheck.h TVirtualAuth.h TVirtualFFT.h TVirtualGL.h TVirtualMonitoring.h TVirtualMutex.h TVirtualPadEditor.h TVirtualPad.h TVirtualPadPainter.h TVirtualPerfStats.h TVirtualPS.h TVirtualQConnection.h TVirtualRWMutex.h TVirtualTableInterface.h TVirtualViewer3D.h TVirtualX.h ROOT/RLogger.hxx ROOT/RDirectoryEntry.hxx ROOT/RError.hxx ROOT/RIndexIter.hxx strlcpy.h snprintf.h ROOT/TSeq.hxx TArrayC.h TArrayD.h TArrayF.h TArray.h TArrayI.h TArrayL64.h TArrayL.h TArrayS.h TBits.h TBtree.h TClassTable.h TClonesArray.h TCollection.h TCollectionProxyInfo.h TExMap.h THashList.h THashTable.h TIterator.h TList.h TMap.h TObjArray.h TObjectTable.h TOrdCollection.h TRefArray.h TRefTable.h TSeqCollection.h TSortedList.h TVirtualCollectionProxy.h ESTLType.h RStringView.h TClassEdit.h ROOT/RIntegerSequence.hxx ROOT/RMakeUnique.hxx ROOT/RNotFn.hxx ROOT/RSpan.hxx ROOT/RStringView.hxx ROOT/span.hxx ROOT/TypeTraits.hxx TMacOSXSystem.h TUnixSystem.h root_std_complex.h GuiTypes.h TApplicationImp.h TBrowser.h TBrowserImp.h TCanvasImp.h TClassMenuItem.h TContextMenu.h TContextMenuImp.h TControlBarImp.h TGuiFactory.h TInspectorImp.h TObjectSpy.h TToggleGroup.h TToggle.h TBaseClass.h TClassGenerator.h TClass.h TClassRef.h TClassStreamer.h TDataMember.h TDataType.h TDictAttributeMap.h TDictionary.h TEnumConstant.h TEnum.h TFileMergeInfo.h TFunction.h TFunctionTemplate.h TGenericClassInfo.h TGlobal.h TInterpreter.h TInterpreterValue.h TIsAProxy.h TListOfDataMembers.h TListOfEnums.h TListOfEnumsWithLock.h TListOfFunctions.h TListOfFunctionTemplates.h TMemberStreamer.h TMethodArg.h TMethodCall.h TMethod.h TProtoClass.h TRealData.h TSchemaHelper.h TSchemaRule.h TSchemaRuleSet.h TStatusBitsChecker.h TStreamerElement.h TStreamer.h TVirtualIsAProxy.h TVirtualRefProxy.h TVirtualStreamerInfo.h TVirtualArray.h TVirtualObject.h Getline.h /opt/local/var/macports/build/_Users_chris_Projects_MacPorts_ports_science_root6/root6/work/root-6-22-04/core/base/inc/LinkDef.h 
1.	/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/tuple:981:31: current parser token ';'
2.	/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/tuple:160:1 <Spelling=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:838:37>: parsing namespace 'std'
3.	/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/tuple:160:1 <Spelling=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:838:60>: parsing namespace 'std::__1'
Segmentation fault
ninja: build stopped: subcommand failed.```

OK good, so the -isysroot is internal to cling and we should be able to shuffle that around (as in, move it last). @vvassilev do you think you could have a look?

@Axel, you seem to have thought of a particular implementation. I do not know what is exactly you have in mind.

Any news ? I’ll happily test any suggestions / commits if it would help.

This topic was automatically closed after 14 days. New replies are no longer allowed.

@jonesc, could you run the invocation of rootcling with -v4 and paste the output?

Hi Chris,

They are needed, in general: experiments might have custom compression libraries, in arbitrary locations, and we need to include their headers, not random system ones. Macports apparently provides its own, too, and we should not confuse them with the macOS SDK ones, either.

That leaves the question: why does rootcling pick up macOS SDK’s ncurses, not the one from /usr/local/include? I believe that’s by design: the modulemap is for the SDK headers, and should thus contain the SDK headers. Until @vvassilev has an idea what to do here I suspect we cannot build on macOS with a non-SDK ncurses library.