From: tsone@... (=?ISO-2022-JP?B?GyRCQT46LD1TSScbKEI=?=) Date: 2001-02-18T10:09:58+09:00 Subject: [ruby-list:28009] Re: Ruby/Gtk compile error --Multipart_Sun_Feb_18_10:08:03_2001-1 Content-Type: text/plain; charset=ISO-2022-JP 今日は、曽根俊彦です。 tsone@cc.rim.or.jp (曽根俊彦) writes: > 私は、何も分かりませんが参考にはなるかも知れませんので、OpenBSD 2.8 の > dlopen(3) を PostScript にして送らせていただきます。 先程のメールで、表示できない PostScript ファイルを送ってしまったので、 再送致します。申し訳ございません。 --Multipart_Sun_Feb_18_10:08:03_2001-1 Content-Type: application/postscript Content-Disposition: attachment; filename="dlopen.ps" Content-Transfer-Encoding: quoted-printable %!PS-Adobe-1.0 %%Title: /usr/share/man/cat3/dlopen.0 %%Creator: Id: a2ps,v 1.44 1999/03/09 16:12:17 utashiro Exp=20 %%CreationDate: Sun Feb 18 9:56:47 2001 %%Pages: (atend) %%PageOrder: Ascend %%DocumentPaperSizes: A4 %%Orientation: Portrait %%EndComments /$a2psdict 100 dict def $a2psdict begin % Initialize page description variables. /inch {72 mul} bind def /landscape false def /twinpage false def /sheetheight 11.64 inch def /sheetwidth 8.27 inch def /lmargin 1.2 inch def /smargin 1.2 inch def /paper_adjust 0.05 inch def /noborder true def /noheader false def /headersize 0.29 inch def /nofooter true def /nopunchmark false def /bodyfontsize 9.8 def /kanjiAsciiRatio 1 def /lines 66 def /columns 85 def /date (Feb 18 2001 9:56) def /doasciimag false def %! PostScript Source Code % % File: imag:/users/local/a2ps/header.ps % Created: Tue Nov 29 12:14:02 1988 by miguel@imag (Miguel Santana) % Version: 2.0 % Description: PostScript prolog for a2ps ascii to PostScript program. %=20 % Edit History: % - Original version by evan@csli (Evan Kirshenbaum). % - Modified by miguel@imag to: % 1) Correct an overflow bug when printing page number 10 (operator % cvs). % 2) Define two other variables (sheetwidth, sheetheight) describing % the physical page (by default A4 format). % 3) Minor changes (reorganization, comments, etc). % - Modified by tullemans@apolloway.prl.philips.nl % 1) Correct stack overflows with regard to operators cvs and copy. % The resulting substrings where in some cases not popped off=20 % the stack, what can result in a stack overflow. % 2) Replaced copypage and erasepage by showpage. Page througput % degrades severely (see red book page 140) on our ps-printer % after printing sheet 16 (i.e. page 8) of a file which was=20 % actually bigger. For this purpose the definitions of startdoc % and startpage are changed. % - Modified by Tim Clark to: % 1) Print one page per sheet (portrait) as an option. % 2) Reduce size of file name heading, if it's too big. % 3) Save and restore PostScript state at begining/end. It now uses % conventional %%Page %%Trailer markers. % 4) Print one wide page per sheet in landscape mode as an option. % - Modified by miguel@imag.fr to % 1) Add new option to print n copies of a file. % 2) Add new option to suppress heading printing. % 3) Add new option to suppress page surrounding border printing. % 4) Add new option to change font size. Number of lines and columns % are now automatically adjusted, depending on font size and % printing mode used. % 5) Minor changes (best layout, usage message, etc). % - Modified by kanazawa@sra.co.jp to: % 1) Handle Japanese code % - Modified by utashiro@sra.co.jp to: % 1) Fix bug in printing long label % 2) Handle carriage-return % 3) Specify kanji-ascii character retio % 4) Add footer label % 5) Change filename->fname becuase ghostscript has operator filename % 6) Support three different font style % 7) Incorporate B4 paper support and punchmark contributed % by Masami Ueno % % Copyright (c) 1988, Miguel Santana, miguel@imag.imag.fr % % Permission is granted to copy and distribute this file in modified % or unmodified form, for noncommercial use, provided (a) this copyright % notice is preserved, (b) no attempt is made to restrict redistribution % of this file, and (c) this file is not distributed as part of any % collection whose redistribution is restricted by a compilation copyright. % % General macros. /xdef {exch def} bind def /getfont {exch findfont exch scalefont} bind def % Page description variables and inch function are defined by a2ps program. % Character size for differents fonts. landscape { /filenamefontsize 12 def } { /filenamefontsize 16 def } ifelse /datefontsize filenamefontsize 0.8 mul def /headermargin filenamefontsize 0.25 mul def /bodymargin bodyfontsize 0.7 mul def % Font assignment to differents kinds of "objects" /filenamefontname /Helvetica-Bold def /stdfilenamefont filenamefontname filenamefontsize getfont def /datefont /Helvetica datefontsize getfont def /footerfont /Helvetica-Bold datefontsize getfont def /mag { doasciimag { [ 1 0 0 asciimagsize 0 0 ] makefont } if } def /bodynfont /Helvetica bodyfontsize getfont mag def /bodybfont /Helvetica-Bold bodyfontsize getfont mag def /bodyofont /Helvetica-BoldOblique bodyfontsize getfont mag def /fontarray [ bodynfont bodybfont bodyofont ] def /bodyfont bodynfont def % Initializing kanji fonts /kanji_initialized false def /kanji_init { kanji_initialized not { /bodykfontsize bodyfontsize kanjiAsciiRatio mul def /bodyknfont /GothicBBB-Medium-H bodykfontsize getfont def /bodykbfont /GothicBBB-Medium-H bodykfontsize getfont def /bodykofont bodykbfont [ 1 0 .2 1 0 0 ] makefont def /KanjiRomanDiff 1.2 bodyfontsize mul 1.0 bodykfontsize mul sub def /KanjiRomanDiffHalf KanjiRomanDiff 2 div def /kfontarray [ bodyknfont bodykbfont bodykofont ] def /kanji_initialized true def } if } def % Backspace width /backspacewidth bodyfont setfont (0) stringwidth pop def % Logical page attributs (a half of a real page or sheet). /pagewidth bodyfont setfont (0) stringwidth pop columns mul bodymargin dup add add def /pageheight bodyfontsize 1.1 mul lines mul bodymargin dup add add headersize add def % Coordinates for upper corner of a logical page and for sheet number. % Coordinates depend on format mode used. % In twinpage mode, coordinate x of upper corner is not the same for left % and right pages: upperx is an array of two elements, indexed by sheetside. /rightmargin smargin 3 div def /leftmargin smargin 2 mul 3 div def /topmargin lmargin twinpage {3} {2} ifelse div def landscape { % Landscape format /punchx .4 inch def % for PunchMark /punchy sheetwidth 2 div def % for PunchMark /uppery rightmargin pageheight add bodymargin add def /sheetnumbery sheetwidth leftmargin pageheight add datefontsize add sub = def twinpage { % Two logical pages /upperx [ topmargin 2 mul % upperx for left page dup topmargin add pagewidth add % upperx for right page ] def /sheetnumberx sheetheight topmargin 2 mul sub def } { /upperx [ topmargin dup ] def /sheetnumberx sheetheight topmargin sub datefontsize sub def } ifelse } { % Portrait format /punchx .3 inch def /punchy sheetheight 2 div def /uppery topmargin pageheight add def /upperx [ leftmargin dup ] def /sheetnumberx sheetwidth rightmargin sub datefontsize sub def /sheetnumbery sheetheight=20 topmargin pageheight add datefontsize add headermargin add sub def } ifelse % Strings used to make easy printing numbers /pnum 12 string def /empty 12 string def % Other initializations. datefont setfont /datewidth date stringwidth pop def /pagenumwidth (Page 999) stringwidth pop def /filenameroom pagewidth filenamefontsize 4 mul datewidth add pagenumwidth add sub def % Function startdoc: initializes printer and global variables. /startdoc { /sheetside 0 def % sheet side that contains current page } bind def % Function setlabel: initialize label in header /setlabel { stdfilenamefont setfont /fname xdef /filenamewidth fname stringwidth pop def /filenamefont filenamewidth filenameroom gt { filenamefontname filenamefontsize filenameroom mul filenamewidth div getfont } { stdfilenamefont } ifelse def } bind def % Function printpage: Print a physical page. /printpage { /sheetside 0 def twinpage { sheetnumber } { noheader noborder not and { sheetnumber } if } ifelse showpage=20 % pagesave restore % /sheet sheet 1 add def } bind def % Function cleanup: terminates printing, flushing last page if necessary. /cleanup { twinpage sheetside 1 eq and { printpage } if } bind def %=0C % Function startpage: prints page header and page border and initializes % printing of the file lines. Page number is stored on the top of stack, % and file name is next. /startpage { /pagenum exch def sheetside 0 eq { % /pagesave save def landscape { sheetwidth 0 inch translate % new coordinates system origin 90 rotate % landscape format paper_adjust neg 0 translate } if } if noborder not { printborder } if noheader not { printheader } if nofooter not { printfooter } if nopunchmark not { punchmark } if upperx sheetside get bodymargin add uppery bodymargin bodyfontsize add noheader {0} {headersize} ifelse add sub moveto } bind def % Function printheader: prints page header. /printheader { upperx sheetside get uppery headersize sub 1 add moveto datefont setfont gsave datefontsize headermargin rmoveto date show % date/hour grestore gsave pagenum pnum cvs pop pagewidth pagenumwidth sub headermargin rmoveto (Page ) show pnum show % page number grestore empty pnum copy pop gsave filenamefont setfont filenameroom fname stringwidth pop sub 2 div datewidth add filenamefontsize 2 mul=20 add=20 headermargin rmoveto fname show % file name grestore } bind def % Function printfooter: prints page footer. /printfooter { upperx 0 get sheetnumbery moveto footerfont setfont fname show } bind def % Function printborder: prints border page. /printborder=20 { upperx sheetside get uppery moveto gsave % print the four sides pagewidth 0 rlineto % of the square 0 pageheight neg rlineto pagewidth neg 0 rlineto closepath stroke grestore noheader not { 0 headersize neg rmoveto pagewidth 0 rlineto stroke } if } bind def % Punch Marker /punchmark { gsave newpath punchx punchy moveto punchx 2 add punchy -0.5 add lineto punchx 2 add punchy 0.5 add lineto punchx punchy lineto closepath 0 setgray .8 setlinewidth stroke grestore } bind def %=0C % Function endpage: adds a sheet number to the page (footnote) and prints % the formatted page (physical impression). Activated at the end of each % source page (lines reached or FF character). /endpage { twinpage sheetside 0 eq and { /sheetside 1 def } { printpage } ifelse } bind def % Function sheetnumber: prints the sheet number. /sheetnumber { sheetnumberx sheetnumbery moveto datefont setfont sheet pnum cvs dup stringwidth pop (0) stringwidth pop sub neg 0 rmoveto show empty pnum copy pop } bind def % Function bs: go back one character width to emulate BS /bs { backspacewidth neg 0 rmoveto } bind def % Function s: print a source string /s { fontarray fonttype get setfont show } bind def % Function ks: print a kanji source string /ks { kfontarray fonttype get setfont KanjiRomanDiffHalf 0 rmoveto KanjiRomanDiff 0 3 -1 roll ashow KanjiRomanDiffHalf neg 0 rmoveto } def % Function bl: beginning of line /bl { gsave } bind def % Function nl: newline /nl { grestore 0 bodyfontsize 1.1 mul neg rmoveto } bind def % Function cr: carriage return /cr { grestore } bind def % Function hlr: half-line up /hlr { 0 bodyfontsize 0.55 mul rmoveto } bind def % Function hlr: half-line down /hlf { 0 bodyfontsize 0.55 mul neg rmoveto } bind def % Function hlr: half-character backward /hcr { backspacewidth 2 div neg 0 rmoveto } bind def % Function hlr: half-character forward /hcf { backspacewidth 2 div 0 rmoveto } bind def /R { /fonttype 0 def } bind def /B { /fonttype 1 def } bind def /I { /fonttype 2 def } bind def R /docsave save def startdoc %%EndProlog %%Page: 1 1 /sheet 1 def (/usr/share/man/cat3/dlopen.0) setlabel 1 startpage bl ( ) s (DLFCN\(3\) OpenBSD Programmer's Manual = DLFCN\(3\)) s nl bl ( ) s nl bl ( ) s B (NAME) s R nl bl ( ) s ( ) s B (dlopen) s R (, ) s B (dlclose) s R (, ) s B (dlsym) s= R (, ) s B (dlctl) s R (, ) s B (dlerror) s R ( - dynamic link interface) = s nl bl ( ) s nl bl ( ) s B (SYNOPSIS) s R nl bl ( ) s ( ) s B (#include) s R ( ) s B () s R nl bl ( ) s nl bl ( ) s ( ) s I (void) s R ( ) s I (*) s R nl bl ( ) s ( ) s B (dlopen) s R (\() s I (const) s R ( ) s I (char) s R (= ) s I (*path) s R (, ) s I (int) s R ( ) s I (mode) s R (\);) s nl bl ( ) s nl bl ( ) s ( ) s I (int) s R nl bl ( ) s ( ) s B (dlclose) s R (\() s I (void) s R ( ) s I (*handle) s = R (\);) s nl bl ( ) s nl bl ( ) s ( ) s I (void) s R ( ) s I (*) s R nl bl ( ) s ( ) s B (dlsym) s R (\() s I (void) s R ( ) s I (*handle) s R = (, ) s I (char) s R ( ) s I (*symbol) s R (\);) s nl bl ( ) s nl bl ( ) s ( ) s I (int) s R nl bl ( ) s ( ) s B (dlctl) s R (\() s I (void) s R ( ) s I (*handle) s R = (, ) s I (int) s R ( ) s I (cmd) s R (, ) s I (void) s R ( ) s I (*data) s = R (\);) s nl bl ( ) s nl bl ( ) s ( ) s I (char) s R ( ) s I (*) s R nl bl ( ) s ( ) s B (dlerror) s R (\() s I (void) s R (\);) s nl bl ( ) s nl bl ( ) s B (DESCRIPTION) s R nl bl ( ) s ( These functions provide an interface to the run-time linker = ld.so. They) s nl bl ( ) s ( allow new shared objects to be loaded into a process's addre= ss space un-) s nl bl ( ) s ( der program control.) s nl bl ( ) s nl bl ( ) s ( The ) s B (dlopen) s R (\(\) function takes a name of a shar= ed object as its first argu-) s nl bl ( ) s ( ment. The shared object is mapped into the address space, r= elocated, and) s nl bl ( ) s ( its external references are resolved in the same way as is d= one with the) s nl bl ( ) s ( implicitly loaded shared libraries at program startup.) s nl bl ( ) s nl bl ( ) s ( The ) s I (path) s R ( argument can either be an absolute pa= thname or it can be of the) s nl bl ( ) s ( form ``lib.so[.xx[.yy]]'' in which case the same libra= ry search) s nl bl ( ) s ( rules apply that are used for ``intrinsic'' shared library s= earches. The) s nl bl ( ) s ( second argument currently has no effect, but should be set t= o DL_LAZY for) s nl bl ( ) s ( future compatibility.) s nl bl ( ) s nl bl ( ) s ( ) s B (dlopen) s R (\(\) returns a handle to be used in call= s to ) s B (dlclose) s R (\(\), ) s B (dlsym) s R (\(\), and) s nl bl ( ) s ( ) s B (dlctl) s R (\(\). If the named shared object has alr= eady been loaded by a previ-) s nl bl ( ) s ( ous call to ) s B (dlopen) s R (\(\) \(and not yet unloaded = by ) s B (dlclose) s R (\(\)\), a handle refer-) s nl bl ( ) s ( ring to the resident copy is returned.) s nl bl ( ) s nl bl ( ) s ( ) s B (dlclose) s R (\(\) unlinks and removes the object ref= erred to by ) s I (handle) s R ( from the) s nl bl ( ) s ( process address space. If multiple calls to ) s B (dlopen) = s R (\(\) have been done on) s nl bl ( ) s ( this object \(or the object was once loaded at startup time\= ) the object is) s nl bl ( ) s ( removed when its reference count drops to zero.) s nl bl ( ) s nl bl ( ) s ( ) s B (dlsym) s R (\(\) looks for a definition of ) s I (sym= bol) s R ( in the shared object designated) s nl bl ( ) s ( by ) s I (handle) s R (. The symbol's address is returned. = If the symbol cannot be re-) s nl bl ( ) s ( solved, NULL is returned.) s nl bl ( ) s nl bl ( ) s ( ) s B (dlctl) s R (\(\) provides an interface similar to ioc= tl\(2\) to control several as-) s nl bl ( ) s ( pects of the run-time linker's operation. This interface is= currently) s nl bl ( ) s ( under development.) s nl bl ( ) s nl bl ( ) s ( ) s B (dlerror) s R (\(\) returns a character string represe= nting the most recent error) s nl bl ( ) s ( that has occurred while processing one of the other function= s described) s nl bl ( ) s ( here.) s nl bl ( ) s nl bl ( ) s B (SEE) s R ( ) s B (ALSO) s R nl bl ( ) s ( ld\(1\), ld.so\(1\), link\(5\)) s nl bl ( ) s nl bl ( ) s B (HISTORY) s R nl bl ( ) s ( Some of the ) s B (dl*) s R ( functions first appeared in Su= nOS 4.) s nl endpage cleanup %%Page: 2 2 /sheet 2 def (/usr/share/man/cat3/dlopen.0) setlabel 2 startpage bl ( ) s nl bl ( ) s B (BUGS) s R nl bl ( ) s ( An error that occurs while processing a ) s B (dlopen) s R (= \(\) request results in the) s nl bl ( ) s ( termination of the program.) s nl bl ( ) s nl bl ( ) s (OpenBSD 2.8 September 30, 1995 = 2) s nl endpage cleanup %%Trailer docsave restore end -- ������������(SONE Toshihiko) --Multipart_Sun_Feb_18_10:08:03_2001-1--