Tampilkan postingan dengan label Strace. Tampilkan semua postingan
Tampilkan postingan dengan label Strace. Tampilkan semua postingan

Selasa, Oktober 01, 2019

Rpmbuild : File not found

Command line lengkap rpmbuild , sebagai berikut:
$ rpmbuild -ba Package.spec
Content dari Package.spec yang error ..
...
%prep
%setup -q
%build
%install
touch $RPM_BUILD_ROOT/opt/package-1.0.0
%files
/opt/package-1.0.0
<EOF>
Pesan error ..
RPM build errors: File not found: /opt/package-1.0.0
Debug dengan strace ..
$ strace rpmbuild -ba Package.spec
Hasil dari strace ..
write(1, "Processing files: package-1.0.0"..., 44) = 44
lstat64(".. package-1.0.0-1.i386/opt/package-1.0.0\r"
  , 0xbf89db80) = -1 ENOENT (No such file or directory)
write(2, "error: ", 7error: )                  = 7
write(2, "File not found: rpmbuild/"..., 93 
  File not found: 
  rpmbuild/BUILDROOT/package-1.0.0-1.i386/opt/package-1.0.0
  ) = 93
Dari output strace di atas terlihat jelas terdapat karakter \r setelah alamat file. Dan berikut content dari Package.spec yang okay, yaitu tanpa line ending setelah alamat file ..
...
%prep
%setup -q
%build
%install
touch $RPM_BUILD_ROOT/opt/package-1.0.0
%files
/opt/package-1.0.0<EOF>

Selasa, Juli 10, 2012

Strace : Debugging di Ubuntu

Awalnya saya heran, kenapa kok subversion nggak bisa jalan di netbook. Padahal koneksi ke internet-nya nggak pake proxy lho. Setalah searching ke sana kemari ketemu-lah halaman bug report yang error message-nya hampir sama dengan yang saya lihat di netbook 1005HA. Teknik yang digunakan untuk debugging adalah dengan menggunakan perintah strace sebelum perintah yang gagal dijalankan.

Ketemulah output sebagai berikut:
connect(4, {sa_family=AF_INET, sin_port=htons(8080), sin_addr=inet_addr("10.100.200.236")}, 16) = -1 EINPROGRESS (Operation now in progress) poll([{fd=4, events=POLLOUT}], 1, 3600000Jiahhh, ternyata masalahnya sudah ditemukan. terlihat di output message dari strace bahwa subversion mengakses proxy untuk connect ke internet. Problem solved :-)

Lebih jauh, Wikipedia memberikan informasi sebagai berikut:
strace is a debugging utility for Linux and some other Unix-like systems to monitor the system calls used by a program and all the signals it receives, similar to "truss" utility in other Unix systems. This is made possible by a kernel feature known as ptrace.