We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
-Wno-nested-anon-types
$ cat /etc/redhat-release Navix release 8.9 (Pangyo) $ ./configure\ --prefix=.../arcus-c-client-1.14.0-dist\ --enable-zk-integration --with-zookeeper=.../arcus-zookeeper-3.5.9-p3-dist/\ --with-pic checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking target system type... x86_64-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p . . . . --- Configuration summary for arcus-c-client version 1.14.0 * Installation prefix: .../arcus-c-client-1.14.0-dist * System type: pc-linux-gnu * Host CPU: x86_64 * C Compiler: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-20) * Assertions enabled: yes * Debug enabled: no * Warnings as failure: yes --- $ make make all-am make[1]: Entering directory '.../arcus-c-client' CXX clients/memcapable.o CXX libmemcached/byteorder.o CXX clients/utilities.lo CXXLD clients/[libutilities.la](http://libutilities.la/) . . . . CXX libmemcached/libmemcachedinternal_libmemcachedinternal_la-sasl.lo libmemcached/sasl.cc: In function �쁬emcached_return_t memcached_set_sasl_auth_data(memcached_st*, const char*, const char*)��: libmemcached/sasl.cc:343:33: error: cast between incompatible function types from �쁦nt (*)(void*, int, const char**, unsigned int*)�� to �쁦nt (*)()�� [-Werror=cast-function-type] callbacks[0].proc= (int (*)())get_username; ^~~~~~~~~~~~ libmemcached/sasl.cc:346:33: error: cast between incompatible function types from �쁦nt (*)(void*, int, const char**, unsigned int*)�� to �쁦nt (*)()�� [-Werror=cast-function-type] callbacks[1].proc= (int (*)())get_username; ^~~~~~~~~~~~ libmemcached/sasl.cc:349:33: error: cast between incompatible function types from �쁦nt (*)(sasl_conn_t*, void*, int, sasl_secret_t**)�� {aka �쁦nt (*)(sasl_conn*, void*, int, sasl_secret**)��} to �쁦nt (*)()�� [-Werror=cast-function-type] callbacks[2].proc= (int (*)())get_password; ^~~~~~~~~~~~ libmemcached/sasl.cc: In function �쁬emcached_return_t memcached_clone_sasl(memcached_st*, const memcached_st*)��: libmemcached/sasl.cc:408:53: error: cast between incompatible function types from �쁦nt (*)(void*, int, const char**, unsigned int*)�� to �쁦nt (*)()�� [-Werror=cast-function-type] source->sasl.callbacks[0].proc == (int (*)())get_username && ^~~~~~~~~~~~ libmemcached/sasl.cc:410:53: error: cast between incompatible function types from �쁦nt (*)(void*, int, const char**, unsigned int*)�� to �쁦nt (*)()�� [-Werror=cast-function-type] source->sasl.callbacks[1].proc == (int (*)())get_username && ^~~~~~~~~~~~ libmemcached/sasl.cc:412:53: error: cast between incompatible function types from �쁦nt (*)(sasl_conn_t*, void*, int, sasl_secret_t**)�� {aka �쁦nt (*)(sasl_conn*, void*, int, sasl_secret**)��} to �쁦nt (*)()�� [-Werror=cast-function-type] source->sasl.callbacks[2].proc == (int (*)())get_password && ^~~~~~~~~~~~ At global scope: cc1plus: error: unrecognized command line option ��-Wno-nested-anon-types�� [-Werror] cc1plus: all warnings being treated as errors make[1]: *** [Makefile:5096: libmemcached/libmemcachedinternal_libmemcachedinternal_la-sasl.lo] Error 1 make[1]: Leaving directory '/home1/irteam/en.choi/arcus-c-client' make: *** [Makefile:2411: all] Error 2
The text was updated successfully, but these errors were encountered:
rockylinux8 테스트 결과 해당 에러가 발생하지 않았습니다.
Sorry, something went wrong.
sasl이 enable된 것을 보면, 아마 장비에 cyrus-sasl 라이브러리가 설치되어 있는 환경일 것 같습니다.
말씀대로 Cyrus-sasl 설치 후에 테스트한 결과 에러가 발생합니다.
libmemcached/sasl.cc:343:33: error: cast between incompatible function types from ‘int (*)(void*, int, const char**, unsigned int*)’ to ‘int (*)()’ [-Werror=cast-function-type] callbacks[0].proc= (int (*)())get_username;
함수 포인터 타입캐스트 변환 문제가 아닌 안전하지 않은 함수 포인터 타입 캐스트로 인하여 발생하는 문제입니다. 함수 포인터 주소를 다른 형태로 타입 캐스트한 후 다시 포인터 주소로 타입 캐스트하면 해당 에러는 사라집니다.
callbacks[0].proc= (int (*)())(void *)get_username
캐스팅을 연달아 하는 것은 자연스럽지 않아 보이고, 아래 변경이 이번 문제와 관련이 있는지 확인해야 합니다.
namsic
No branches or pull requests
⛔ What happened?
🎯 Reproduction Steps
💡 Expected Behavior / Solution
The text was updated successfully, but these errors were encountered: