2012-01-04 32 views
8

Chạy Perl 5.10 CPAN trên Solaris với gói opencsw.org, Makefile.PL từ gói không thể tìm thấy đường dẫn chính xác và cc (gcc).Cách thông báo cho CPAN về đường dẫn để thực hiện và cc

Tôi tìm thấy đường dẫn để tạo và đặt nó thành gmake, nhưng tôi không thể tìm thấy bất kỳ cài đặt nào cho cc. Tôi nghĩ rằng tôi đã từng thiết lập điều này trong CPAN/Config.pm (hoặc với o config ...) nhưng không thể tìm thấy bất kỳ cài đặt nào và không có đủ kiên nhẫn để lội qua bụi cây để tìm ra nơi như vậy điều cơ bản được thiết lập.

Có ai biết không?

Trả lời

10

cpan không cần biết địa chỉ gcc hoặc tương đương là vì công việc này không trực tiếp là công việc của cpan. Thông thường nó là Makefile.PL hoặc Build.PL cần phải biết điều đó, và nó thường sẽ chấp nhận trình biên dịch để sử dụng như một đối số dòng lệnh. Nếu bạn thêm PERLMAINCC=/compiler/to/use đến o conf makepl_arg thì nên làm điều đó.

+0

Config.pm là nơi này được thiết lập và sẽ quyết định những gì mỗi Makefile.PL thấy. Nhưng bạn đã trả lời câu hỏi của tôi. Cảm ơn bạn! –

2

Tiện ích mở rộng cần phải được xây dựng với cùng các công cụ như Perl và Perl nhớ những công cụ đó là gì.

Nếu bạn đã xóa hoặc di chuyển chúng, điều đó có thể là một vấn đề.

Nhưng nhiều khả năng, bạn chưa cài đặt (các) gói từ bản phân phối cung cấp cho chúng. Cài đặt các gói bị thiếu.

+0

Tôi đang sử dụng Solaris 10 và bản phân phối của tôi là opencsw.org. Perl 5.8 là từ gói Solaris ban đầu, nhưng Perl 5.10 là đầu tiên trong đường dẫn của tôi là từ OpenCSW. Tôi cũng đã cài đặt gcc và gmake và có thể chạy chúng từ dòng lệnh. –

2

Trong cpan_home/CPAN/Config.pm (hoặc thông qua o conf):

'make_arg' => q[CC=/path/to/c-compiler] 
+0

Chạy vào vấn đề này trong môi trường cụm cố gắng xây dựng Net :: SSLeay nơi hệ thống 'cc' quá cũ và không hỗ trợ tùy chọn' -fstack-protector-strong'. Đặt 'make_arg' thành' CC = gcc' (phiên bản mới hơn trong '$ PATH') của tôi là giải pháp đúng trong trường hợp này. – TheDudeAbides

Các vấn đề liên quan