GCC在Arch Linux上的行为不同
我是ArchLinux的新手。我试图从github编译IRAF包,但出现了多个定义错误GCC在Arch Linux上的行为不同,linux,gcc,manjaro,arch,iraf,Linux,Gcc,Manjaro,Arch,Iraf,我是ArchLinux的新手。我试图从github编译IRAF包,但出现了多个定义错误 /usr/bin/ld: xppcode.o:/home/nastya/iraf/unix/boot/spp/xpp/xppcode.c:109: multiple definition of `errflag'; xppmain.o:/home/nastya/iraf/unix/boot/spp/xpp/xppmain.c:21: first defined here collect2: error: ld
/usr/bin/ld: xppcode.o:/home/nastya/iraf/unix/boot/spp/xpp/xppcode.c:109: multiple definition of `errflag'; xppmain.o:/home/nastya/iraf/unix/boot/spp/xpp/xppmain.c:21: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:19: sysgen] Error 1
我的操作系统是Manjaro Linux。我使用gcc(gcc)10.1.0
我还尝试在其他LINUX发行版(Ubuntu、Debian)上编译这个包,一切都很好
问题只出现在拱门上。我还尝试使用不同版本的GCC(5.5和7.5.0),但它并没有解决问题
我之前在尝试在Arch上安装另一个包(GALFIT)时也遇到过这个问题,在这种情况下,它完美地安装在除Arch之外的其他LINUX发行版上
非常感谢您的帮助和建议。将
-fcommon
添加到您的CFLAGS
,并将错误报告给开发人员。是否可能不是gcc而是另一个二进制文件,比如ld,它与您在构建成功的平台上使用的版本不同?我在过去也遇到过类似的问题,当一个发行版为不同的目的提供不同的二进制文件时。由于操作系统不同,很多事情都可能导致错误。你试过从AUR安装这个软件包吗?@qmeeus,是的,我试过先从AUR安装这个软件包。但是我不能这样做,我得到了curl:(22)请求的URL返回错误:404未找到==>错误:下载时失败http://iraf.noao.edu/iraf/ftp/iraf/v216/PCIX/as.pcix.gen.gz 流产。。。下载源代码时出错:iraf
,然后我决定从github安装它。然后,您最好按照第一条评论中的建议将其报告给github上的开发人员:)-fcommon
曾是默认的gcc标志。自从gcc-10之后,它就不再是了。这是gcc开发人员故意做出的决定。这是一个正确还是错误的决定取决于你的判断。