有没有在rpm spec文件中指定为构build需求packageX或packageY的方法。
当前的nodejs 4.1需要g ++> = 4.8或者clang ++> = 3.4来构build包。
这只是build立rpm的一个要求,而不是安装后要求的包。 我不知道如何指定,或者如果有可能在BuildRequires。
用rpm规格指定X或Y是不可能的。
但是,您可以执行的操作是指定对文件path的依赖关系,例如:
BuildRequires: /usr/bin/sudo
yum-builddeps然后将查找提供特定文件的包。 为了这个工作,X和Y必须提供一个具有相同path的文件。
Node.js依赖于一些库。 在你的具体情况下,允许用任何编译器来构buildnode.js是非常不明智的,你可以看到node.js,因为任何其他的依赖于库的软件都应该使用相同的编译器构build,因为它依赖于它的库。 然而,这不是严格的规则 – 当使用不同的编译器系列时,一切都可能正常。 但是在很多情况下,dynamic加载器由于不同的符号修饰algorithm而不能parsing特定符号(例如,我已经注意到这种情况),所以除非你做了所有必要的预防措施来排除这种可能性,否则你可能不应该依靠它。 所以我猜你的spec文件应该更具体一些,或者你可能应该为不同的编译器创build多个srpms。
PS我认为这个问题会更适合SE门户。