2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930

カテゴリー

アーカイブ

ブログ統計情報

  • 99,555 アクセス


AS5202T 再セットアップ – 6

gcc などを入れて a.out はできる様になっていたが,今度は Web サーバの PHP からの呼び出し.
Synology NAS や Windows 環境と同じようにやってみたがうまく動作しない.
設定の問題なのか,環境が異なることによる変更が必要なのかは不明.
3 年位前にやった所からもう一度調べていくしかなさそう.


https://dev.mish.work/wordpress/2017/05/23/synology-web-exe/
この時と同じ php が存在するフォルダに存在する ./a.out の呼び出しはうまく動作した.
http://itl.mydns.jp/…/exec.php
./a.out の呼び出し


htm と php で画像のアップロード.
https://itl.mydns.jp/…/up.htm


http でアクセスした時のユーザ名は admin .
Synology NAS では http .IIS だと IUSER ?


あまり関係ないが PHP 7 をインストール.


Iwao@AS5202T:/volume1/home/Iwao $ which 7z
/usr/builtin/bin/7z
Iwao@AS5202T:/volume1/home/Iwao $ which zip
/usr/builtin/bin/zip
Iwao@AS5202T:/volume1/home/Iwao $ which unzip
/usr/bin/unzip
Iwao@AS5202T:/volume1/home/Iwao $ which convert
/usr/builtin/bin/convert
Iwao@AS5202T:/volume1/home/Iwao $  

フルパスで drawnow を指定すると drawnow.htm は生成される.
https://itl.mydns.jp/i_Tools/tiny/DrawNow/
普通に起動したユーザの場合 %TEMP% が /opt/tmp に設定される.
Web サーバや Synoloty NAS では設定されないので,コードで指定した /tmp になる.


実行ファイルの位置を求める方法がうまくなかった.

	$exe = 	(change_exe	($_SERVER["DOCUMENT_ROOT"] . "/.../" . $exeTitle)	) ;
	$exe_name = $exeTitle ;
	$exe_name = change_exe($exe_name) ;
	$exe =		 	($_SERVER["DOCUMENT_ROOT"] . "/.../" . $exe_name	) ;

2020/04/21
一部動作しない部分があった(::Linux_zip_create).
原因は bash や pushd がないため.
bash の所は sh に.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 5

Web サーバとして外からアクセスするために,先ず AS5202T のファイアウォールの設定.
検索するとわかりやすく書いてあったので次の所を参考に設定した.
ASUSTOR NASのセキュリティを高めるいくつかのポイント
LAN 内接続の許可と,外からは「Web service」の許可を設定.
AS5202T ファイアウォールの設定
AS5202T  Web service
「LAN 2」からの SSH 接続を拒否しての確認.
AS5202T   SSH 接続
まだルータの設定はしていないので,これだけでは外から接続できない.
スマートフォンで VPN 接続して http://192.168.1.xx に接続できることは確認.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

RC1047 , C2679

既存の VC 8 プロジェクトをビルドすると,うまくビルドできなくなっている.
https://itl.mydns.jp/i_Tools/Doc/blog/images/err_2004.txt

1>------ すべてのリビルド開始: プロジェクト: WatchPD, 構成: Debug Win32 ------
1>リソースをコンパイルしています...
1>fatal error RC1047: too many -I# options, 'c:\DP340XPP\D_Drive\Develop\Lib\InkSDK.C80\include'
1>プロジェクト : error PRJ0002 : エラーの結果 1 が 'C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\rc.exe' より返されました。
1>WatchPD - エラー 1、警告 0

先日サーバ環境を変更(共通ソースを DevS から DevX に)したことによる影響.
その時簡単にはテストしたがメインのプロジェクトでは確認していなかった.
RC1047 の原因は,インクルードパスが長すぎるみたい.


もう一つのエラー.

1>------ ビルド開始: プロジェクト: PlnCtrl, 構成: Debug Win32 ------
1>ComUse06.cpp
1>\\devx\public\documents\develop\_.src\_yet\mouse.cxx(1819) : error C2679: 二項演算子 '<<' : 型 'const P2' の右オペランドを扱う演算子が見つかりません (または変換できません)。
1>        c:\program files (x86)\microsoft visual studio 8\vc\include\ostream(656): 'std::basic_ostream<_Elem,_Traits> &std::operator <<<wchar_t,std::char_traits<wchar_t>>(std::basic_ostream<_Elem,_Traits> &,const char *)' の可能性があります。
1>        with
1>        [
1>            _Elem=wchar_t,
1>            _Traits=std::char_traits<wchar_t>
1>        ]
1>

こっちは暫くわからなかった.
afxDump で検索すると 先日書いた記事 が引っ掛かり…
#define afxDump std::terr
これが有効になる条件が間違っていた.
_AFXDLL ではなく _MFC_VER で判断する必要があった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 4

以前 DS115j 用に購入した WLI-UC-AG300N があったので AS5202T に接続して設定してみた.
ADM の「設定」-「ネットワーク」に入ると,接続されているのがわかる.
リストの「Wi-Fi」を選んで「アクション」-「接続」.
AS5202T  Wi-Fi 接続
SSID が列挙されるので,選んで「接続」.「パスワード」を入力して「OK」.
AS5202T  Wi-Fi 接続 パスワード入力
接続されている速度は 6 Mb/s の表示なのでかなり遅い.


これを設定している時に見つけた「デフォルトゲートウェイ」の設定.
「自動」だと違う方になってしまうことがあったので「LAN 1」に設定.
AS5202T デフォルトゲートウェイ

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

計算式で時間が …

個人的なメモです.


以前 C で書いたコード(ベースは K&R 第2版 P.90 )を新しく書き換え.
少し機能も増やし,ある程度書き終えた.
既存のコードと動作速度を比べると「使えない」.チューニング前では 10 倍以上の時間.


データ内の計算式は次の様なものが多く存在する.

(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5))+(P-((((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5)))*2)*0.982936188200278

R を求めるために同じ部分が 4 つある.

(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/
(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5))
+(P-(
(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4)*(sin(asin(((P/2-P9/2)/2)/
(((P/2-P9/2)*(P/2-P9/2))/((H9-H10-R1)*4)+(H9-H10-R1)/4))/6*5))
)*2)*0.982936188200278

次の様な判断を加えてやっとテストになる許容範囲(前コードでは 2 秒程度で,新しいコードではその倍位).

{
	if (vfp.length() <= 1)		{	return	FERROR ;	}
	TCHAR	c_0 = vfp[0] ;
	if (_istupper(c_0))		{	return	FERROR ;	}	
	}

2020/04/13
次の様なコード(elapsetm.hxx)を追加して計測すると,データにもよるが 2 倍程度.

	ElapseTime	et ;
	v_tstring	drop_files = ::DropFilesTo (hDropInfo) ;
	for (size_t index=0 ; index<drop_files.size() ; index++) {
		// ...
		}
	tstring	et_str = ::To_tstring(et.GetElapse()) ;

今回の変更では一部を除き機能は省いていないと思う.また,旧コードも最低限の新しい機能を付加している.
どちらのコードも共存可能にして,旧コードが使えない場合(今後の新しいコードなど)やループ外では新しいコードを使用する様にするか?


2020/04/15
文字列の終端が正しくないバグ
TcsCpy(val,bufSize,f_val.c_str()) ;
次の様にする必要がある.
TcsCpy (val,bufSize,f_val.c_str()) ;


数値の小数部の 0 を省くコードで,1.00 が 1000 になってしまったバグ.
'0' を指定された時 NOP に.t_tstrng.hxx

tstring	To_tstring_rz	(const tstring& str,const TCHAR sp=_T('\0'))	{
	if (sp == _T('0'))	{	return	str ;	}
	// ...
	}
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

LNK2005 すでに ~.obj で定義…

このエラーは,複数のソースファイルに同じ関数などが定義されている場合に発生します.
別の表現をすると,リンク対象の obj や lib に同じ定義が含まれているということです.


次の様な関数のエラーは,プロジェクトの設定に問題があることがあります.

nafxcwd.lib(afxmem.obj) : error LNK2005: “void * __cdecl operator new(unsigned int)” (??2@YAPAXI@Z) はすでに LIBCD.lib(new.obj) で定義されています

https://dev.mish.work/wordpress/?s=lnk2005


他に,自前のコードでヘッダファイルに関数の実体を定義した場合にも発生します.
その場合はソースファイルに移すか,inline 関数として定義します.
base64.hxx


以下は個人的なもので,ちょっと異なる使い方で発生した時の対応です.


以前,ソースファイルに定義していたテーブルをヘッダファイルに.

struct	CL_function	{
	LPCTSTR	Lower ;
	int	FType ;
	} ;

CL_function	CL_fnc_tbl[] =	{
	_T("atan2") ,	ATAN2	,
	//  ...
	_T(" ") ,	FERROR	,
	_T("\0") ,	FERROR	,
	} ;
--------------------構成: pf_20 - Win32 Debug--------------------
コンパイル中...
ComPrj01.cpp
コードを生成中...
コンパイル中...
ComUse02.cpp
pf_20.cpp
pf_20Dlg.cpp
コードを生成中...
リンク中...
ComUse02.obj : error LNK2005: "struct CL_function * CL_fnc_tbl" (?CL_fnc_tbl@@3PAUCL_function@@A) はすでに ComPrj01.obj で定義されています
pf_20.obj : error LNK2005: "struct CL_function * CL_fnc_tbl" (?CL_fnc_tbl@@3PAUCL_function@@A) はすでに ComPrj01.obj で定義されています
pf_20Dlg.obj : error LNK2005: "struct CL_function * CL_fnc_tbl" (?CL_fnc_tbl@@3PAUCL_function@@A) はすでに ComPrj01.obj で定義されています
pf_20.exe - エラー 3、警告 0

テーブルを cpp から hpp に移して LNK2005
次の様に static を付けて対応したが,ヘッダには static を書いてはいけない 様な記述が多い.

static	CL_function	CL_fnc_tbl[] =	{
	//  ...
	} ;
Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 3

どの様に機能するのかわかり難いが「設定」-「通知」の設定.
「送信」-「追加」で,送信のための情報を登録.
AS5202T 「通知」-「送信」-「追加」
受信者の設定.
AS5202T 「通知」-「受信」-「追加」
保有している他の NAS の同様の機能の設定は以下に書いています.
https://dev.mish.work/wordpress/2017/11/28/nas-mail-setting/


2020/04/13
この記事を書いた時はわからなかったが,今日 AS5202T を再起動するとメールが来る様になった.
先日 shutdown コマンドはないと書いたが,reboot コマンドはあった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ – 2

前回は試していなかった「DataSync for Google Drive」を設定.
特に難しい部分はないと思って設定したが,NAS のデフォルトでない場所を指定するとうまく同期されない?
取りあえずデフォルトの /Home/GoogleDrive を受け入れて設定すると同期は開始している.
設定は Google Drive から NAS の片方向.
AS5202T DataSync for Google Drive
私の場合あまり必要性はないが,複数の Google アカウントがある場合それぞれを別に管理できそう.
ADM アカウントをそれぞれ作成して,ローカル同期フォルダを /Home/ 以下とすればいけそう.


「エクスプローラ」などでは見えないフォルダ.
「アクセスコントロール」-「共有フォルダ」で「追加」または「編集」で指定可能.
「見えないフォルダ」の指定
前回は「Web」フォルダに対してアクセス可能だったのに今回はできない.
そのため「ローカルユーザー」の「フォルダ – アクセス権」を変更してみた.
フォルダのアクセス権を変更


2020/04/11
次の様な sh ファイルを用意して gcc のテスト.

export	CPATH=
export	CPATH=$CPATH:/volume1/home/Iwao/GoogleDrive/Develop/_.SRC/__CPR_
export	CPATH=$CPATH:/volume1/home/Iwao/GoogleDrive/Develop/_.SRC/__Iwao
export	CPATH=$CPATH:/volume1/home/Iwao/GoogleDrive/Develop/_.SRC/__Mlt_

次の様に入力して a.out ができることを確認.
g++ t_calc.cpp -Wall
AS5202T gcc

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T 再セットアップ

やっとこの NAS 用の HDD が届いたのでもう一度最初からセットアップ.


今ある WD Red 1TB を外すために AS5202T をシャットダウン.
前回と同様 で「初期化されていません」を押して,画面の指示に従ってインストール.
今回は最初のインストールでは何も入れなかったので,Web サーバなども起動していない.
Web サーバの有効化
他に SSH なども有効になる様に設定.


SSH で接続しようとすると,

Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\Iwao>cd %TMP%

C:\Users\Iwao\AppData\Local\Temp>ssh -l Iwao -p 22 192.168.1.75
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:7Hi9lqmKbdEhkCwGwU4j0fjj/PQCNQBfnNCIHKMACZA.
Please contact your system administrator.
Add correct host key in C:\\Users\\Iwao/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\Iwao/.ssh/known_hosts:16
ECDSA host key for 192.168.1.75 has changed and you have requested strict checking.
Host key verification failed.

C:\Users\Iwao\AppData\Local\Temp>

c:\Users\Iwao\.ssh\known_hosts を編集(192.168.1.75 の行を削除)して対応.


ここまでやっていろいろ見ていると,間違いを発見.RAID 0 になっている.
AS5202T RAID0
「設定」-「工場出荷時設定」-「システム初期化」でもう一度やり直し.
システム初期化
「ワンクリックセットアップ」の画面で「バランスが取れている」を選択する必要があった.
ワンクリックセットアップ バランスが取れている
「最大容量」だと RAID 0 .RAID 1 は「バランスが取れている」にする.


退避しておいた VHD などをコピー.
VirtualBox と entware をインストール.
VirtualBox DevX
SSH 接続で gcc のインストール.
opkg install gcc
これで gcc も使える様になった.


2020/04/05
その後いろいろ試していて,また VirtualBox が止まる?現象があった.
同じファイルを PC から起動するのはうまくできる.
先日バックアップした DevX.vdi をコピーし直して起動させたらうまくいった.
VNC 接続で時刻を表示させて見ていると,少し止まったようになることがある.
VirtualBox VNC 時刻の更新が止まる?


昨日 RAID 1 で再セットアップした後,ディスクが動いていたのでそのグラフ.
AS5202T RAID 1 ディスク


https://jml.mish.work/various/nas/asustor.html

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T セットアップ – 6

DS116 からの WordPress の移行.
2017/01 は wordpress.com から DS115j に.2017/10 には DS115j から DS116 に移行している.
今回行うのは Synology NAS DS116 からで,どこまで動作する(移行できる)かのテスト.


DS116 側 の「ダッシュボード」で「ツール」-「エクスポート」.
Synology NAS WordPress エクスポート
「すべてのコンテンツ」を選んで「エクスポートファイルをダウンロード」.


AS5202T の「ダッシュボード」-「ツール」-「インポート」.
「WordPress」の所の「今すぐインストール」,「インポータの実行」.
「参照…」から xml ファイルを指定して「ファイルをアップロードしてインポート」すると,

WordPress のインポート
エラーが発生しました。
アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。

PHP 7.3 php.ini の upload_max_filesize は 2M になっている.xml は 6.3MB .
php.ini を編集しようかとも思ったが,PHP 7 を無効にすると PHP 5.6 になり 10MB になっている.
もう一度,xml の「ファイルをアップロードしてインポート」.
「添付ファイルをダウンロードしてインポートする」にチェックをつけて「実行」.
添付ファイルをダウンロードしてインポート
時間は 30 分程度かかった.
AS5202T WordPress 移行


この記事を公開後,もう一度 Synology NAS で「エクスポート」,ASUSTOR NAS で「インポート」.
新しいこの記事は追加されるが,変更した以前の記事は反映されないみたい.
「All in One SEO Pack」プラグインを入れたタイミングかは不明だが,SEO 情報も移行できている.
xml には書かれているのでプラグインを入れた段階で反映されていたのかもしれない.


2022/01
php.ini を編集
WordPress の .htaccess で指定

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T セットアップ – 5

先日 WordPress と Joomla! を入れたので,DS116 からの移行.
比較的簡単そうな Joomla! から.
検索すると J2XML というプラグインが出てくる.
使い方などは次の所に詳しく説明されている.
Joomla! 無料エクステンション『J2XML』で記事やカテゴリをエクスポート/インポート
インポートでうまくできなかった.
Cannot import a super user account [Super User].
Joomla! J2XML インポートエラー
エラーメッセージにある様に「Super User」を「はい」に変更.
Joomla! J2XML インポートの設定
「メニュー」などは反映されないので完全な切替はしばらく先になりそう.


2020/04/02
Synology NAS 側の記事を少し変更.
前回と同様に「エクスポート」,AS5020T の「インポート」でうまくいく.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T セットアップ – 4

MariaDB が有効になっていることの確認
MariaDB の確認


WordPress のインストール
WordPress パッケージの選択
WordPress セットアップの開始
WordPress データベース情報の指定
WordPress サイト情報の設定
WordPress インストール完了


Joomla! のインストール
Joomla! パッケージの選択
Joomla! セットアップの開始
Joomla! サイト情報の設定
Joomla! データベースの設定
Joomla! インストール情報の確認
Joomla! インストール完了
Joomla! 言語のインストール
Joomla! 言語の設定
Joomla! Installation フォルダの削除


2021/04/09
1 年前に WordPress を一度入れたが,再セットアップ後は入れていなかった.
WordPres のインストール途中でエラー.
WordPress データベース接続確立エラー
WordPress データベース選択不可
phpMyAdmin で見るとデータベースがなかったので,wordpress の名称で作成.
WordPress  phpMyAdmin でデータベースの作成

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T セットアップ – 3

SSH 接続を有効にするための設定
ADM の「サービス」-「端末」の「SSHサービスを有効にする」にチェック.
AS5202T  SSH 接続
Win10 のコマンドプロンプトで次の様に入力 すると入れる.
ssh -l Iwao -p 22 192.168.1.75


Linux 環境でよく使っているコマンド.以前 Synology NAS でも調べたもの.
zip ,unzip ,7z すべて存在する.
convert もあり.
shutdown はない.


Win10 から AS5202T にアクセス
Win10 から AS5202T にアクセス


標準で入る PHP は 5.6 みたい.
App Central で PHP 7 をインストールすることで 7.3 になった.
また「インストール済み」の「PHP 7」の ON/OFF で切り替え可能.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T セットアップ – 2

先日の続き.
その後追加したもの.
アンチウィルスの ClamAV
他に Linux Center .使い勝手は思っていたものと少し違った.
マニュアルなどは次の所.
https://www.asustor.com/ja/service/downloads?product_id=61#document
https://www.asustor.com/app_central/?type=&model=52xx,53xx
AS5202T portal
DDNS の設定は ASUSTOR Data Master (ADM) の「設定」-「手動接続」にある.
「設定」-「手動設定」 DDNS
ASUSTOR の標準で用意されているものは「myasustor.com」.
IPv6 での設定はちょっとわからず.
次のリンクの様にアクセスできるようになる.
http://demosite.myasustor.com/


他にもいろいろ設定したいと思うが,場所やアプリがわからない.
Web 関係などはこの NAS 用に注文している HDD がそろってからの予定.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

AS5202T セットアップ

先日届いていた AS5202T .それ用の HDD を注文したら納期がかかるみたい.
それで手元にあった WD Red 1TB を取り付けてセットアップしてみた.
NAS に取り付ける時,斜めになってしまうことがあるので注意が必要.


最初に ASUSTOR コントロールセンター をダウンロードして PC にインストール.
ASUSTOR Control Center
「初期化されていません」を押して,画面の指示に従って ADM をインストール.
AS5202T 初期化 1
AS5202T 初期化 2
AS5202T 初期化 3
AS5202T Portal
Web もセットアップされていた.
AS5202T web


NAS が動作することは確認できたので,メモリを 8GB に取り換え.
電源を入れると,一番上の青いランプが点灯,システムステータスのランプが点滅のままでうまく起動しない.
通常であればネットワークやハードディスクのランプが点滅や点灯するはず.
もう一度メモリを外して元の 2GB の状態にするとうまく起動する.
追加で 1 枚さして 6GB でもうまく起動.
2GB も交換して 4GB x 2 の状態で試すとうまく起動した.
メモリの挿し方が甘かった?


今回この機種を追加した目的の一つが VirtualBox .
App Central から VirtualBox と VirtualBox Extension Pack をインストール.
追加された VirtualBox アイコンをクリックすると新しくブラウザのウィンドウが開く.
AS5202T VirtualBox ログイン
この時のログインの ID がわからなかったが admin と admin で入れる.
https://www.asustor.com/en/online/College_topic?topic=249
https://forest.watch.impress.co.jp/docs/shseri/siranas/1023605.html
https://mdw-note.net/tips/setting-virtualbox-as3102t/
以前 PC で作成した Win10_LTSC.vdi を NAS の Public/VHD/Win10_LTSC にコピー.
それを使用する様に VirtualBox の仮想マシンを追加.
追加した仮想マシンを起動すると右上にプレビューが表示されている.
AS5202T VirtualBox
この仮想マシンは VNC サーバの設定がしてあるので,VNC ビューアから接続.
AS5202T VirtualBox VNC 接続


もう一つ確認したのが gcc .
App Central で entware を追加.
ASUSTOR NAS App Central 「entware」

C:\Users\Iwao\AppData\Local\Temp>ssh -l Iwao -p 22 192.168.1.75
Password:
Iwao@AS5202T:/volume1/home/Iwao $ gcc
-sh: gcc: not found
Iwao@AS5202T:/volume1/home/Iwao $ opkg
opkg must have one sub-command argument
usage: opkg [options...] sub-command [arguments...]
where sub-command is one of:

Package Manipulation:
        update                  Update list of available packages
        upgrade <pkgs>          Upgrade packages
        install <pkgs>          Install package(s)
        configure <pkgs>        Configure unpacked package(s)
        remove <pkgs|regexp>    Remove package(s)
        flag <flag> <pkgs>      Flag package(s)
         <flag>=hold|noprune|user|ok|installed|unpacked (one per invocation)

Informational Commands:
        ...

Iwao@AS5202T:/volume1/home/Iwao $ opkg install gcc
Installing gcc (7.4.0-5) to root...
Downloading http://bin.entware.net/x64-k3.2/gcc_7.4.0-5_x64-3.2.ipk
Installing zlib (1.2.11-3) to root...
Downloading http://bin.entware.net/x64-k3.2/zlib_1.2.11-3_x64-3.2.ipk
Installing libiconv-full (1.11.1-4) to root...
Downloading http://bin.entware.net/x64-k3.2/libiconv-full_1.11.1-4_x64-3.2.ipk
Installing libintl-full (0.19.8.1-2) to root...
Downloading http://bin.entware.net/x64-k3.2/libintl-full_0.19.8.1-2_x64-3.2.ipk
Installing libbfd (2.27-1) to root...
Downloading http://bin.entware.net/x64-k3.2/libbfd_2.27-1_x64-3.2.ipk
Installing libopcodes (2.27-1) to root...
Downloading http://bin.entware.net/x64-k3.2/libopcodes_2.27-1_x64-3.2.ipk
Installing objdump (2.27-1) to root...
Downloading http://bin.entware.net/x64-k3.2/objdump_2.27-1_x64-3.2.ipk
Installing ar (2.27-1) to root...
Downloading http://bin.entware.net/x64-k3.2/ar_2.27-1_x64-3.2.ipk
Installing binutils (2.27-1) to root...
Downloading http://bin.entware.net/x64-k3.2/binutils_2.27-1_x64-3.2.ipk
Configuring zlib.
Configuring libiconv-full.
Configuring libintl-full.
Configuring libbfd.
Configuring libopcodes.
Configuring objdump.
Configuring ar.
Configuring binutils.
Configuring gcc.
There are no *-dev packages in Entware(with few exceptions)!
Please install headers as described in the wiki:
https://github.com/Entware/Entware/wiki
Iwao@AS5202T:/volume1/home/Iwao $
Iwao@AS5202T:/volume1/home/Iwao $ gcc
/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Iwao@AS5202T:/volume1/home/Iwao $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/lto-wrapper
Target: x86_64-openwrt-linux-gnu
Configured with: /media/ware3/Entware.2020.01/build_dir/target-x86_64_glibc-2.27/gcc-7.4.0/configure --target=x86_64-openwrt-linux --host=x86_64-openwrt-linux --build=x86_64-pc-linux-gnu --program-prefix= --program-suffix= --prefix=/opt --exec-prefix=/opt --bindir=/opt/bin --sbindir=/opt/sbin --libexecdir=/opt/lib --sysconfdir=/opt/etc --datadir=/opt/share --localstatedir=/opt/var --mandir=/opt/man --infodir=/opt/info --disable-nls 'CXXFLAGS_FOR_TARGET=-g -O2 -D_GLIBCXX_INCLUDE_NEXT_C_HEADERS' --build=x86_64-pc-linux-gnu --host=x86_64-openwrt-linux-gnu --target=x86_64-openwrt-linux-gnu --enable-languages=c,c++ --with-bugurl=https://dev.openwrt.org/ --with-pkgversion='OpenWrt GCC 7.4.0' --enable-shared --enable-__cxa_atexit --with-default-libstdcxx-abi=gcc4-compatible --enable-target-optspace --with-gnu-ld --with-specs='-Wl,-rpath=/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux-x86-64.so.2' --with-boot-ldflags='static-libstdc++ -static-libgcc -Wl,-rpath=/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux-x86-64.so.2' --disable-nls --disable-libsanitizer --disable-libvtv --disable-libcilkrts --disable-libmudflap --disable-libmpx --disable-multilib --disable-libgomp --disable-libquadmath --disable-libssp --disable-decimal-float --disable-libstdcxx-pch --with-host-libstdcxx=-lstdc++ --prefix=/opt --libexecdir=/opt/lib --with-local-prefix=/opt --with-stage1-ldflags='-lstdc++ -Wl,-rpath=/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-linux-x86-64.so.2' --with-default-libstdcxx-abi=gcc4-compatible
Thread model: posix
gcc version 7.4.0 (OpenWrt GCC 7.4.0)
COMPILER_PATH=/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/:/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/
LIBRARY_PATH=/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/:/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/:/lib/../lib64/:/usr/lib/../lib64/:/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
 /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/collect2 -plugin /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/liblto_plugin.so -plugin-opt=/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccm1Y6FA.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crt1.o /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crti.o /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crtbegin.o -L/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0 -L/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc -L/lib/../lib64 -L/usr/lib/../lib64 -L/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/../../.. -rpath=/opt/lib --dynamic-linker=/opt/lib/ld-linux-x86-64.so.2 -lgcc_s -lc -lgcc_s /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crtend.o /volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crtn.o
/volume1/.@plugins/AppCentral/entware/opt/bin/../lib/gcc/x86_64-openwrt-linux-gnu/7.4.0/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
Iwao@AS5202T:/volume1/home/Iwao $
Iwao@AS5202T:/volume1/home/Iwao $ ll
total 12
drwxr-xr-x    2 Iwao     users       4.0K Mar 16 18:27 ./
drwxr-xr-x    4 root     root        4.0K Mar 16 15:19 ../
-rw-------    1 Iwao     users        100 Mar 16 18:43 .ash_history
Iwao@AS5202T:/volume1/home/Iwao $ mkdir test
Iwao@AS5202T:/volume1/home/Iwao $ cd test
Iwao@AS5202T:/volume1/home/Iwao/test $ cat > test.cpp
int     main    ()
{
        return  2 ;
        }
Iwao@AS5202T:/volume1/home/Iwao/test $ cat test.cpp
int     main    ()
{
        return  2 ;
        }
Iwao@AS5202T:/volume1/home/Iwao/test $ ls
test.cpp
Iwao@AS5202T:/volume1/home/Iwao/test $ g++ test.cpp
Iwao@AS5202T:/volume1/home/Iwao/test $ ./a.out
Iwao@AS5202T:/volume1/home/Iwao/test $ echo $?
2
Iwao@AS5202T:/volume1/home/Iwao/test $ echo $?
0
Iwao@AS5202T:/volume1/home/Iwao/test $


https://jml.mish.work/various/nas/asustor.html

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

#pragma message (” ~ “) の利用

先日からやっているコードの解析部分を単体テスト用に分割していると,

--------------------構成: prs_frml - Win32 Debug--------------------
コンパイル中...
prs_frml.cpp
c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
cl.exe の実行エラー

prs_frml.exe - エラー 1、警告 0

「パッと見」でわかる時は良いが,今回はわかり難い.
そんな時に私が場所を限定していく手順.
次の様に影響していそうな所に #pragma message (” ~ “) を追加.

#pragma	 message ("pass 1")
#include "StrAryTo.hxx"
#pragma	 message ("pass 2")
#ifdef	 _MSC_VER
	 #ifdef	_AFXDLL
	 #else
		#ifndef	afxDump
		#define	afxDump	std::terr
		#endif
	 #endif
#endif
#pragma	 message ("pass 3")

エラーの場所を特定するために #pragma message を追加
今回は次の様になったので StrAyTo.hxx が原因とわかった.

pass 1
c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>

StrAryTo.hxx は CStringArray と std::vector<tstring> を相互変換するコード.
インクルードから外すことで対応.


MFC を使用しているソースなどの対応方法は次の所.
https://dev.mish.work/wordpress/2019/04/05/c1189-windows-h-already-included/

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VirtualBox 6 VHD のサイズの拡大

Win7 の時に作成した VHD のサイズが 64 GB だったのでそれの拡張.
検索すると,探し方が悪いのか面倒な方法ばかり…
それで見つけたのが次の所.
https://blog.goo.ne.jp/ashm314/e/53afcf6f9356646d5556590cab11c013
「メニュー」-「ファイル」-「仮想メディアマネージャー」
VHD を選択,新しいサイズを指定して「適用」
これで VHD の大きさは大きくなるが,仮想マシンを起動すると変わっていない.
ディスクのサイズが増えていない
「ディスクの管理」で見ると「未割り当て」になっている
これに対応するには次の所.
https://www.atmarkit.co.jp/fwin2k/win2ktips/869vhdextend/vhdextend.html

Microsoft DiskPart バージョン 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
コンピューター: VP-HBY

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン            80 GB    16 GB

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0    D                      CD-ROM          0 B  メディアなし
  Volume 1        システムで予約済み    NTFS  Partition    100 MB  正常       システム
  Volume 2    C                NTFS  Partition     63 GB  正常       ブート

DISKPART> select volume 2

ボリューム 2 が選択されました。

DISKPART> extend

DiskPart はボリュームを正常に拡張しました。

DISKPART> list volume

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 0    D                      CD-ROM          0 B  メディアなし
  Volume 1        システムで予約済み    NTFS  Partition    100 MB  正常       システム
* Volume 2    C                NTFS  Partition     79 GB  正常       ブート

DISKPART>

diskpart select volume  extend
拡張した部分を認識


2021/01/06
「仮想メディアマネージャー」を使用して,80 GB から 100 GB の拡張で 1 時間程度かかった.
100 GB に拡張して,実際のサイズが 160 GB に
実際のファイルサイズが 160 GB 程度になってしまっている.
diskpart による操作は特に問題ない.


Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Freespire 6 インストール

先日 Twitter で見かけてブックマークしておいたサイト.
https://www.freespirelinux.com/2020/02/freespire-60-released.html
2020/06/22 https://www.freespire.net/
時間が空いたので VirtualBox の環境にインストールしてみた.
ちょっと手順がわかりにくい部分があったのでメモ.


仮想マシンの作成.
仮想マシンの作成
仮想ハードディスクの作成.
仮想ハードディスクの作成
ダウンロードした freespire-6.iso を選択.
freespire-6.iso を選択
仮想マシンの起動.
仮想マシンの起動
起動するとこんな感じ.
Freespire  CD から起動したデスクトップ
デスクトップにある「Install freespire 18.04」を開いてインストール開始.
Freespire インストール
インストーラの起動後,一番下に「日本語」がある.あとは表示に従い操作すれば OK .
Freespire インストールを完了するために再起動


日本語のフォルダが幾つかできているので変更.
LANG=C xdg-user-dirs-gtk-update
フォルダの日本語名を変更


2020/05/06
glut インストール.
sudo apt install freeglut3 freeglut3-dev
Freespire glut インストール

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Win10 IIS https 化

テスト環境の IIS を https 化しようと思い,いろいろと…


当然であるが「サイトバインドの追加」で「SSL 証明書」がない.
サイトバインドの追加 SSL 証明書
NAS では Let’s Encrypt を使用しているので調べると win-acme などがあるみたい.
そこから入った https://github.com/win-acme/win-acme/releases/ から落としてやってみたが…


管理者でコマンドプロンプトを起動する必要がある.
wacs 「N」が無効


「N」を選択して進めるがエラー.

C:\Users\Iwao\AppData\Local\Temp<c:\Users\Public\Documents\Tools\win-acme.v2.1.4.710.x64.trimmed\wacs.exe

 A simple Windows ACMEv2 client (WACS)
 Software version 2.1.4.710 (RELEASE, TRIMMED)
 ACME server https://acme-v02.api.letsencrypt.org/
 IIS version 10.0
 Running with administrator credentials
 Scheduled task not configured yet
 Please report issues at https://github.com/PKISharp/win-acme

 N: Create new certificate (simple for IIS)
 M: Create new certificate (full options)
 R: Run scheduled renewals (0 currently due)
 A: Manage renewals (0 total)
 O: More options...
 Q: Quit

 Please choose from the menu: n

 Running in mode: Interactive, Simple
 No sites with host bindings have been configured in IIS. Add one in the IIS Manager or choose the plugin 'Manual input' instead.
 Target plugin IIS aborted or failed

 N: Create new certificate (simple for IIS)
 M: Create new certificate (full options)
 R: Run scheduled renewals (0 currently due)
 A: Manage renewals (0 total)
 O: More options...
 Q: Quit

 Please choose from the menu:


何かの設定が足りないのか?ちょっとわからないので他の方法で…


自己署名証明書でやってみることに.
「IIS 自己署名証明書」で検索
わかりやすかったのがここ.
Windows Server で自己署名 SSL 証明書を作成する手順

IIS マネージャーを使用した証明書の作成
IIS で SSL/TLS を 自己署名入り証明書 で 設定 する方法
「サーバー証明書」-「機能を開く」
「自己署名入り証明書の作成...」
フレンドリ名の指定


「サイトバインドの追加」に「SSL 証明書」が追加されている
LAN 内の他の PC から https で接続
これで https に対応できているかどうかのテストはできるので,今回はここまで.


いつも設定場所を忘れるので…


Microsoft VBScript 実行時エラー エラー ‘800a01ad’
ActiveX コンポーネントはオブジェクトを作成できません。
/_LIB_/L_Mainte.asp, 行 33
Microsoft VBScript 実行時エラー エラー '800a01ad'
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」を「True」に.
「アプリケーション プール」-「詳細設定」-「32 ビット アプリケーションの有効化」



https://jml.mish.work/index.php/various/iis.html

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

C4244: ‘初期化中’: ‘INT_PTR’ から …

VC 2002 より前に作成した「ダイアログベース」のプロジェクトの場合 x64 対応に変更すると
XxxApp.cpp(73): warning C4244: ‘初期化中’: ‘INT_PTR’ から ‘int’ への変換です。データが失われる可能性があります。

生成されるスケルトンでは,アプリケーションクラスのダイアログの部分が次の様になっている.

	CFBXtoMDlg dlg;
	m_pMainWnd = &dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK) 	{
	}
	else if (nResponse == IDCANCEL) {
	}

x86,x64 共に warning などを出なくするには,int となっている部分を INT_PTR に変更 する.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.