macports / dylib thất bại với libc ++ abi.dylib: chấm dứt được gọi là ném ngoại lệ Bẫy Abort: 6


0

Tôi đã cài đặt Macports vowpal_wmus v6.1 trên MacOS 10.8.4 và nó chết với:

libc++abi.dylib: terminate called throwing an exception
Abort trap: 6

Tôi đã đọc xung quanh rất nhiều và có vẻ như đây là vấn đề tương thích đã biết giữa libc ++ được biên dịch với gcc vs llvm. Tôi đã đọc hãy cẩn thận về trình biên dịch trộn . Các triệu chứng dường như tương tự như điều này . Tôi mơ hồ nhớ lại có một lý do tương thích với một số cổng tôi đã cài đặt buộc tôi phải sử dụng mp-gcc thay vì llvm, nó có thể là một sự phụ thuộc cũ kỹ của numpy hoặc tương tự.

Phiên bản MacPorts là 2.2.0. Phiên bản XCode là 5.0 và trước đây tôi cũng đã thử không thành công với 4.6. Tôi đã gỡ cài đặt, dọn dẹp và cài đặt lại để không thành công. Phiên bản:

vowpal_wabbit-6.1_0+cluster.darwin_12.x86_64
boost @1.54.0_0+no_single+no_static+python27

Các phiên bản trình biên dịch Macports là: sudo port select --show gcc trả lại mp-gcc45 sudo port select --show cc trả lại Error: The 'show' command failed: The specified group 'cc' does not exist. Tôi không thấy trình biên dịch nào sẽ được sử dụng theo mặc định? Nó không phá vỡ mọi thứ nếu tôi cài đặt lại mọi Macport với llvm? Tôi có nhiều cổng được cài đặt và điều đó sẽ thực sự đau đớn, không cần phải nói cũng phá vỡ những thứ khác.

Cũng thế:     otool -L / opt / local / bin / vw

/opt/local/lib/libboost_program_options-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.7)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)

Tôi nghĩ bạn cần phải hỏi điều này trong danh sách gửi thư của người dùng macports
Mark

@ dấu Nhưng lỗi tương thích dylib này xảy ra với hàng tá công cụ khác - theo liên kết của tôi. Đó là vấn đề Mac dylib, không phải vấn đề macports.
smci

Khi bạn đang cài đặt một macports, đó là một vấn đề về macports, porter sẽ giải quyết mọi vấn đề. Macports thông thường có bạn chạy sudo port selfupdate
Mark

Lưu ý rằng macports sử dụng tiếng kêu của Apple theo mặc định chỉ sử dụng gcc nếu cần.
Mark

@Dấu. Nó nhận được trình biên dịch nhưng các thư viện sai. Tôi đang đào sâu vào cuộc thảo luận về danh sách macports và portfile ...
smci

Câu trả lời:


1

Cả vowpal_wợi và phụ thuộc Boost của nó dường như bị biên dịch sai và liên kết với hệ thống libstdc ++ thay vì /opt/local/lib/libstdc++.6.dylib của macport

Giải pháp có vẻ là:

a) Hack cài đặt macports Boost bằng một trong hai cách sau:

b) Sau đó, chúng ta phải hack tệp macports để trỏ VW vào cài đặt Boost


1
Đó không phải là libstdc ++ của Boost mà là macports trong /opt/local/lib/libstdc++.6.dylib
Mark
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.