기본 바이너리 라이브러리에 중복된 복합 기호 오류가 포함되어 있습니다.

기본 바이너리 라이브러리에 중복된 복합 기호 오류가 포함되어 있습니다.

저는 소스에서 C/C++ 라이브러리를 컴파일하기 위해 GCC를 사용하고 있습니다. 대부분의 코드는 Linux 커널에 중점을 두고 Unix용으로 작성되었습니다. 저는 이를 AIX에서 작동하도록 조정하려고 노력해 왔습니다. 내가 변경한 대부분은 AIX 관련 플래그 레이블과 조건을 추가하는 것이었고, 가정상으로는 코드가 손상되지 않아야 합니다. 그러나 .__init_aix_libgcc_cxa_atexit선택하면 사전 컴파일 또는 컴파일 시간에 생성된 복합 기호라는 다음과 같은 중복 기호 경고가 표시됩니다 .

경고하다

ld: 0711-228 WARNING: Duplicate symbols were found while resolving symbols.
    The following duplicates were found:
 Symbol                    Source-File(Object) OR Import-File{Shared-object}
 ------------------------- -------------------------------------------------
 .__init_aix_libgcc_cxa_atexit ../../../../../gcc-9.1.0/libgcc/config/rs6000/crtcxa.c(/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/9.1.0/pthread/ppc64/crtcxa.o)
    ** Duplicate **        {../../../target/usr/local/lib/libhdfs.so}
RESOLVE: 176 of 5701 symbols were kept.
RESOLVE: The return code is 4.

추가 정보: AIX 7.1 CMAKE 3.15.0 GCC 9.1-AIX-7.1

소스 코드와 빌드 스크립트를 검색했지만 문제를 찾을 수 없는 것 같습니다. 컴파일러가 C99 및 C++11 표준을 사용하도록 강제했으므로 이는 문제가 되지 않습니다. 이 "경고"가 다운스트림 컴파일 오류를 일으킬 것으로 의심되기 때문에 누군가 이 문제를 확인할 위치나 수정 방법에 대한 추가 지침을 제공할 수 있다면 좋을 것입니다.

그 밖에 필요한 것이 있으면 알려주시기 바랍니다.

관련 정보