鵜根@広島国際学院大学です。お世話になります。
同じ内容を ports-jp に報告した([ports-jp 17548])のですが、
回答がつきませんでしたのでこちらにもメールします。
#前に投稿した時から試行錯誤した内容も付記しております。

先日、自宅用のプリンタとして PM-A950 を購入しました。
プリンタ自体は /dev/ulpt0 として認識してくれたのですが、
Epson Avasys のページ http://www.avasys.jp/ に
肝心のドライバがないことに気づきました(^^;)。

大雑把にドライバのソースコードを読んだところ、
添付されている linux 用ライブラリ libpm*.so は
給紙や印刷品質に関する部分が異なるだけで、
違う機種でも使えそうに思えました。
そこで print/pips970 あたりを使って印刷できるか試してみようと考えました。
#pips970 を選んだのは単なるカンです(^^;)。

ところが pips970 経由で印刷しようとすると
次のような現象が起こり、印刷に失敗します。

(1)/etc/libmap.conf に以下の記述を追加した。

        [/usr/local/lib/pips/libpm970c.so]
        libc.so.6                       pluginwrapper/pips.so
        libdl.so.2                      pluginwrapper/pips.so

   この時 /var/tmp/lpd-err に次のエラーを出力し、印刷に失敗する。

        Photo Image Print System PM-970C Version 2.6.2
        PIPS Error : /usr/local/lib/pips/libpm970c.so: Undefined symbol 
"argz_create_sep": Dynamic library processing is failed.
        PIPS Error : Convert processing is failed.
        PIPS Error : ...ABEND
        kill: unknown signal 9; valid signals:
        hup int quit ill trap abrt emt fpe kill bus segv sys pipe alrm term urg
        stop tstp cont chld ttin ttou io xcpu xfsz vtalrm prof winch info usr1 
usr2
        touch: /var/ekpd/lpr_lock: Permission denied

(2) (1)で追加した記述の一部、あるいは全部を削除した。
    この時 /var/tmp/lpd-err に次のエラーを出力し、印刷に失敗する。
    (libdl.so.2 を削除した場合、以下のエラーの 2 行目は
     "libdl.so.2" not found... となる)

        Photo Image Print System PM-970C Version 2.6.2
        PIPS Error : Shared object "libc.so.6" not found, required by 
"libpm970c.so": Dynamic library processing is failed.
        PIPS Error : Convert processing is failed.
        PIPS Error : ...ABEND
        kill: unknown signal 9; valid signals:
        hup int quit ill trap abrt emt fpe kill bus segv sys pipe alrm term urg
        stop tstp cont chld ttin ttou io xcpu xfsz vtalrm prof winch info usr1 
usr2
        touch: /var/ekpd/lpr_lock: Permission denied

(3) ports/linux_devtools をインストールし、libc.so.6 および
    libdl.so.2 のシンボリックリンクを次のように作成した。

        # cd /usr/local/lib/pluginwrapper
        # ln -s /usr/compat/linux/lib/libdl-2.3.2.so libdl.so.2
        # ln -s /usr/compat/linux/lib/libc-2.3.2.so libc.so.2

    これに合わせて /etc/libmap.conf を次のように修正した。

        [/usr/local/lib/pips/libpm970c.so]
        libc.so.6                       pluginwrapper/libc.so.6
        libdl.so.2                      pluginwrapper/libdl.so.2

    この時 /var/tmp/lpd-err に次のエラーを出力し、印刷に失敗する。

        Photo Image Print System PM-970C Version 2.6.2
        PIPS Error : Shared object "ld-linux.so.2" not found, required by 
"libdl.so.2": Dynamic library processing is failed.
        PIPS Error : Convert processing is failed.
        PIPS Error : ...ABEND
        kill: unknown signal 9; valid signals:
        hup int quit ill trap abrt emt fpe kill bus segv sys pipe alrm term urg
        stop tstp cont chld ttin ttou io xcpu xfsz vtalrm prof winch info usr1 
usr2

linuxpluginwrapper や rtld の仕組みをきちんと理解していないので、
まったくのお手上げ状態になりました。
何かしらのヒントがありましたら御教授下さい。

自宅の環境を以下に記します。

        o OS: FreeBSD-4.11-stable
        o 関係する ports のリビジョン
            pips970-2.6.2_1
                ports/print/pips970/Makefile,v 1.2 2005/02/27 10:36:34
                ports/print/pips800/Makefile.pips,v 1.25 2005/04/11 15:10:00

            linuxpluginwrapper-20050910
                ports/www/linuxpluginwrapper/Makefile,v 1.45 2005/11/13 07:03:31
            linux_devtools-8.0_5
                ports/devel/linux_devtools/Makefile,v 1.53 2005/11/11 19:49:56

PM-A950 は次のように認識されています。

        Nov  4 20:24:53 cb8ab2-148 /kernel: ulpt0: EPSON USB Printer, rev 
1.00/1.00, addr 3, iclass 7/1
        Nov  4 20:24:53 cb8ab2-148 /kernel: ulpt0: using bi-directional mode


以上、よろしくお願いいたします。

---
鵜根弘行: 広島国際学院大学 情報学部 情報デザイン学科
(旧所属 広島国際学院大学 工学部 メディア情報通信学科)
[EMAIL PROTECTED] / [EMAIL PROTECTED] / [EMAIL PROTECTED]

メールによる返信