{"id":628,"date":"2008-02-18T13:04:53","date_gmt":"2008-02-18T11:04:53","guid":{"rendered":"http:\/\/my.stargazer.at\/?p=628"},"modified":"2008-02-18T13:06:10","modified_gmt":"2008-02-18T11:06:10","slug":"samba-or-libcap-206","status":"publish","type":"post","link":"https:\/\/my.stargazer.at\/de\/2008\/02\/18\/samba-or-libcap-206\/","title":{"rendered":"Samba oder doch libcap-2.06?"},"content":{"rendered":"<p>Nachdem ich mir mein System wieder mal zerlegt habe und ein revdep-rebuild unumg\u00e4nglich war, ging es eben genau an diesen Vorgang und ich ins Bett. Am Morgen waren aber leider nicht alle Pakete gebaut, da der Vorgang bei Samba mit folgendem Fehler abgebrochen war.<\/p>\n<p><!--more--><\/p>\n<blockquote><p><small><code>Compiling smbd\/oplock_irix.c<br \/>\nCompiling smbd\/oplock_linux.c<br \/>\nsmbd\/oplock_linux.c:38: error: conflicting types for \u2018capget\u2019<br \/>\n\/usr\/include\/sys\/capability.h:111: error: previous declaration of \u2018capget\u2019<br \/>\nwas here<br \/>\nsmbd\/oplock_linux.c:40: error: conflicting types for \u2018capset\u2019<br \/>\n\/usr\/include\/sys\/capability.h:110: error: previous declaration of \u2018capset\u2019<br \/>\nwas here<br \/>\nThe following command failed:<br \/>\ngcc -I\/var\/tmp\/portage\/net-fs\/samba-3.0.28\/work\/samba-3.0.28\/source  -march=native<br \/>\n-O2 -fomit-frame-pointer -pipe -D_SAMBA_BUILD_=3<br \/>\n-I\/var\/tmp\/portage\/net-fs\/samba-3.0.28\/work\/samba-3.0.28\/source\/iniparser\/src<br \/>\n-Iinclude -I.\/include  -I. -I. -I.\/lib\/replace -I.\/lib\/talloc -I.\/tdb\/include<br \/>\n-I.\/libaddns -I.\/librpc -DHAVE_CONFIG_H  -D_LARGEFILE64_SOURCE<br \/>\n-D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE<br \/>\n-I\/var\/tmp\/portage\/net-fs\/samba-3.0.28\/work\/samba-3.0.28\/source\/lib<br \/>\n-D_SAMBA_BUILD_=3 -fPIC -c smbd\/oplock_linux.c -o smbd\/oplock_linux.o<br \/>\nmake: *** [smbd\/oplock_linux.o] Error 1<\/code><\/small><\/p><\/blockquote>\n<p><\/p>\n<p>Da das Paket aber schon mal baubar war, musste ein Update eine Abh\u00e4ngigkeit zerschossen haben. Die Fehlermeldung deutet auf die libcap hin. Laut dem Emerge-Log wurde diese die Tage mal upgedated.<\/p>\n<p>Frech wie immer, sehe ich mir den Sourcecode von Samba an der entsprechenden Abbruchstelle an, welche ich in der Datei smbd\/oplock_linux.c vermute. Wenn ich nun die Fehlermeldung &#8222;previous declaration of \u2018capset\u2019&#8220; richtig interpretiere, dann liegt der Hund in einer doppelten Deklaration von &#8218;capset&#8216;.<\/p>\n<p>Editor auf, Datei geladen und siehe da, es zeigt sich eine Passage, die sich wie folgt lie\u00dft:<\/p>\n<blockquote><p><code>struct cap_user_data {...}<\/p>\n<p>extern int capget(struct cap_user_header * hdrp,<br \/>\n                  struct cap_user_data * datap);<br \/>\nextern int capset(struct cap_user_header * hdrp,<br \/>\n                  const struct cap_user_data * datap);<\/p>\n<p>static SIG_ATOMIC_T signals_received<\/code><\/p><\/blockquote>\n<p>Frech wie ich bin, entferne ich die Deklaration von capget und capset, da mir mein Bauchgef\u00fchl nebst Hunger noch mitteilt, dass dies gleich der n\u00e4chste Haken werden k\u00f6nnte. Dann wird wieder compiled. Und siehe da, das Problem ist Geschichte&#8230;<\/p>","protected":false},"excerpt":{"rendered":"<p>Nachdem ich mir mein System wieder mal zerlegt habe und ein revdep-rebuild unumg\u00e4nglich war, ging es eben genau an diesen Vorgang und ich ins Bett. Am Morgen waren aber leider nicht alle Pakete gebaut, da der Vorgang bei Samba mit folgendem Fehler abgebrochen war.<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[39,22,57,500],"class_list":["post-628","post","type-post","status-publish","format-standard","hentry","category-it-related-stuff","tag-gentoo","tag-linux","tag-problem","tag-samba"],"_links":{"self":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/posts\/628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/comments?post=628"}],"version-history":[{"count":0,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/posts\/628\/revisions"}],"wp:attachment":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/media?parent=628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/categories?post=628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/tags?post=628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}