[Pkg-rust-maintainers] About Rustc 1.2

Sylvestre Ledru sylvestre at debian.org
Thu Aug 13 12:25:46 UTC 2015


Le 12/08/2015 17:44, Luca Bruno a écrit :
> On Wednesday 12 August 2015 11:36:53 Sylvestre Ledru wrote:
>> Hello,
>>
>> Just a quick update to let you know that 1.2 is almost ready.
>> I just have an issue with the rebase of debian/patches/add-soname
>> The code changed a lot and I need to refresh the patch.
>> I will give it a try in the next few days but don't hesitate to step in.
> 
> I'm a bit short on building power, so I can't test this on the fly.
> I think the issue is that arg() now take an OsStr instead of the previous 
> OsString.
> 
> I Think you can just fix using this:
>   OsString::as_os_str(&self) -> &OsStr
> 

With the help of one of my colleague working on Servo, we wrote this:
    if dylib && t.options.linker_is_gnu {
        let soname = [String::from("-Wl,-soname="), String::from(out_filename.file_name().unwrap().to_str().unwrap())];
        cmd.args(&soname);
    }

But the final link fails with:
Does it ring a bell ?

x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_driver-62abc69f.rlib
LD_LIBRARY_PATH=/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib:$LD_LIBRARY_PATH   x86_64-unknown-linux-gnu/stage0/bin/rustc --cfg stage0 -C link-args="-Wl,-z,relro" -O --cfg rtopt -C prefer-dynamic -Z no-landing-pads --target=x86_64-unknown-linux-gnu  -o
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc /home/sylvestre/dev/debian/rustc.git/src/driver/driver.rs --cfg rustc
error: linking with `cc` failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc.o" "-o"
"x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc" "-Wl,--whole-archive" "-l" "morestack" "-Wl,--no-whole-archive" "-Wl,--gc-sections" "-pie" "-Wl,-O1" "-nodefaultlibs" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_driver-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_trans-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_privacy-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_borrowck-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_resolve-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_lint-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_typeck-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "flate-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_data_structures-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "arena-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "graphviz-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "getopts-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rbml-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_back-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "syntax-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "serialize-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "term-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "log-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "fmt_macros-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_llvm-62abc69f" "-L" "/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-62abc69f" "-L"
"/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/sylvestre/dev/debian/rustc.git/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/sylvestre/dev/debian/rustc.git/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,-Bdynamic" "-l"
"z" "-l" "pthread" "-l" "ffi" "-l" "edit" "-l" "tinfo" "-l" "dl" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "rt" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-Wl,-z,relro" "-l" "compiler-rt"
note: /home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::TargetRegistry::lookupTarget(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::RTDyldMemoryManager::getSymbolAddressInProcess(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::sys::DynamicLibrary::getPermanentLibrary(char const*, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::report_fatal_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::SectionMemoryManager::finalizeMemory(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::createPrintModulePass(llvm::raw_ostream&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::Triple::normalize[abi:cxx11](llvm::StringRef) »
/home/sylvestre/dev/debian/rustc.git/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-62abc69f.so: référence indéfinie vers « llvm::RTDyldMemoryManager::getPointerToNamedFunction(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, bool) »
collect2: error: ld returned 1 exit status

error: aborting due to previous error
/home/sylvestre/dev/debian/rustc.git/mk/target.mk:179: recipe for target 'x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc' failed

Thannks

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-rust-maintainers/attachments/20150813/4abf3fa9/attachment.sig>


More information about the Pkg-rust-maintainers mailing list