x86 아키텍처에서 OpenIMSCore를 사용하고 있습니다. power-pc 용 OpenIMS를 컴파일해야합니다. /ser_ims/Makefile.defs 파일에는 ppc에 대한 옵션이 있습니다. 그러나 ppc를 위해 그것을 컴파일하는 방법을 알아낼 수는 없습니다. IMS를 구성하고 ppc로 컴파일 할 수있는 구성 파일이 없습니다. 누구든지 컴파일 된 IMS를 교차 시켰습니까? 나는
IP 멀티미디어 서브 시스템 교차 컴파일
- 는
- 는 CFLAGS = "아치 = PPC를"만들
을 CFLAGS = "아치 = 파워 매킨토시"를 만드는 명령을 통해 컴파일 시도했지만 모두 명령이 작동하지 않습니다. 이 오류 다음주고있다 :
Makefile.defs:598: You are using an old and unsupported gcc version (G++), compile at your own risk! powerpc-linux-gnu-gcc -g -O9 -funroll-loops -Wcast-align -Wall -DNAME='"ser"' -DVERSION='"2.1.0-dev1 OpenIMSCore"' -DARCH='"i386"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"powerpc-linux-gnu-gcc G++"' -D__CPU_i386 -D__OS_linux -DSER_VER=2001000 -DCFG_DIR='"/usr/local/etc/ser/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_IPV6 -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DDBG_QM_MALLOC -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -ggdb -DUSE_TLS -DTLS_HOOKS -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DHAVE_SELECT -c core_cmd.c -o core_cmd.o
core_cmd.c: In function 'core_shmmem': mem/../fastlock.h:181: error: can't find a register in class 'MQ_REGS' while reloading 'asm' mem/../fastlock.h:358: error: can't find a register in class 'MQ_REGS' while reloading 'asm' mem/../fastlock.h:181: error: can't find a register in class 'MQ_REGS' while reloading 'asm' mem/../fastlock.h:181: error: 'asm' operand has impossible constraints
이제 IMS를 컴파일 할 수 있습니다. 교차 comiling 후 나는 전원 pc 생성 된 개체 파일을 얻을. 하지만 지금 당면한 문제는 OpenIMS에서 Makefile이 하나도 없다는 것입니다. IMS 내에서 다른 모든 메이크 파일에 영향을 주어야하는 주요 Makefile을 통해 크로스 컴파일되었습니다. 그러나 그렇게하지는 않습니다. – pragya
예, 오브젝트 파일 생성시 오류는 발생하지 않지만, 크로스 컴파일 프로세스의 링크 단계에서 아키텍처 문제와 관련된 오류가 발생합니다. 그것이 '수업 시간에 등록 기관을 찾을 수 없습니다'라는 내용입니다. makefile의 어딘가에서 LDFLAG에 명시되도록 다른 공유 라이브러리 경로를 명시 적으로 지정해야합니다. – pRAShANT