Perl Program 배포 문제점

By | 2010/01/19

  현재 이글루스 백업 프로그램인 Egloos2TTXML은 Perl로 만들었습니다. 그 때는 개인적인 용도로 사용하고 배포는 신경을 쓰지 않았기에 문자열 처리에 가장 적합하다고 판단한 Perl을 선택한 것입니다.

  하지만 지금은 배포를 하게 되면서 큰 문제점이 발생하였습니다. 바로 실행파일로 만들어주는 PAR Packer가 제대로 동작하지 않는다는 점입니다.

프로시저 시작 지점 Perl_croak_xs_usage을(를) DLL perl510.dll에서 찾을 수 없습니다.

  라는 것처럼 entry point를 찾지 못해 문제가 발생합니다. 이를 어떻게 어떻게 고치고 나면 이런 문제점이 발생합니다.

c005

Can’t locate PAR/Heavy.pm in @INC (@INC contains: CODE(0xadd1ac) C:\strawberry\perl\vendor\lib .) at -e line 345.
Can’t locate File/Temp.pm in @INC (@INC contains: C:\strawberry\perl\vendor\lib.) at -e line 161.
END failed–call queue aborted at -e line 969.

  이와 관련해서 이리저리 구글링과 야후링(?)을 해보았지만, 만족스러운 답을 얻지 못했습니다. 예전에는 잘 되던 것이 Perl과 라이브러리 버전이 올라가면서 무언가 문제가 발생한 듯싶습니다. 그래서 이를 해결하려고 이리저리 해보았지만, 실패하였습니다.

  결국 trial이지만 실행 파일을 잘 만들어 주는 PerlAPP를 가지고 현재 Egloos2TTXML을 배포하고 있습니다. 그렇지만 해당 프로그램은 trial이기에 21일 동안 사용이 가능합니다. 제 기억으로 올해 1월 27일까지만 사용 가능한 것으로 알고 있습니다.

  최근에 여러 글을 보니 Java가 문자열 처리함에 있어 속도가 Perl에 비교될 만큼 빠르다는 얘기를 많이 접하였습니다. 따라서 Java를 좀 더 공부하고 사용하여 다음에 이와 비슷한 것을 만들고 배포하려고 할 때는 Perl이 아닌 Java를 선택해야겠다는 생각이 들었습니다.OTL…

4 thoughts on “Perl Program 배포 문제점

  1. keedi

    안녕하세요~ 정말 오랫만에 뵙네요~ 잘 지내시죠? ^^

    코드를 볼 수 있다면 PAR 컴파일 후 실행시 모듈 로드 문제를 살펴 볼 수 있을텐데 아쉽네요. 일단 제가 알기로 strawberry perl에 버그가 있었습니다. site와 vendor 디렉터리와 관련한 문제인데요. 이로 인해서 이 버그를 수정한 strawberry perl 을 새로 릴리스한 것으로 알고 있습니다.

    일단 최신 버전의 strawberry perl을 한 번 사용해보시는 것을 추천드립니다. 패키징만 해결하면 되는데 그것 때문에 자바로 갈아타서 문자열 처리하는 것은 너무 번거롭잖아요? :-)

    아마 다음 두 링크가 도움이 되지 않을까 싶습니다. :)

    http://rt.cpan.org/Public/Bug/Display.html?id=52794
    http://www.perlmonks.org/?node_id=798652

    화이팅! :-D

    P.S.
    참 그리고 익스플로어에서는 댓글이 달리는데 파이어 폭스에서는 illegal parameters 라고 나오면서 거부하네요. ^^;;

    Reply
    1. NoSyu

      앗.. 오랜만입니다. 트위터 쓰시는군요!^^
      코드는 여기에 있습니다.^^

      http://code.google.com/p/egloos2ttxml

      버그가 수정된 것이 새롭게 나왔군요!
      사실 최근에 들어 갑자기 잘 되는 것을 확인하였습니다.
      그래서 다시 PAR로 묶어 해당 프로그램을 배포하고 있습니다.
      그런데 그게 중간에 버그가 수정된 것이군요.
      댓글 정말 고맙습니다.ㅜㅜ

      제가 직접 댓글을 쓰는 일이 없어 몰랐는데 FF에서 안 되다니 난감하네요.
      제보 고맙습니다.ㅜ

      FF 3.6으로 테스트를 하였는데 댓글이 쓰여졌습니다.
      혹시 어느 버전을 사용하시나요??
      거기에 맞춰 테스트해보겠습니다.ㅜ

      Reply
  2. keedi

    앗 그러고보니 제 파이어폭스는 3.0, 3.5 네요.
    아마도 제쪽 파이어폭스의 문제인가봅니다. ^^;;

    그나저나 벌써 문제를 해결하셨다니 다행입니다~
    혹시 서울에 올라오시게 되면 서울의 펄 유저들과 함께
    한 번 뵙고 식사도 하면서 이야기 나눌 수 있길 기대하겠습니다~ :D

    언제가 될지 모르겠지만 그때를 위해 미리…
    keedi.k 지메일 닷컴입니다. ;-)

    Reply
    1. NoSyu

      3.0과 3.5라면 큰 차이가 없을터인데 이상하네요.OTL

      ‘시간이 약’인가 라는 생각이 드는 그런 해결방법이었습니다.^^;;;
      그래서 저도 사실 얼떨떨하네요.

      현재 학교에 복학하여 수원에 있습니다.
      서울은 1~2시간 정도 걸리니 모임 한 번 참석..가능할까요?^^
      그런데 Perl은 해당 프로그램에서도 표현하였듯이 TOYBOX로 만든 것밖에 없어 저는 경청만 할 듯싶습니다.^^OTL

      Reply

Leave a Reply