Is there a way to disable a specific llvm lld warning? - clang

I'm getting the following warning from llvm 6.0.0 lld while linking to the libiomp5.so which I'm getting pre-built from the llvm 6.0.0 ubuntu 14.04 download (here)
warning: found local symbol '__kmp_gtid' in global part of symbol table in file {some_path}/libiomp5.so
As far as I can tell this is an ignorable issue for me (everything still works anyway). I don't want to disable all warnings, or disable treating warnings as errors. How can I tell the linker to ignore just this warning?

Related

How to build clang with the memtag sanitiser enabled

I have spent a few hours trying to get the built-from-sources version of clang (v15) to work with the memtag sanitiser. For those of you who don't know what that is, it is simply a version of the address sanitiser that leverages the Memory Tagging features of ARM.
Anyway, while I can use it normally with the repository version of clang (v10), using the version built from sources just does not work.
Here is the command I use for both: clang main.c -S -march=armv8+memtag -fsanitize=memtag with clang which is either the repository-version or the built-from-sources version. Although the former works seamlessly, the latter does not.
I've tried to built llvm with different parameters, but none seemed to have done the trick. Here's my current building configuration:
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb;openmp;polly;pstl;compiler-rt" -DLLVM_TARGETS_TO_BUILD="AArch64" ../llvm
I wonder if there is some parameter I have to specify to build clang with this sanitiser enabled.
PS: using the -fsanitize=memtag flag does not give any error: with the built version of clang it simply does not insert the instrumentation code.
If anybody is able to give me some insight I would really appreciate it. Thanks ;)

Lambdanative can compile for OSX but not iOS

I'm running Sierra with XCode 8.3 including command line tools. I can use Gambit to compile to OSX native code. I can use lambdanative to compile the test Calculator app to OSX but when I try to configure and then compile for iOS I get the following error in verbose mode:
checking whether the C compiler works... no
configure: error: in `/Users/querist/.lambdanative/tmp_install/gambc-v4_7_9':
configure: error: C compiler cannot create executables
See `config.log' for more details
ERROR: failed with exit code 77
There is no config.log to read. I've done a search for it and there is not one related to this project.
Any ideas? I really like the idea of being able to develop iOS apps in Scheme.
Thanks.
I realize this may be too late, but in case somebody else stumbles upon this, I though I'd try to explain.
config.log is placed in the library output directory, not your working folder. You can look for it by running find ~/Library/ -name 'config.log'.
In my case, config.log revealed the problem is that it can't find some version of a crt library. This problem is addressed here.
I edited my ./SETUP file from my lamdbanative working directory folder, so that IOSVERSION went from the 5.1.1 default to 6.0. That solved the problem for me.

Getting Error on compiling project with Parse

I have followed all the steps specified https://www.parse.com/apps/quickstart#parse_push/ios/native/existing and also tried to add Parse Framework from cocoPods but still getting these following duplicate symbol errors, the IOS min version is 7.0 and objective c is used.
The errors are:
duplicate symbol _BFTaskMultipleExceptionsException in:
/Users/sabaanwar/Library/Developer/Xcode/DerivedData/Project1-bybalqattilbrydhswfphyvovcre/Build/Intermediates/Project1.build/Debug-iphoneos/Project1.build/Objects-normal/arm64/FLAnimatedImageView.o
/Users/sabaanwar/Library/Developer/Xcode/DerivedData/Project1-bybalqattilbrydhswfphyvovcre/Build/Intermediates/Project1.build/Debug-iphoneos/Project1.build/Objects-normal/arm64/BaseNetworkModel.o
duplicate symbol _BFTaskMultipleExceptionsException in:
/Users/sabaanwar/Library/Developer/Xcode/DerivedData/Project1-bybalqattilbrydhswfphyvovcre/Build/Intermediates/Project1.build/Debug-iphoneos/Project1.build/Objects-normal/arm64/FLAnimatedImageView.o
.
.
.
ld: 161 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
It appears that you are trying to compile the same code twice. This is throwing you an error and may have been caused by you installing the library and also the cocoaPods file. Another possible reason would be that you have same class implementation into two different files. However, I wouldn't expect that with a third party library.
In order to fix that, the easiest way would probably to just delete the project ans start with a clean one. If that isn't possible, delete the cocoaPod, delete the framework and any files that you installed, clean the cache and build the project. It should compile without any problem. Then just install the SDK once.
Hope that helps, Julian
Found the solution over here: https://stackoverflow.com/a/29724276/4841900
The reason was Bolts and FacebookSDK were conflicting each other so i was getting duplicate symbol errors.

Xcode ignore the -w compiler flag when treating all warnings as errors

I'm compiling my project while treating all the warnings as error. Some of my files cannot be changed therefore i would like the complier to ignore the warnings in them. I used the -w compiler flag on those file, however when I compiling Xcode he ignores the -w and treats the warnings as errors. Is it possible to make him ignore those files? (Xcode ver 5.1.1)
Check this https://stackoverflow.com/a/1150400/3800154
Here you can disable the checkboxes for the various warnings you have active.

Why am I seeing a compilation error about -falign-loops using LLVM?

I have an iOS application that uses Core Plot, and after I upgraded to Xcode 4.5, I'm seeing the following error when building:
clang: error: argument unused during compilation:
'-falign-loops=16' Command
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/u‌​sr/bin/clang
failed with exit code 1
What can cause this and how can I fix it?
-falign-loops is a GCC option not used by clang. It is normally a warning in clang, so I assume you have the compiler option set to treat warnings as errors (-Werror).
I had the same issue using CorePlot, the following solved the problem
Go to CorePlot-CocoaTouch Project
Build Settings
Scroll down to Build Options
Compiler for C/C++/Objective-C set its value to LLVM GCC 4.2
Hope it resolves your issue

Resources