Hello When I try to build the fast mode use scons build/ARM/gem5.fast There is an error when link the gem5.fast.unstripped.
My OS is CentOS: CentOS Linux release 7.7.1908 (Core) The opt mode didn't have this error. And before I saw a message that use -no-lto can solve the ld returned error, I tried and it really works, But the log in the message is "/usr/bin/ld: lto-wrapper failed", so use -no-lto make sense, While my error is all about DictionaryCompressor Another info is I use the CentOS 7.6.1810 in docker can compile the fast mode successfully. Could somebody help me? The log is as bellow: [ LINK] -> ARM/gem5.fast.unstripped /tmp/cc40Zlyp.ltrans4.ltrans.o: In function `ArmSemihosting::callTmpNam(ThreadContext*, bool, std::vector<unsigned long, std::allocator<unsigned long> >&)': <artificial>:(.text+0x2457f): warning: the use of `tmpnam' is dangerous, better use `mkstemp' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `FPCD::getPattern(std::array<unsigned char, 4ul> const&, std::array<unsigned char, 4ul> const&, int) const [clone .local.151]': <artificial>:(.text+0x8bf0f): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0x8bf51): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0x8bf84): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0x8bfa8): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0x8bff4): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' /tmp/cc40Zlyp.ltrans0.ltrans.o:<artificial>:(.text+0x8c04d): more undefined references to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' follow /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedPattern<4294901760u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.70300.24212]': <artificial>:(.text+0xecaac): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<4294967295u, 4294901760u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64602.24174]': <artificial>:(.text+0xecace): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecad9): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecae6): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<0u, 4294901760u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64599.24136]': <artificial>:(.text+0xecafb): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecb06): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecb13): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedPattern<4294967295u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.70299.23926]': <artificial>:(.text+0xecb2f): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecb39): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<4294967295u, 4294967295u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64595.23983]': <artificial>:(.text+0xecb5e): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecb69): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecb73): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<0u, 4294967295u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.70298.23955]': <artificial>:(.text+0xecb8b): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecb96): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecba0): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedPattern<4294967040u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.70302.23938]': <artificial>:(.text+0xecbbf): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecbcb): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<0u, 4294967040u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.70301.24039]': <artificial>:(.text+0xecbeb): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecbf6): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecc02): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedPattern<16777215u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64597.635848]': <artificial>:(.text+0xecc1f): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecc2e): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<0u, 16777215u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64596.24059]': <artificial>:(.text+0xecc4b): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecc56): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecc65): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedPattern<4278255360u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64601.635852]': <artificial>:(.text+0xecc7f): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecc8e): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<0u, 4278255360u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64600.24156]': <artificial>:(.text+0xeccab): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xeccb6): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xeccc5): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedPattern<65535u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64604.635856]': <artificial>:(.text+0xeccdf): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xeccea): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::MaskedValuePattern<0u, 65535u>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64603.24194]': <artificial>:(.text+0xecd0b): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' <artificial>:(.text+0xecd16): undefined reference to `DictionaryCompressor<unsigned int>::fromDictionaryEntry(std::array<unsigned char, 4ul> const&)' <artificial>:(.text+0xecd21): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned int>::RepeatedValuePattern<unsigned char>::decompress(std::array<unsigned char, 4ul>) const [clone .local.64598.24078]': <artificial>:(.text+0xecd4a): undefined reference to `DictionaryCompressor<unsigned int>::toDictionaryEntry(unsigned int)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned long>::MaskedPattern<18446744073709551615ul>::decompress(std::array<unsigned char, 8ul>) const [clone .local.50160.240007]': <artificial>:(.text+0xecd70): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' <artificial>:(.text+0xecd7c): undefined reference to `DictionaryCompressor<unsigned long>::toDictionaryEntry(unsigned long)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `DictionaryCompressor<unsigned long>::MaskedValuePattern<0ul, 18446744073709551615ul>::decompress(std::array<unsigned char, 8ul>) const [clone .local.37954.240021]': <artificial>:(.text+0xecd9b): undefined reference to `DictionaryCompressor<unsigned long>::toDictionaryEntry(unsigned long)' <artificial>:(.text+0xecda7): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' <artificial>:(.text+0xecdb3): undefined reference to `DictionaryCompressor<unsigned long>::toDictionaryEntry(unsigned long)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `ZeroCompressor::getPattern(std::array<unsigned char, 8ul> const&, std::array<unsigned char, 8ul> const&, int) const [clone .local.119]': <artificial>:(.text+0xecdd7): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' <artificial>:(.text+0xece1a): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' /tmp/cc40Zlyp.ltrans0.ltrans.o: In function `RepeatedQwordsCompressor::getPattern(std::array<unsigned char, 8ul> const&, std::array<unsigned char, 8ul> const&, int) const [clone .local.129]': <artificial>:(.text+0xecf05): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' <artificial>:(.text+0xecf15): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' <artificial>:(.text+0xecf62): undefined reference to `DictionaryCompressor<unsigned long>::fromDictionaryEntry(std::array<unsigned char, 8ul> const&)' collect2: error: ld returned 1 exit status scons: *** [build/ARM/gem5.fast.unstripped] Error 1 scons: building terminated because of errors.
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
