You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Ivan Serdyuk (Jira)" <ji...@apache.org> on 2020/08/16 16:50:00 UTC

[jira] [Created] (MINIFICPP-1334) libgps raised "a different language linkage", while compiling using Clang 11.0.0

Ivan Serdyuk created MINIFICPP-1334:
---------------------------------------

             Summary: libgps raised "a different language linkage", while compiling using Clang 11.0.0
                 Key: MINIFICPP-1334
                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1334
             Project: Apache NiFi MiNiFi C++
          Issue Type: Bug
    Affects Versions: 0.7.0
         Environment: $ clang --version
clang version 11.0.0
Target: x86_64-unknown-linux-gnu
$cmake --version
cmake version 3.16.3
$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Quad CPU    Q9400  @ 2.66GHz

            Reporter: Ivan Serdyuk


I was compiling on x86_64 Ubuntu 20.

I used to define CC=clang and CXX=clang++, to build MiNiFi, using Clang.

 

 

[ 52%] Building CXX object extensions/rocksdb-repos/CMakeFiles/minifi-rocksdb-repos.dir/RocksDBLoader.cpp.o
[ 52%] Building CXX object extensions/rocksdb-repos/CMakeFiles/minifi-rocksdb-repos.dir/RocksDbStream.cpp.o
[ 52%] Building CXX object extensions/rocksdb-repos/CMakeFiles/minifi-rocksdb-repos.dir/controllers/RocksDbPersistableKeyValueStoreService.cpp.o
[ 52%] Building CXX object extensions/gps/CMakeFiles/minifi-gps.dir/GetGPS.cpp.o
In file included from /media/ubuntu/5d3d053e-8b78-4052-8725-674eb332a753/nifi-minifi-cpp-main/extensions/gps/GetGPS.cpp:44:
In file included from /usr/include/libgpsmm.h:12:
/usr/include/gps.h:2335:15: error: declaration of 'mkgmtime' has a different language linkage
extern time_t mkgmtime(struct tm *);
 ^
/media/ubuntu/5d3d053e-8b78-4052-8725-674eb332a753/nifi-minifi-cpp-main/extensions/gps/../../libminifi/include/utils/TimeUtil.h:69:15: note: previous definition is here
inline time_t mkgmtime(struct tm *date_time) {
 ^
1 error generated.
make[2]: *** [extensions/gps/CMakeFiles/minifi-gps.dir/build.make:63: extensions/gps/CMakeFiles/minifi-gps.dir/GetGPS.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4246: extensions/gps/CMakeFiles/minifi-gps.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 52%] Linking CXX static library libminifi-rocksdb-repos.a
[ 52%] Linking CXX static library libcatch_main.a
[ 52%] Built target minifi-rocksdb-repos
[ 52%] Built target catch_main

 

I am using this dev. package:
$ apt info libgps-dev
Package: libgps-dev
Version: 3.20-8ubuntu0.2
Priority: optional
Section: libdevel
Source: gpsd
Origin: Ubuntu

 

From the corresponding sub-folder:
$ pwd
.../nifi-minifi-cpp-main/build/extensions/gps
$ make
[ 6%] Built target zlib-external
[ 13%] Built target ossp-uuid-external
[ 20%] Built target yaml-cpp-external
[ 26%] Built target libressl-portable
[100%] Built target core-minifi
[100%] Building CXX object extensions/gps/CMakeFiles/minifi-gps.dir/GetGPS.cpp.o
In file included from /media/ubuntu/5d3d053e-8b78-4052-8725-674eb332a753/nifi-minifi-cpp-main/extensions/gps/GetGPS.cpp:44:
In file included from /usr/include/libgpsmm.h:12:
/usr/include/gps.h:2335:15: error: declaration of 'mkgmtime' has a different language linkage
extern time_t mkgmtime(struct tm *);
 ^
/media/ubuntu/5d3d053e-8b78-4052-8725-674eb332a753/nifi-minifi-cpp-main/extensions/gps/../../libminifi/include/utils/TimeUtil.h:69:15: note: previous definition is here
inline time_t mkgmtime(struct tm *date_time) {
 ^
1 error generated.
make[2]: *** [extensions/gps/CMakeFiles/minifi-gps.dir/build.make:63: extensions/gps/CMakeFiles/minifi-gps.dir/GetGPS.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4246: extensions/gps/CMakeFiles/minifi-gps.dir/all] Error 2
make: *** [Makefile:163: all] Error 2



--
This message was sent by Atlassian Jira
(v8.3.4#803005)