問題タブ [netbsd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - `each` で反復処理中に DB_File の関連付けられたハッシュからアイテムを削除するのは安全ではありませんか?
問題
NetBSD 6.1、Perl v5.18.1、および DB_File v1.818 を使用しています。を使用して DB_File-tied ハッシュを反復処理し、each
ハッシュから各アイテムを削除すると、すべてのアイテムが削除されるわけではありません。問題を示すスクリプトを次に示します。
実行すると、10 件のレコードのうち 4 件 (場合によっては 5 件) が削除されません。
Linux (Ubuntu 14.04) システムでスクリプトを実行すると、常に機能します (すべてのレコードが削除されます)。
キーのループに切り替えると、foreach
NetBSD と Linux の両方で機能します。
ドキュメントの内容
via の反復中に削除することが常に機能するとは限らないことを明確に示しているものを見つけることができeach
ませんでした。
これが私が見つけたものです:
のドキュメントに
foreach
は次のように書かれています:foreach
VAR が同順位またはその他の特殊な変数である場合、期待どおりの結果が得られない可能性があります。これが何を意味するのかはわかりませんが、奇妙なことに、それが機能する場合
foreach
です。のドキュメントに
each
は次のように書かれています:ハッシュへの挿入は、削除と同様に順序
each
をkeys
変更する可能性があります。私にとって、これ
delete
は、反復中に現在のエントリに対して安全であることを意味します。のドキュメントに
DB_File
は、反復中の削除については言及されていません。
質問
この問題はありますか:
- NetBSD の Berkeley DB 実装のバグが原因ですか?
- DB_File のバグが原因ですか?
- の既知の制限
each
? - 結合されたハッシュの既知の制限?
- DB_File 結合ハッシュの既知の制限?
foreach
キーが機能each
しないのに機能するのはなぜですか?
bsd - /usr/pkg と /usr をリンクする pkgsrc ディレクトリ
netbsd 以外の OS で pkgsrc をブートストラップし、ソースからのアプリケーションのビルドとバイナリの実行の両方が機能しました。
ディレクトリには/usr/pkg
ディレクトリが含まれbin/ etc/ include/ lib/ man/ sbin/ share/
ており、pkgsrc/bmake でビルドされたパッケージがシステム全体になる方法に関するドキュメントが見つかりません。
/usr/pkg
ディレクトリはシンボリックリンクされてい/usr
ますか? pkgsrc ツリーからアプリケーションをインストールするために bmake の上で使用されるユーティリティはありますか?
c - Linux x32/x64 から netbsd mips/el へのクロスコンパイル
mips プロセッサを搭載した netbsd で実行される組み込みシステムがいくつかあります。
私はそれらを少しいじりたいと思っています。私が理解しているように、クロスコンパイラが必要です。私はそのようなことをしたことがなく、私が見つけたすべての情報は、私が持っていない知識を仮定しています.
では、mips netbsd システムで実行可能なプログラムにコンパイルするコンパイラをセットアップするには、何が必要でしょうか?
言語はまっすぐです c
compiler-errors - netbsd クロスコンパイラのセットアップ中にエラーが発生しました
mips64el プロセッサを使用して、netbsd から sbmips へのクロス コンパイラをセットアップ中です。
ソースを入手して使用./build.sh -a mips64el -m sbmips
し、ツールチェーンをエラーなしで入手しました。
引き続きカーネルを次のように構成します。
cd /usr/src/sys/arch/sbmips/conf
/usr/src/tooldir.NetBSD-5.2.2-amd64/bin/nbconfig GENERIC
これはうまくいきます、この後私は行きます:
cd ../compile/GENERIC
/usr/src/tooldir.NetBSD-5.2.2-amd64/bin/nbmake-sbmips
エラーコード1で失敗します.2つの画面へのリンクがあります. すべてが VM で実行されるため、コピーして貼り付けることはできません...
http://i.imgur.com/k9x9spN.png
http://i.imgur.com/Ou9Nwrj.png
追加情報: 私のホストは NetBSD 5.2.2 で、NetBSD 5.0 にコンパイルしたいのですが、ソースも 5.0 です! NetBSD 5.0 をインストールして 5.0 にコンパイルしようとしましたが、同じエラーが発生します。5.0 にコンパイルできる限り、任意のバージョンをインストールします。とにかく、このインストールは他の目的には役立ちません。
virtualbox VMで実行しています
compilation - mips netbsd 用の単純な hello-world c プログラムをコンパイルする
先週、mips アーキテクチャで netbsd にコンパイルできるコンパイラをセットアップしようと試みました。
これを行う方法をインターネット上で見つけることができません。すべてのドキュメントは、カーネルをアーキテクチャにコンパイルすることについて言及していますが、プログラムについては言及していません。
どうしてこんなに大変なんだろう……。
ホストは netbsd amd64 マシンです
unix - NetBSD - semget() に強制的に同じ semid を返させることはできますか?
私は NetBSD システムで作業しています。
Richard Stevens による UNIX プログラミングに関する本の記憶から思い出すと、semget() 呼び出しは、同じスレッドであっても、異なる呼び出しに対して異なる値を返すことに寛容です。
私は最近、この semget() の異なる呼び出しがそれぞれの IPC キーに対して同じ値のセットを返すプロセスのグループを目にしました。異なるボックス内の同じプロセス イメージでも、semid に対して同じ値が得られることがわかります。
だから、私の質問は - とにかく semget() にこの動作を強制することはできますか?
fileserver - MINIX 3.2.1 のコマンドを変更して、独自のシステム コールを使用するにはどうすればよいですか?
皆さんこんばんは!
私はminix 3.2.1で宿題をしています。ここで、 rmdirとまったく同じように機能するだけでなく、削除されたディレクトリの名前も出力する新しいシステム コール my_rmdirを作成するよう求められます。また、システムのソース コードを変更することになっているので、rmdirコマンドを実行すると、システムはdo_rmdir関数を呼び出す代わりに、独自のdo_myrmdir関数を呼び出す必要があります。
過去に、 mkdirコマンドで同じ宿題をしたことがありますが、 mkdirが適切に宣言された minix スタイルであり、変更を加えた ため、すべてが単純でした。
そしてすべてがうまくいきました。しかし、今では、NETBSD コードの注入のせいで、少し道に迷っていると思います。
また、最初に知識がなく、次に行う必要がある変更が非常に小さいため、新しいシステムコールをゼロから作成することもポイントではありません。
一番の問題は、元のdo_rmdirが宣言されている場所と、それがrmdirコマンドでどのように接続されているかがわからないことです。
/usr/src/servers/vfs/table.cファイルの 58 行目
もっと混乱させる
助けやアイデアはありますか?
さらに詳しい情報が必要な場合は、お問い合わせください。
私はフォーラムに不慣れです。適切に質問しようとしました。ご理解いただきありがとうございます。
memory - 上は負の RES サイズを示しています
NetBSD システムでは、topコマンドが常駐メモリの -ve 値を表示するという問題が発生しています。コード内のメモリ リークをチェックしましたが、何も見つかりませんでした。実際、これは shell(sh) プロセスにも当てはまります [下の図には示されていません]。
ユーザープログラムのバグがこの動作を引き起こす可能性があるかどうか、私は興味があります. それが本当なら、この問題をどのように再現できるかを知りたかったのです。
また、NetBSD または GCC ライブラリーに、この問題を引き起こす可能性のある既知のバグがある場合。
macos - OSX 10.7 の pkgin/pkgsrc のインストール スクリプトの完了に関する問題、pkgin を実行している segfault
pkgin
/ (NetBSD ベースのパッケージ管理ツール)をインストールしようとしてpkgsrc
、saveosx.org の指示と github リポジトリーを使用します。
リポジトリにはインストール手順があり、特定の、しかし有益ではないエラーが発生するまで、それに従いました。
このファイルを直接実行しようとしましたが、端末がセグメンテーション違反を報告します。
OSX 10.7.5 を実行しており、Xcode-Command-Line Tools がインストールされていますが、NetBSD のサイトに Darwin バージョンの互換性に関する情報が見つかりません。私の検索では、 を使用して問題を報告している人は他にいませんpkgin
。
バージョン 5.0+ は、www.netbsd.org/docs/pkgsrc/platforms.html#darwin に従ってサポートされており、ウィキペディア (en.wikipedia.org/wiki/Darwin_%28operating_system%29#Release_history) によると、OSX 10.1.1 に対応しています。 +
オペレーティング システムをアップグレードし、新しいライブラリまたは新しいカーネルを使用して問題が解決することを期待する以外に、どのようなオプションがありますか?
参考のため:
- www.pkgsrc.org/#docs
- www.perkin.org.uk/pages/pkgsrc-binary-packages-for-osx.html
- wiki.netbsd.org/pkgsrc/pkgsrc_64bit_osx/
- 関連する質問: Mac OSX で pkgin を実行できない