Làm cách nào để gỡ lỗi lỗi xây dựng không thể sao chép bên ngoài môi trường xây dựng Launchpad?


8

Tôi đang cố gắng xây dựng một gói libdbusmenu đã sửa đổi. Nó xây dựng chính xác nếu tôi xây dựng nó cục bộ:

sudo apt-get build-dep libdbusmenu
wget https://launchpad.net/~a-j-buxton/+archive/dbusmenu/+files/libdbusmenu_12.10.3%2B13.10.20130913-0ubuntu2.1.diff.gz
wget https://launchpad.net/~a-j-buxton/+archive/dbusmenu/+files/libdbusmenu_12.10.3%2B13.10.20130913-0ubuntu2.1.dsc
wget https://launchpad.net/~a-j-buxton/+archive/dbusmenu/+files/libdbusmenu_12.10.3%2B13.10.20130913.orig.tar.gz
dpkg-source -x libdbusmenu*.dsc
cd libdbusmenu*
dpkg-buildpackage

Tuy nhiên, trong PPA, một trong những thử nghiệm không chạy được khiến cho quá trình xây dựng bị lỗi. Đầu ra thử nghiệm thực tế không được ghi vào buildlog:

https://launchpadlibrarian.net/155471644/buildlog_ubfox-saucy-amd64.libdbusmenu_12.10.3%2B13.10.20130913-0ubfox2.1_FAILEDTOBUILD.txt.gz

Làm thế nào tôi có thể giải quyết vấn đề này?

Nó có thể đi xuống để tái tạo chặt chẽ hơn môi trường xây dựng được sử dụng bởi các nhà xây dựng PPA. Nếu vậy, làm thế nào để tôi làm điều đó?

Tôi đã thử xây dựng bằng cách sử dụng chroot pbuilder - điều này hoạt động chính xác trên hệ thống địa phương của tôi.

Lintian đưa ra các cảnh báo sau trên bao bì:

W: libdbusmenu source: quilt-build-dep-but-no-series-file
W: libdbusmenu source: patch-system-but-no-source-readme
W: libdbusmenu source: ancient-standards-version 3.9.2 (current is 3.9.4)

Có, lintian tạo ra rất nhiều lỗi trên gói. Nhưng đây thực sự là một gói Ubuntu chưa được sửa đổi (chỉ có thay đổi thay đổi) được xây dựng ở mọi nơi ngoại trừ trong PPA, vì vậy tôi không tin rằng đó là vấn đề.
Alistair Buxton

Tôi không chắc chắn nếu điều này đủ điều kiện là một câu trả lời, nhưng bạn có thể so sánh nhật ký xây dựng của mình với nhật ký xây dựng từ gói Ubuntu chính thức. Bạn có thể thêm export VERBOSE=1vào debian/rulesđể buộc toàn bộ đầu ra của bộ kiểm tra được ghi vào nhật ký xây dựng khi nó không thành công. Bạn có thể thử sử dụng sbuild thay vì pbuilder, xem wiki.ubfox.com/SimpleSbuild .
Mike Miller

Câu trả lời:


1

Khi xem qua nhật ký, có một số cảnh báo, có lẽ bạn nên xem, đặc biệt nếu bạn không đưa chúng vào máy cục bộ, nhưng tôi nghĩ gợi ý lớn về những gì đang diễn ra là tên của bài kiểm tra thất bại: glib -sự kiện.

các sự kiện hầu như luôn liên quan đến I / O, vì vậy, để cố gắng buộc lỗi trên máy cục bộ bỏ đặt XAUTHORITY và HIỂN THỊ, đóng đầu vào tiêu chuẩn hoặc chuyển hướng nó sang / dev / null và chuyển hướng ra ngoài và lỗi thành một tệp. nohup sẽ thực hiện chuyển hướng cho bạn, nhưng sẽ không chạm vào môi trường hoặc bạn có thể sử dụng tại hoặc đợt thay vì nohup cũng mang lại lợi thế thay đổi người dẫn đầu phiên.


Một ý tưởng tốt, nhưng tiếc là nó không hoạt động. Tất cả các bài kiểm tra vẫn vượt qua khi pbuilder được chạy từ lúc không có môi trường.
Alistair Buxton
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.