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

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

    [ https://issues.apache.org/jira/browse/MINIFICPP-1334?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17178975#comment-17178975 ] 

Marton Szasz commented on MINIFICPP-1334:
-----------------------------------------

related gpsd issue: https://gitlab.com/gpsd/gpsd/-/issues/98

> 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: master
>         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
>            Assignee: Marton Szasz
>            Priority: Blocker
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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
>  
> And btw:
> $ ls /usr/include/gps.h
> ls: cannot access '/usr/include/gps.h': No such file or directory



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