首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mac上的建筑碘化度

mac上的建筑碘化度
EN

Stack Overflow用户
提问于 2017-05-03 22:11:00
回答 1查看 277关注 0票数 0

根据文档,应该支持Mac,但是在尝试构建iotivity时,使用了一些我认为是特定于posix的标头。

代码语言:javascript
复制
➜  iotivity git:(master) ✗ scons SYS_VERSION=10.12
scons: Reading SConscript files ...
Checking for POSIX Thread Support...(cached) yes
HEAD is now at acf202a Fix stack corruption due to calling convention mismatch

*********************************** Info: *****************************************
* Using FORKED copy of libCoap located in:                                        *
* resource/csdk/connectivity/lib/libcoap-4.1.1                                    *
***********************************************************************************
Given Transport is ALL
Given OS is darwin
BUILD_SAMPLE is ON
MQ flag is OFF
Reading ca script ALL
Reading common folder script
Reading util folder script
Copied IoTivity version of config.h to /Users/zcourts/projects/iotivity/extlibs/mbedtls/mbedtls/include/mbedtls/config.h
Reading IP adapter script
Reading IP adapter script
Include path is ['../api', '/usr/local/include', '/Users/zcourts/projects/iotivity/deps/darwin/include', '/Users/zcourts/projects/iotivity/extlibs/tinycbor/tinycbor/src', '/Users/zcourts/projects/iotivity/resource/c_common', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/oic_malloc/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/oic_string/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/oic_time/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/ocatomic/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/ocrandom/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/octhread/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/oic_platform/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/c_common/octimer/include', '#/extlibs/mbedtls/mbedtls/include', '/Users/zcourts/projects/iotivity/out/darwin/x86_64/release/resource/csdk/logger/include', '#/resource/c_common', '#resource/csdk/connectivity/lib/libcoap-4.1.1/include', '../inc', '/Users/zcourts/projects/iotivity/resource/csdk/logger/include', '../common/inc', '../util/inc', '#resource/c_common/octhread/include/', '#resource/csdk/connectivity/common/inc/', '#resource/csdk/logger/include/', '#extlibs/mbedtls/mbedtls/include', '#/resource/c_common/octimer/include', '/Users/zcourts/projects/iotivity/resource/csdk/security/include', '../external/inc']
Files path is ['/Users/zcourts/projects/iotivity/resource/csdk/connectivity/common/src/uarraylist.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/common/src/ulinklist.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/common/src/uqueue.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/common/src/caremotehandler.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/common/src/cathreadpool_pthreads.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/util/src/cautilinterface.c', './adapter_util/caadapterutils.c', './adapter_util/cafragmentation.c', './adapter_util/ca_adapter_net_ssl.c', './cablockwisetransfer.c', './caconnectivitymanager.c', './cainterfacecontroller.c', './camessagehandler.c', './canetworkconfigurator.c', './caprotocolmessage.c', './caqueueingthread.c', './caretransmission.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/src/ip_adapter/caipadapter.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/src/ip_adapter/caipserver.c', '/Users/zcourts/projects/iotivity/resource/csdk/connectivity/src/ip_adapter/linux/caipnwmonitor.c']
*** Checking for installation of google unit test 1.7.0 ***
scons: done reading SConscript files.
scons: Building targets ...
scons: building associated VariantDir targets: out/darwin/x86_64/release
Compiling out/darwin/x86_64/release/resource/c_common/octhread/src/posix/octhread.o
resource/c_common/octhread/src/posix/octhread.c:90:5: error: unknown type name 'pthread_mutex_t'; did you mean 'pthread_attr_t'?
    pthread_mutex_t mutex;
    ^~~~~~~~~~~~~~~
    pthread_attr_t
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk//usr/include/sys/_pthread/_pthread_attr_t.h:30:33: note: 'pthread_attr_t' declared here
typedef __darwin_pthread_attr_t pthread_attr_t;
                                ^
resource/c_common/octhread/src/posix/octhread.c:103:5: error: unknown type name 'pthread_cond_t'; did you mean 'pthread_attr_t'?
    pthread_cond_t cond;
    ^~~~~~~~~~~~~~
    pthread_attr_t
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk//usr/include/sys/_pthread/_pthread_attr_t.h:30:33: note: 'pthread_attr_t' declared here
typedef __darwin_pthread_attr_t pthread_attr_t;
                                ^
resource/c_common/octhread/src/posix/octhread.c:104:5: error: unknown type name 'pthread_condattr_t'; did you mean 'pthread_attr_t'?
    pthread_condattr_t condattr;
    ^~~~~~~~~~~~~~~~~~
    pthread_attr_t
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk//usr/include/sys/_pthread/_pthread_attr_t.h:30:33: note: 'pthread_attr_t' declared here
typedef __darwin_pthread_attr_t pthread_attr_t;
                                ^
resource/c_common/octhread/src/posix/octhread.c:109:5: error: unknown type name 'pthread_t'
    pthread_t thread;
    ^
resource/c_common/octhread/src/posix/octhread.c:128:22: warning: implicit declaration of function 'pthread_create' is invalid in C99 [-Wimplicit-function-declaration]
        int result = pthread_create(&threadInfo->thread, NULL, start_routine, arg);
                     ^
resource/c_common/octhread/src/posix/octhread.c:170:19: warning: implicit declaration of function 'pthread_join' is invalid in C99 [-Wimplicit-function-declaration]
    int joinres = pthread_join(threadInfo->thread, NULL);
                  ^
resource/c_common/octhread/src/posix/octhread.c:187:17: warning: implicit declaration of function 'pthread_mutex_init' is invalid in C99 [-Wimplicit-function-declaration]
        int ret=pthread_mutex_init(&(mutexInfo->mutex), PTHREAD_MUTEX_DEFAULT);
                ^
resource/c_common/octhread/src/posix/octhread.c:187:57: error: use of undeclared identifier 'PTHREAD_MUTEX_DEFAULT'
        int ret=pthread_mutex_init(&(mutexInfo->mutex), PTHREAD_MUTEX_DEFAULT);
                                                        ^
resource/c_common/octhread/src/posix/octhread.c:215:19: warning: implicit declaration of function 'pthread_mutex_destroy' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_mutex_destroy(&mutexInfo->mutex);
                  ^
resource/c_common/octhread/src/posix/octhread.c:239:19: warning: implicit declaration of function 'pthread_mutex_lock' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_mutex_lock(&mutexInfo->mutex);
                  ^
resource/c_common/octhread/src/posix/octhread.c:273:19: warning: implicit declaration of function 'pthread_mutex_unlock' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_mutex_unlock(&mutexInfo->mutex);
                  ^
resource/c_common/octhread/src/posix/octhread.c:314:19: warning: implicit declaration of function 'pthread_condattr_init' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_condattr_init(&(eventInfo->condattr));
                  ^
resource/c_common/octhread/src/posix/octhread.c:342:15: warning: implicit declaration of function 'pthread_cond_init' is invalid in C99 [-Wimplicit-function-declaration]
        ret = pthread_cond_init(&(eventInfo->cond), &(eventInfo->condattr));
              ^
resource/c_common/octhread/src/posix/octhread.c:350:13: warning: implicit declaration of function 'pthread_condattr_destroy' is invalid in C99 [-Wimplicit-function-declaration]
            pthread_condattr_destroy(&(eventInfo->condattr));
            ^
resource/c_common/octhread/src/posix/octhread.c:367:19: warning: implicit declaration of function 'pthread_cond_destroy' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_cond_destroy(&(eventInfo->cond));
                  ^
resource/c_common/octhread/src/posix/octhread.c:390:19: warning: implicit declaration of function 'pthread_cond_signal' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_cond_signal(&(eventInfo->cond));
                  ^
resource/c_common/octhread/src/posix/octhread.c:407:19: warning: implicit declaration of function 'pthread_cond_broadcast' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_cond_broadcast(&(eventInfo->cond));
                  ^
resource/c_common/octhread/src/posix/octhread.c:431:17: error: incomplete result type 'struct timespec' in function definition
struct timespec oc_get_current_time()
                ^
resource/c_common/octhread/src/posix/octhread.c:431:8: note: forward declaration of 'struct timespec'
struct timespec oc_get_current_time()
       ^
resource/c_common/octhread/src/posix/octhread.c:439:5: warning: implicit declaration of function 'gettimeofday' is invalid in C99 [-Wimplicit-function-declaration]
    gettimeofday(&tv, NULL);
    ^
resource/c_common/octhread/src/posix/octhread.c:440:21: error: variable has incomplete type 'struct timespec'
    struct timespec ts;
                    ^
resource/c_common/octhread/src/posix/octhread.c:431:8: note: forward declaration of 'struct timespec'
struct timespec oc_get_current_time()
       ^
resource/c_common/octhread/src/posix/octhread.c:448:5: error: unknown type name 'time_t'; did you mean 'size_t'?
    time_t secPart = microseconds/USECS_PER_SEC;
    ^~~~~~
    size_t
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk//usr/include/sys/_types/_size_t.h:30:32: note: 'size_t' declared here
typedef __darwin_size_t        size_t;
                               ^
resource/c_common/octhread/src/posix/octhread.c:450:26: error: incomplete definition of type 'struct timespec'
    uint64_t totalNs = ts->tv_nsec + nsecPart;
                       ~~^
resource/c_common/octhread/src/posix/octhread.c:431:8: note: forward declaration of 'struct timespec'
struct timespec oc_get_current_time()
       ^
resource/c_common/octhread/src/posix/octhread.c:451:5: error: unknown type name 'time_t'; did you mean 'size_t'?
    time_t secOfNs = totalNs/NANOSECS_PER_SEC;
    ^~~~~~
    size_t
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk//usr/include/sys/_types/_size_t.h:30:32: note: 'size_t' declared here
typedef __darwin_size_t        size_t;
                               ^
resource/c_common/octhread/src/posix/octhread.c:453:7: error: incomplete definition of type 'struct timespec'
    ts->tv_nsec = (totalNs)% NANOSECS_PER_SEC;
    ~~^
resource/c_common/octhread/src/posix/octhread.c:431:8: note: forward declaration of 'struct timespec'
struct timespec oc_get_current_time()
       ^
resource/c_common/octhread/src/posix/octhread.c:454:7: error: incomplete definition of type 'struct timespec'
    ts->tv_sec += secPart + secOfNs;
    ~~^
resource/c_common/octhread/src/posix/octhread.c:431:8: note: forward declaration of 'struct timespec'
struct timespec oc_get_current_time()
       ^
resource/c_common/octhread/src/posix/octhread.c:479:25: error: variable has incomplete type 'struct timespec'
        struct timespec abstime = { .tv_sec = 0 };
                        ^
resource/c_common/octhread/src/posix/octhread.c:431:8: note: forward declaration of 'struct timespec'
struct timespec oc_get_current_time()
       ^
resource/c_common/octhread/src/posix/octhread.c:495:19: warning: implicit declaration of function 'pthread_cond_timedwait' is invalid in C99 [-Wimplicit-function-declaration]
            ret = pthread_cond_timedwait(&(eventInfo->cond), &(mutexInfo->mutex), &abstime);
                  ^
resource/c_common/octhread/src/posix/octhread.c:520:19: warning: implicit declaration of function 'pthread_cond_wait' is invalid in C99 [-Wimplicit-function-declaration]
        int ret = pthread_cond_wait(&eventInfo->cond, &mutexInfo->mutex);
                  ^
15 warnings and 13 errors generated.
scons: *** [out/darwin/x86_64/release/resource/c_common/octhread/src/posix/octhread.o] Error 1
scons: building terminated because of errors.
➜  iotivity git:(master) ✗

我正在按照instructionssystem所指的指示行事

看了一下,但没有看到任何显式支持mac的标志。有人知道这是否真的被支持并且在最近的提交中被破坏了吗?我的建筑大师两天前就结账了。

有一个windows-port分支,但没有命名分支。remotes/origin/1.3-rel也有同样的问题。

找到这个https://stackoverflow.com/a/24947106/400048,这导致我断言正在使用的posix特定的标头。

所以,任何人都知道这是否可以建立在mac上,如果可以,怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-11 19:08:19

这不是一个官方支持的平台或目标,在这一点上,我想它的健康在过去是更好的。有些人为麦克创造了不错的运气,我没有。当然会考虑对其进行改进,而且"Mac端口维护人员“也有一个漏洞,以确保它不会再次腐烂(还有一个github项目,它增加了Mac可建性以及其他构建系统的可重装性-但我相信相对于那些已经过时的可靠性-不过,人们可以开始从那里选择修复:https://github.com/OpenOCF/iochibity)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43770831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档