csmith-project / creduce

C-Reduce, a C and C++ program reducer
Other
1.31k stars 123 forks source link

Build creduce with llvm9 #193

Closed marxin closed 4 years ago

marxin commented 5 years ago

The support is likely missing right now.

eeide commented 5 years ago

Hi. Do you encounter any errors when you try to build C-Reduce with LLVM 9?

I recently started work toward making a new C-Reduce release, and I had no problems building the current master branch with LLVM 9.

If your experience not the same, please follow up with a bug transcript.

marxin commented 5 years ago

Hi. Do you encounter any errors when you try to build C-Reduce with LLVM 9?

Yes, only one minor which is about clang libraries:

/bin/sh ../libtool  --tag=CXX   --mode=link g++ -I/usr/include -std=c++11 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers   -o clang_delta clang_delta-AggregateToScalar.o clang_delta-BinOpSimplification.o clang_delta-CallExprToValue.o clang_delta-ClangDelta.o clang_delta-ClassTemplateToClass.o clang_delta-CombineGlobalVarDecl.o clang_delta-CombineLocalVarDecl.o clang_delta-CopyPropagation.o clang_delta-EmptyStructToInt.o clang_delta-ExpressionDetector.o clang_delta-InstantiateTemplateParam.o clang_delta-InstantiateTemplateTypeParamToInt.o clang_delta-LiftAssignmentExpr.o clang_delta-LocalToGlobal.o clang_delta-MoveFunctionBody.o clang_delta-MoveGlobalVar.o clang_delta-ParamToGlobal.o clang_delta-ParamToLocal.o clang_delta-ReduceArrayDim.o clang_delta-ReduceArraySize.o clang_delta-ReduceClassTemplateParameter.o clang_delta-ReducePointerLevel.o clang_delta-ReducePointerPairs.o clang_delta-RemoveAddrTaken.o clang_delta-RemoveArray.o clang_delta-RemoveBaseClass.o clang_delta-RemoveCtorInitializer.o clang_delta-RemoveEnumMemberValue.o clang_delta-RemoveNamespace.o clang_delta-RemoveNestedFunction.o clang_delta-RemovePointer.o clang_delta-RemoveTrivialBaseTemplate.o clang_delta-RemoveUnresolvedBase.o clang_delta-RemoveUnusedEnumMember.o clang_delta-RemoveUnusedFunction.o clang_delta-RemoveUnusedOuterClass.o clang_delta-RemoveUnusedStructField.o clang_delta-RemoveUnusedVar.o clang_delta-RenameCXXMethod.o clang_delta-RenameClass.o clang_delta-RenameFun.o clang_delta-RenameParam.o clang_delta-RenameVar.o clang_delta-ReplaceArrayAccessWithIndex.o clang_delta-ReplaceArrayIndexVar.o clang_delta-ReplaceCallExpr.o clang_delta-ReplaceClassWithBaseTemplateSpec.o clang_delta-ReplaceDependentName.o clang_delta-ReplaceDependentTypedef.o clang_delta-ReplaceDerivedClass.o clang_delta-ReplaceFunctionDefWithDecl.o clang_delta-ReplaceOneLevelTypedefType.o clang_delta-ReplaceSimpleTypedef.o clang_delta-ReplaceUndefinedFunction.o clang_delta-ReturnVoid.o clang_delta-RewriteUtils.o clang_delta-SimpleInliner.o clang_delta-SimplifyCallExpr.o clang_delta-SimplifyCommaExpr.o clang_delta-SimplifyDependentTypedef.o clang_delta-SimplifyIf.o clang_delta-SimplifyNestedClass.o clang_delta-SimplifyRecursiveTemplateInstantiation.o clang_delta-SimplifyStruct.o clang_delta-SimplifyStructUnionDecl.o clang_delta-TemplateArgToInt.o clang_delta-TemplateNonTypeArgToInt.o clang_delta-Transformation.o clang_delta-TransformationManager.o clang_delta-UnifyFunctionDecl.o clang_delta-UnionToStruct.o clang_delta-VectorToArray.o clang_delta-git_version.o -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization -lclangCodeGen -lclangParse -lclangSema -lclangAnalysis -lclangRewriteFrontend -lclangRewrite -lclangAST -lclangBasic -lclangEdit -lclangLex -lclangARCMigrate -lLLVM   -L/usr/lib64  
libtool: link: g++ -I/usr/include -std=c++11 -fno-exceptions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -fno-exceptions -g -O3 -fno-strict-aliasing -Wall -Wextra -Wno-long-long -Wno-unused-parameter -Wno-missing-field-initializers -o clang_delta clang_delta-AggregateToScalar.o clang_delta-BinOpSimplification.o clang_delta-CallExprToValue.o clang_delta-ClangDelta.o clang_delta-ClassTemplateToClass.o clang_delta-CombineGlobalVarDecl.o clang_delta-CombineLocalVarDecl.o clang_delta-CopyPropagation.o clang_delta-EmptyStructToInt.o clang_delta-ExpressionDetector.o clang_delta-InstantiateTemplateParam.o clang_delta-InstantiateTemplateTypeParamToInt.o clang_delta-LiftAssignmentExpr.o clang_delta-LocalToGlobal.o clang_delta-MoveFunctionBody.o clang_delta-MoveGlobalVar.o clang_delta-ParamToGlobal.o clang_delta-ParamToLocal.o clang_delta-ReduceArrayDim.o clang_delta-ReduceArraySize.o clang_delta-ReduceClassTemplateParameter.o clang_delta-ReducePointerLevel.o clang_delta-ReducePointerPairs.o clang_delta-RemoveAddrTaken.o clang_delta-RemoveArray.o clang_delta-RemoveBaseClass.o clang_delta-RemoveCtorInitializer.o clang_delta-RemoveEnumMemberValue.o clang_delta-RemoveNamespace.o clang_delta-RemoveNestedFunction.o clang_delta-RemovePointer.o clang_delta-RemoveTrivialBaseTemplate.o clang_delta-RemoveUnresolvedBase.o clang_delta-RemoveUnusedEnumMember.o clang_delta-RemoveUnusedFunction.o clang_delta-RemoveUnusedOuterClass.o clang_delta-RemoveUnusedStructField.o clang_delta-RemoveUnusedVar.o clang_delta-RenameCXXMethod.o clang_delta-RenameClass.o clang_delta-RenameFun.o clang_delta-RenameParam.o clang_delta-RenameVar.o clang_delta-ReplaceArrayAccessWithIndex.o clang_delta-ReplaceArrayIndexVar.o clang_delta-ReplaceCallExpr.o clang_delta-ReplaceClassWithBaseTemplateSpec.o clang_delta-ReplaceDependentName.o clang_delta-ReplaceDependentTypedef.o clang_delta-ReplaceDerivedClass.o clang_delta-ReplaceFunctionDefWithDecl.o clang_delta-ReplaceOneLevelTypedefType.o clang_delta-ReplaceSimpleTypedef.o clang_delta-ReplaceUndefinedFunction.o clang_delta-ReturnVoid.o clang_delta-RewriteUtils.o clang_delta-SimpleInliner.o clang_delta-SimplifyCallExpr.o clang_delta-SimplifyCommaExpr.o clang_delta-SimplifyDependentTypedef.o clang_delta-SimplifyIf.o clang_delta-SimplifyNestedClass.o clang_delta-SimplifyRecursiveTemplateInstantiation.o clang_delta-SimplifyStruct.o clang_delta-SimplifyStructUnionDecl.o clang_delta-TemplateArgToInt.o clang_delta-TemplateNonTypeArgToInt.o clang_delta-Transformation.o clang_delta-TransformationManager.o clang_delta-UnifyFunctionDecl.o clang_delta-UnionToStruct.o clang_delta-VectorToArray.o clang_delta-git_version.o  -lclangStaticAnalyzerFrontend -lclangStaticAnalyzerCheckers -lclangStaticAnalyzerCore -lclangFrontendTool -lclangFrontend -lclangDriver -lclangSerialization -lclangCodeGen -lclangParse -lclangSema -lclangAnalysis -lclangRewriteFrontend -lclangRewrite -lclangAST -lclangBasic -lclangEdit -lclangLex -lclangARCMigrate -lLLVM -L/usr/lib64
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangStaticAnalyzerFrontend
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangStaticAnalyzerCheckers
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangStaticAnalyzerCore
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangFrontendTool
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangFrontend
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangDriver
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangSerialization
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangCodeGen
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangParse
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangSema
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangAnalysis
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangRewriteFrontend
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangRewrite
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangAST
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangBasic
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangEdit
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangLex
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: cannot find -lclangARCMigrate

which can be fixed by replacing all these with -lclang-cpp. Can you please take a look?

eeide commented 5 years ago

I don't have access to a SuSE Linux setup, so I will have to see if I can replicate your configuration on another platform. (Ubuntu and CentOS are easily accessible to me.)

What LLVM distribution are you using? If you build it yourself, how did you build/install it?

How did you configure the C-Reduce build? From your previous message I infer that you are using the Automake-based path. What was the configure command line?

(As possible workarounds/explorations: If you specify CC=clang CXX=clang++ for configure, does the probelm persist? If you build with the CMake-based path, does the problem persist?)

Thanks—

marxin commented 5 years ago

I don't have access to a SuSE Linux setup, so I will have to see if I can replicate your configuration on another platform. (Ubuntu and CentOS are easily accessible to me.)

What LLVM distribution are you using? If you build it yourself, how did you build/install it?

It's openSUSE Tumbleweed and I use standard llvm9 packages.

How did you configure the C-Reduce build? From your previous message I infer that you are using the Automake-based path. What was the configure command line?

Yes, I only run ./configure.

(As possible workarounds/explorations: If you specify CC=clang CXX=clang++ for configure, does the probelm persist? If you build with the CMake-based path, does the problem persist?)

That does not help, I see the same linker error message.

marxin commented 5 years ago

Any progress on this please?

regehr commented 5 years ago

I can't reproduce the problem either. please propose a patch, and we'll try to get it merged.

eeide commented 5 years ago

Any progress on this please?

Just a quick reply: I haven't had any time to work on this for the past few weeks. I probably won't have time for the next few weeks.

eeide commented 4 years ago

This was resolved by merging the pull request. Thanks, @marxin!