Homeに戻る  一覧2007に戻る 

How to build ruby-1.8.6 on NetBSD/amd64


NetBSD/amd64でruby-1.8.6-p110をbuildする[2007.11.17]


NetBSD-4.99.32/amd64上で、ruby-1.8.6-p110をbuildしてみる。 基本的にNetBSD-3.1/i386の場合と同様である。
  1. ruby-1.8.6-p110.tar.gzを展開する。
    $ tar zxf ./ruby-1.8.6-p110.tar.gz
    $ cd ruby-1.8.6-p110
    
  2. configureする。
    $ CFLAGS="-march=athlon64 -m64 -O3" ./configure
    
  3. makeする。
    $ make
    
  4. make testする。
    $ make test
    
  5. make installする。
    $ sudo bash
    # make install
    # exit
    
  6. rubyを起動して、versionを確認する。楕円曲線による素因数分解プログラムnum.rbを実行する。
    $ ruby -v
    ruby 1.8.6 (2007-09-23 patchlevel 110) [x86_64-netbsd4.99.32]
    $ ruby ./num.rb
    c60=216613513765708687178959939782445929702196520191348629414679
    k=lcm{1,..,15000}=3465491291225695180038116678552743309703409681700873547555672223328299522481269393362754275928061313385733557710669386861039952152922382156681557310056338212817181382028459239782200648083527384675822675421448077773370569995542567701130971007245209177142064913630846041932902754310037121465784570000868752466125867376524908691680249381018458050552231584982325897735225745665356783682177543408086329841666855316590070396928758283758225421001095886250248208646740070482522573568505991160765256520994646172719925332641710338934569443004867705969430842053939793190390640451723054932777734203060849878207669095527369619595533467596401618734934811755107807581225226320139266388473984282403937122914372335601130208124545433727427407339545773213104264016990731006749193077148571790662738270902454433902530676397933401934134788254337802196944527724452277794272639637595700735187854180252871860842052947178120211004466700093817461734883321009197940106856946462271384550163048144483645839111962323670309751019764987881197593846680893832492912059353262338847422247613230156114766208626879537005392514793979984015788685882359433710633464500000349577954520200610282231040500386894923787174826029263149594833206039548087888230503062312731425761142759874194868500928343917179390334426253929113556369698791714143405874409792172602463330982444230858602541876111969594861699719986403023121470851922745695243993147237143503010769358790307077311176915540563091307903606277493286539143018266399796879422504132491471481059377934657028133569730091410897453204188098835154022545681060386919851998871503874539048609298762567517915748865297933919323550287939815484863222968830139639644063968027609303833834211366926364881593526807029051040550838287844734856579541402163382325870174421839987669381603465157010604933721098592313234040142731213944680538328916848328308771958615673929743687293033592434335676036818941283608038955850558493029618940615567329861748743848506795835269500622559759244422820987581895110411092677582666767606101643387858399794854558352784610504699720417824556918009542119369438491296158559747107046491136743987562520810396211984962876971234025351744479597615709174184250581494278132300818629325400884670225466770175273195794952517918403925995223930811952004849436891849720877547868780303608503917571904870764956562223153933439969037901600065528699034422248962388583368485167279223914153691396145326420314013665297589064921393644667731585938205741007626463812311945361422089337035047459713953342424737751421155889419546738024641377239485091636004658755370004644109401575467646186462109132891336133112386767547896891107003182894019185660220761125443779381654145184594968881521714724212128458689585884039379058889590523404207461513968722463894208085345555363049915832519387173464900114706486418033466582513330701217442831835346204149673161705876387201286045798218651842884278239114049966147425734636153971806016315711100149264518774740608389203027898722375194149869192357049086769139053266090869969518657417888672405783611566197708615848881795972048210066062596380025699609187749795446437034580409842295227374355155475420863988096315339923666794177050443953961388503282765335342106415031382702272698057537760304637949716590239739081178147997804221347641734131969644400550139710328790754643958230123835211038193252369159284585978958402068036269362808271391086501199913976736802745272290486387301735468769036162088028930764264565550488479829129593294529666578584786429246752849833066897598601827664348617241404144205121208936611614972183145034504974937919560185611993777802169093570550185447891712485386905364260604390479421450945349849106713733414715045688375638015675493235158749260574373551497834533045415018847128163337545476243953918585363483014590799807357737589157501634483556484159851382126491045493000344202742189648720616102930745134901012704146726568829625184969640275767831308810973375193089825655345544674211462632215214767261735324914425766949050149557351979300076531126231182704791670904708694335502606984569075459174069831737675327826194478478256491043705506307023856898789110509130197751842401747706899964871975469252385394478009106677645581303428415917495943293589953635475945297666813822244158544826641022543530307936856258886675587297842184920629859951940034924290023384391831171503012634187824300380830521448686154591349220934183518298432841974722028146316817401410564283636683321688514025221023474389460023756821995826715489947079956879800929896613858075140859314539611791652182916943271516393764572294199637147291776944365224479527225529368395391438514422756415101064931598601401574618850755247046653485805984662643976346727540857146973293573760757462254512780398869045717546628397919646545684547210499613391037601170186073431603318957980935407741308195499744639983608471888433001026771766579437618125521734580087954699950046787658980170412663386096827229469426847314500725647257311369715018071421948923121194836751814049580949757512087619670770893158609580390913346988385481458864663375960041219863166970642577330630355769414565684558324678848045335335987034919691345943244567060937458105901251694105503733552636674731440368581784583294252822913670448347377229789005404812090016737663730621028390509379587858107698631682086095349670610700308592187982855537679295300984425078676921122062596224143012936300160605368640034776486076128196711965032559662777682549710296925275961276328884265177913691433875013826337048868845191250219521616521320119041438898741923614259346952720017554637491332316451333054939528499829612932094606993559826756295443988503674348369240978306639036547499055066823540085990093664705427911676219757458113008422193940870402677125605145816645038804872053676531489485394709606168555288180228996263445659857285931755591941107754957223764502371559011029582315168149774306732911637167040539711087413763762634649516463926525610913045706369341015852588234913804273682353461232406276984806310921099953882169676938198838925691740716340276060061220007334619823896174225045427487572618667907605345361729204031074246840157302168941405499690299363469993019721692916221630566474898475024686456896441299713922442307427202009052448101704766481485897932500341844700174034764189017989712878535483812469393879735900330270787470083702122691718429926880583635991819307175045813167163865247257209661180172008520556462588186919840731319547632290489662425205568022983719674628492406038309012620897867044275388407931761567345998733380001088514924700789072825927208840075102939197499926151556121318400000
    time=0.45225[s]
    y^2=x^3+205x+(-641)
    k(3 1)=(60272956433838849161 nil)
    time=42.998048[s]
    $
    

NetBSD/amd64上でも、num.rbを実行した限りでは、正しく動作しているし、amd64(64bit)の性能も発揮できているようである。


Last Update: 2007.12.08
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧2007に戻る]