Linuxって実際の所バイナリ互換どれくらいあるの?
原則としてディストリやバージョンが変われば
再コンパイルする必要があるってのはわかる。
でも実は再コンパイルしなくても動いたりするんじゃないか?
世の中にはソースを公開できないアプリがある。
そういうアプリを作っている会社がいちいち各ディストリや
各バージョンに対応するのは手間がかかる。
結果、自分のディストリ・バージョンに正式対応していないが
実は結構動くんじゃないかって疑問になった。
system callはあまり変わっていないんだっけ?POSIX互換に限らず… システムコールはむしろLinuxがPOSIX非準拠だったのを細々と直してる。
でもそんな細部に依存してるアプリはまずないだろう。 パッケージマネージャでNixが普及してくれればバイナリ互換性とかライブラリ互換性気にしなくて良くなりそうだけどどうなんだろ 使っているglibcの--enable-kernelオプションが
違うだけでもバイナリ互換性が無くなる。
例えば最近のFedoraのglibcは--enable-kernel=2.6.32で
コンパイルされているので、このglibcは勿論、この
glibcを使ってコンパイルされたバイナリもkernel 2.6.32未満では
動かない。
$ file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs),
for GNU/Linux 2.6.32, <======
BuildID[sha1]=0xaad547afe804114c881db3ca6e337794431b93f4, stripped
(RHEL 5.xのバイナリはRHEL 6.xで動く可能性が
あるが、RHEL 6.xのバイナリはRHEL 5.xでは動かない) 漢なら潔く拡張命令モリモリ利用
バイナリ互換性なんて気にしないぜ! 同じディス鳥であっても、ディス鳥のバージョンごとにバイナリが公開されているから
バイナリ互換は最低だね。
ソースを公開して、ある程度人気が出て、ディス鳥側に常にメンテしてもらわなければ
ソフトを作っても誰にも使われることがない。
個人でソフトを作って配布とかできないシステム。
決まりきったディス鳥認定ソフトしか使うことができないのさ。 ある程度人気出たら
「ディストリに入れよう」って人も出てくるけどなぁ。
入らなくても公式とは別にリポジトリ立てる人もいるし。 バイナリーの互換性がないから、Windowsにバカにされる。
動作しているライブラリやカーネルに
互換性が無い部分をアプリ側が場合分けして対応しているならともかく
それを行わないからandroidにもバカにされる。 気がついていないだけでソフトが少ないという点で困っていると思う。
ccでコンパイルしたa.outをVectorにアップロードしてもバイナリ互換がないので使える人がいない。
だから誰もプログラムを作らない。人気がない。ソフトがない。 Aという実装に依存してBという実装が作られるも
ある日突然Aが実装を変更して依存が壊れBという実装が動かなくなる
こういう場合
AかBのどちらかが問題を修正するなら問題無いけど
双方自分の実装が正しいと主張し修正を認めない時がある
こういうの何ていうの? >>34
ユーザーがいちいちソースからコンパイルして使うというのはLinuxでは一般的ではないだろう。
面倒すぎて受け入れられていないということだ。
ソース配布してもコンパイルするには時間がかかって手間だし、もしやる気があっても知識不足から手をつけられない人も多いだろう。
自分が開発しもしないのに、多くの種類の開発環境をインストールするのもばかばかしいだろう。
ソースを公開したい人や会社も少ない。
少なくとも俺はソース公開したくない。
プログラマーにとってはソース公開なんて自殺行為だからな。
ソース互換も100%じゃないしな。
開発環境やカーネルやライブラリのバージョンなどの関係ですんなりコンパイルが通るとも限らない。
コンパイルでエラーが出たら多くの人はあきらめるだろう。
バイナリ互換があってソース公開の義務さえなければ、多くの会社や個人がプログラム作成に参戦するが
バイナリ互換などないし、場合によってはソース公開の義務が出ることもあり、みんなWindowsのプログラム作っているのが現状。 libc5のバイナリーがまだ残ってるマシンもってるけど、普通に動いてる。
さすがにa.out形式は残ってない。 >>37
それ貴方の思い込みだから、Linuxのディストリの種類がどんだけあるか理解できていない。
マイナーとか含めたら万の単位いけるぞ。 >>38
ライブラリーがライブラリーを必要としている階層タイプが無いなら
ソースから作っても対した作業じゃないんだけど。
1つアプリを動かすのに芋づる的に作業が拡大したのを経験すると
ソース方式がクソって思えてくるな。
互換も引きずり過ぎるのも無理があるが、完全に見切るのも無理があるわ。 >>39
とんちんかんなレスだな
誰がディス鳥の数の話なんかしているのさ
むしろディス鳥の数が多いほうがバイナリ互換がない方向に向かっているじゃないか
バカなのかおまえは ないからアップデートかけたら芋づる式に大量のソフトが入れ替わるんだろw glibcみたいなコア中のコアはそうそうABI互換崩れないけどね。 作る側の思惑なんて関係ないんだよ
バイナリ互換が無いからみんなWindowsを使うんだよ
Linux使うくらいならMacの方が使いやすい(=バイナリ互換がある)んだよ
犬使うのは犬好きとOSマニアだけになっているのが現状
携帯みたいにユーザーへ影響があるPC用キラーソフトかPC用キラーハードが待ち遠しいぜ 誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。
グーグル検索⇒『宮本のゴウリエセレレ』
JTAQT7M8AK 僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
KL34O はぁ?コンパイラは関係ねーだろ
釣りにすらなってねーぞ >>51
カーネルが典型的な例。
ドライバの互換性は、コンパイラが変わるだけでもなくなる。 なんでドライバの話が出てくるんだよ
そりゃドライバだってバイナリだけど少なくとも>>1は読もうぜ
お前らそういった分別すらつかなくなったのか? ちな、miscのカーネルモジュールはコンパイラのバージョンが違くてもロードできるからな
全て論破されてるの解るか? それはCが十分に枯れてるから運良く問題が起きてないってだけなんだよなぁ
実際はABIが規定されてるわけじゃないからコンパイラの胸三寸で生成するバイナリの互換性をいくらぶっ壊そうがそれはルール違反じゃない
https://github.com/torvalds/linux/blob/master/Documentation/process/stable-api-nonsense.rst
実際カーネル付属のドキュメントでもビルドに使ったコンパイラのバージョンによっても構造体の詰物とかのデータの構造が変わる可能性がある事は言及されてるからね
ハイ、ロンp! お前らが書いたことの説明をしてるだけで流れを論破してないじゃん
あと運良くなんて存在しない 因縁つけて焦点ずらして何が楽しいんだ?
・>>1はきちんと読んだのか?
・ドライバという全く関係ない話だとしてもコンパイラが違っても互換がある場合もあるぞ?
違うのか?あ? ファーーーwww
自分で「コンパイラは関係ねーだろ」とか言っときながら「コンパイラが違っても互換がある場合もあるぞ」とかいい出したwwwww
うんうんそうだね、互換がある場合「も」あるね、そして「も」ってことはない可能性「も」あるねwww
じゃあコンパイラは関係あるねwwwwwww
はwwwいwwwちwwwwwんwwwwwぱーーーーーーーwwwwwwwwww 負けを認められないから無駄に草生やすんだね
気持ち分かるよ 俺はID:+7X+A5pUが全裸でそのまま外出しないことを祈ってる http://mao.5ch.net/test/read.cgi/linux/1531760480/36
このガイジまだ自分がぐぅの音も出ねぇほど完全否定されてんのに理解できてねーのなww
しかもあんまり可愛そうだから見逃してやったのにわざわざ関係ない他スレで効いてないアピールとかどんだけミジメなのwwww
つか「発狂させちゃった」とか>>61-64までの流れを自演しましたって白状しちゃってんじゃん、頭悪すぎてお腹痛いよぉぉwwwww
> アプリのバイナリの互換性スレなのにカーネルとドライバの互換性の話をググって理論武装しだす
ドライバをなんか特別なバイナリだと思ってんのかな?w
只のアプリだろうがドライバだろうが関係ねーんだよwwww
ドライバってかカーネルモジュールだって結局は只のELFのオブジェクトファイルだからそいつらがコンパイラのバージョンなんかによっても互換性が壊れるってのはユーザーランドの普通の実行ファイルでも一緒なのwwww
いい加減ハッタリやレッテル貼りだけじゃなくて技術的な反論してくれないかなぁwww >>65
昨日その後、全裸で外出したかどうかだけ教えてくれ まあ馬鹿をからかうのも飽きたな
ちゃんと「技術的な反論を」って言った上でなおこのレッテル貼り&単発自演しか出来ないんだから後は放置だな
いくらでも煽ってくれていいけど後は技術的なレス以外は反応しないから精々頑張って自尊心を保ってくれや もともと>>2で既に答えがでてて、あとは皆glibcの話で補足してるスレ
なのにコンパイラ発狂キチガイが現れる→本当にLinux使いか怪しい
で、調べたらいた
レッテル貼 で 検索
https://mao.5ch.net/test/read.cgi/linux/1507061282/
去年から常駐してて1つのスレに10回以上 レッテル貼 と書いて、
常に誰かと争ってんだぜこのキチガイ m9(^Д^) >>71
何だろうな、デタラメなこと書いてる。
firefoxは特殊な例。こんな仕様のソフトウェアは、Linuxでは稀なのにね。 各ディストーションから、最適化されたバイナリが配布されるから、
通常のユーザはそれをインストールして使う。
特別な事情が無い限り、ユーザーがビルドすることは無いだろう。
熱心なゲーマーなら当然ビルドするんだろうけど。 デストリが配布せにゃならん時点でおかしいんだけどな。 一部のディストーションでは、バイナリパッケージを共通化しているけどね。
たとえば、DebianとLMDE、MX Linuxなんかがそうだな。
バイナリに互換性を持たせることで、Linuxの開発が効率的になるね。 >ディストーション
ディストリビューション 打ち間違った。 Linuxって今も昔も互換性がないせいで車輪の再発明を繰り返してんですよねー。 ライブラリの互換性が心配ならstaticリンクしたらよろしい。 リンク時に全部突っ込むような無駄をやってバイナリを肥大化させてても、確保できる互換性は限られてるからな。
Linuxでトリが違うってのは厄介なんだぜ、まったくw Linuxで互換がないのはバイナリだけじゃないから、
バイナリ互換もたせてもあんまり意味ない。 API未実装な場合もあるからライブラリをスタティックリンクすれば解決するとは限らないのがLinuxなんだぜw
まさかのスレッド未実装なカーネルにぶち当たったときは目が点になったよ。 ま、つまりはUbuntuに粘着してるキモい奴はここ(https://w.atwiki.jp/shiga_keiichi/)見るとどんな奴かわかるぞ。 ま、今の業務アプリはほとんどWEBベースになってるからバイナリの互換性なんて関係ないんですけどね。
エンドユーザーがサーバープログラムをいじる訳じゃないし、WEBアプリの仕様に合わせて鯖缶が構築すれば終わり。 互換性がありゃsnapなんてものが出てくる余地はなかったんだがな。 >>45
WindowsだってMacOSだってバージョンが変われば互換性はなくなる。
失礼ながら、ものすごく知識なさそうw >>80
一体何のことかな?w
具体例を上げられるかい?w
もちろん上げられないなら糞ドザのいちゃもんってことでw
>>83
あに言ってんの?w
Javaか何かを引き合いに出してんのか?wもう馬鹿まるだしじゃんw
>>87
まあ、ぶっちゃけちゃえばそういうことよねw
世のアプリなんてほとんどがIBMのでJavaで動いてるしなあw
>>85
ってことで、ひらたく言って、ゴミなのはお前だなwまさにそのものだよw 唐突のロングパス。
しかもデタラメな内容でLinuxマンセー。
こんなバカをするのはここじゃ1人ぐらいしか居ない。
>>90はおそらく某Web翻訳家の書込みだなw >>2
何処でも動く様に調整してるんでしょ。
OSの違いを考慮できない人には解らない事だけどね。 >>85
MS社のWindows上で動くアプリケーションは、
Windowsのバージョンが異なると、ほぼ全滅ですよ。 >>95
いや、カスはお前だ
少しは自覚しろ低能カス 「ソース落としてきてコンパイルしろ」っていう動かない時の対策が通用するっていう事実が、Linuxが互換性捨ててる証拠になってるよな。 >>97
その程度の簡単なオペレーションが出来ない人は、
誰でも使えるように作られたMacやWindowsで我慢しなさいって事だろ。
マウス操作が幼児でも出来る簡単な操作だから採用された事を知らないんだろ。 どの角度からでも言及できるから議論がとっちらかってるけど、
例えば、x86-64で動いてるlinuxであればライブラリが静的に解決されていたり、
アプリのためにライブラリを落としてきたりすればおk
コンテナ化できるならカーネルのことだけ考えればいいからlinux自体には
バイナリ互換性あるけど、バイナリ互換性のないライブラリも多いので
ライブラリに依存する場合は気をつけろよというお話ですね。
条件が整っていればkernel2系のバイナリも普通に動くよ。 >>98
Linuxは「その程度の簡単なオペレーション」が必要になる程度の互換性しかないゴミなんぜw もうWindows板かMac板か知んないけど自分の巣に戻ったら?
低レベル過ぎてうんざり Q.Linuxにバイナリ互換あるの?
A.ソースを拾ってきてコンパイルすればいいんだ!!!
無いそうですw Linuxはスタティックリンクしておいても、カーネルバージョンですら「大抵」の互換性しかないからねぇ。
「互換性があります」って保証できる人や組織が居ないからしかたないけどね。
そんな状態で「Linuxは互換性あるんだ!うぇ〜ぃ!!」とかやってもLinuxのためにならんべ。
そんなのに「Windowsは〜Macは〜」ってゴミ信者はほんとにゴミだわ。
消えて無くなったほうが世のため人のためだねぇ。
ま、そんなゴミ信者が崇めるOSもゴミなわけだが。 つか、そもそも何が問題なのかさっぱりわからんw
MS工作員が何を勝ち誇っているのかもよくわからんw
だって、そもそもディストリが違う、ってことはOSが違う、ってことよ?
同じLinuxカーネルっていったって、ビルドオプションでその大きさや動きは
大きく異なるんだよ?
それで、例えば、UbuntuとFedoraで同じバイナリでは動かない、として、
それが何か問題なの?w(つか、それだって大抵動きそうだけどw)
UbuntuとFedoraは同じOSである、と強弁すんの?w
そもそもLinuxにしてもUnixにしてもオープンソース文化の中でソフトは配布
されているわけで、何かをインストールするという場合にはリビルドは基本だよw
そもそもリビルドできる環境がないWindowsが一般ユーザにリビルドを期待できないから
バイナリ互換性に頼るしかない、って方が欠損であり欠陥なのよ?w >>105
ですよね... 正直何が問題なんだろう?
ディストリが違うのなら互換性がなくて当たり前だろうに。 「Linuxに互換性無いから」←事実が語られる
↓
「Windows使ってろぉ!」←バカがキレる
いつものパターンw >正直何が問題なんだろう?
プロプライエタリとアホが呼ぶアプリケーションが存在出来ないのさw >>107が釣りなのか、本当の馬鹿なのか、悩むところだw
…まあ、好んでWindowsなんて使ってるなら、後者に決まってるかw >>109
君みたいなバカがキレてるバカってことだねw >>110
ありゃ?図星だったの?w
挙句に釣り宣言かよwやっぱりバカじゃんw スレの最初からLinuxに互換性はないと結論でてる。
バカが騒いでもその結論はひっくり返らないんだよな。 Linux信者はバカなだけじゃなくキチガイでもあるんだぞ。
根本的な原因はLinuxはセキュアだとか堅牢だなんて大嘘を吹聴しまくったGNUにあるんだろうが、鵜呑みにして実績がない安全神話を勝手に作ってしまうぐらいに救いようがないバカだし。
この板で基地外なLinux信者じゃ珍しくともなんともないが、絶対的にユーザ数が少ないLinuxユーザが色眼鏡で見られる原因の大きな一つではある。 ありゃまあw
とうとう発狂しちゃったよ、M$工作員www 「発狂した」とかいうのって、言い返せなくなった負け犬の遠吠えな定番だよなw
互換性ないのに「互換性あるんだ!」って嘘繰り返すあたりで勝ち目はもともとないけど、それが判らんバカだから仕方ないか。 >>115
まあ、MSの発狂工作員とかに何を言っても無駄だと思うが。
しかし、せっかくのスレを発狂工作員のハッテンバにされるのも忍びないので、一応、ここでちょっとまとめておこうかね
そもそもLinuxにバイナリ互換性があるのか、ないのか、という話なら、それは「ある程度まではある」というのが正しい答えだ。>>1が言ってるのもつまりはそういうことだ。1が提起しているのは、そのある程度というのはどこまでだろう?という話だ。
それをMS工作員が、何をとちくるったのか、「100%のバイナリ互換性はない」→「100%じゃなければ0だ」→「Linuxはゴミだ」などと言いだしたw
↑これが「狂人の論理」じゃなくてなんだというつもりなのかね?w
そもそも異なるアーキテクチャ、異なるOS間での100%のバイナリ互換性なんてどこにもないw
(まさかあると思ってんの?wそんなこともわからないで「バイナリ互換性」なんて言葉使いたがる時点で完全に発狂してるだろw)
そもそも、>>115とか>>107とか見ててはっきりわかるのはプログラム組んだことないだろう?
「Linuxのバイナリ互換性」なんて云々したいなら、せめてCとgtkで簡単なアプリが作れるくらいの実力がないようじゃ話にならないわな
明らかに、「バイナリ互換性」を云々できるだけの知識も知能もないのにもかかわらず、大人が顔をしかめるのを見て喜ぶうんこしっこを叫ぶ小学校低学年児童のように「バイナリ互換性がない」とか叫びたがる、というのを指して、発狂してる、というのはまさに適切な表現だとしか言えないだろう。
まあ、頭のおかしいやつにこれ以上言っても無駄だろうから。
ここは発狂した人間を助けるような板じゃないので、これ以上はメンヘル板か宗教の板にでも行ってくれ。 Windowsユーザは「試せばだいたい動く」レベルを要求する。
Linuxユーザは「試すだけ無駄」レベルでも「ある程度まではある」と言い訳する。
それだけの話だろw
アプリが作れる云々は無駄にハードルを上げて議論の場から異論を排除しようという情けない工作だw >>117
> Linuxユーザは「試すだけ無駄」レベルでも「ある程度まではある」と言い訳する。
こんなあからさまな嘘をつくのなら、具体例を上げてみせてもらいましょう。出来ないのなら、全部撤回して謝罪した上でメンヘラ板に帰れよ?w
> アプリが作れる云々は無駄にハードルを上げて議論の場から異論を排除しようという情けない工作だw
あほなの?w簡単なアプリも作れる能力もないやつが「バイナリ互換性」を云々できるって
一体どんな理屈なんだ?www
やっぱり完全に狂人じゃんw早くメンヘラ板に帰れよw >>117
ああ、簡単なアプリを作る能力もないやつがバイナリ互換性をわかるってのはつまり、Linuxのすべてのアプリケーションについて実際に動くかどうか、試す、という方法論なのか?w他に方法ないよな?w
いや、そりゃいいw大変に科学的だw
ぜひやってくれw。
結果を楽しみにしてるよ?w