libxml2 문제좀 해결해 주세용

ljhsecret의 이미지

libxml2를 라이브러리를 이용하여 cgi 기반의 파서를 만들었습니다.

처음부터 테스트서버에서 개발을 했기 때문에 개발 서버에 소스파일들은 복사시켜 컴파일 시켰습니다.

테스트서버는 32비트 centos이고 개발서버는 64비트 레드햇으로 같은 레드햇계열이지만 비트가 다릅니다

테스트서버에서는 잘 되던 것들이 개발서버에서 컴파일 시에는 에러가 안 나지만 cgi를 웹으로 띄울시에

libxml2을 사용 안한 이전의 페이지들은 완벽하게 실행되고, 꼭 libxml2 를 이용한 파서 페이지에서만 해당 구문이 뜨질 않습니다.

처음엔 64비트기때문에 제대로 동작 하지 않는 걸로 생각하여 컴파일시에 -m32 파라미터를 붙여보았지만 소용이 없네요

분명 libxml2 라이브러리가 제대로 동작 하지 않는걸로 생각됩니다만 리눅스 컴파일 경험이 적어 대략 어떤 부분이 문제인지모르겠네요..

디버깅으로 알수 있는 방법이나, 그밖에 다른 원인을 아신다면 조언 부탁드립니다.

phonon의 이미지

원인은 python의 버그에 의한 것으로 나와 있습니다.
https://bugzilla.redhat.com/show_bug.cgi?id=139911

그런데, 2006년도 발생한 것이 아직도 영향을 주고 있는지는 의문이네요.

----------------------------------------------------------------
Alternatively, you can e.g. #include in that header and
#if __WORDSIZE == 32 define the constants one way #elif __WORDSIZE == 64 another way #endif. Or you can have 3 pyconfig.h headers, say pyconfig-i386.h, pyconfig-x86_64.h and pick one of them based on preprocessor defines in a small
pyconfig.h wrapper.
----------------------------------------------------------------
__WORDSIZE를 정하기 위해, 32비트면 pyconfig-i386.h, 64비트면 pyconfig-x86_64.h를 사용하도록
pyconfig.h를 만드시면 어떻게 될 듯 하군요.

환경이 안 되어서 테스트는 못 해 드려서 죄송합니다.
조금 더 정확한 정보가 필요합니다.
libxml2의 버전, OS의 버전, PHP와 아파치의 버전, 하드웨어의 스펙 등등.

ljhsecret의 이미지

해당 링크로 들어가보았는데.. 제 경우는 컴파일에서 에러가 나기 않고 소스 이관 전의 빌드 할때와 똑같은 워닝이 뜨고,, 에러는 없이 바이너리까지 생성이 된답니다

그리고 C를 이용하여 CGI를 짠 소스에서 간단한 파서를 구현한 것이거든요.. 여기서 xml 파일을 읽어와 xml 내용들을 웹페이지에 띄워주는 것인데..

파싱내용을 제외한 다른 폼이나 글들은 출력이 되는 상황이랍니다.;..

이게 컴파일 잘못인지.. 잘 모르겠네요 휴~

인간이 참아내지 못하는 것은 없다..죽기전까지..

kasi의 이미지

libxml2의 문제가 확실하다면 로그로 대강 어디에서 에러가 나시는지 직접확인하셔도 되겠지만

libxml2버전 확인해 보시고 최신이 아니라면 버전을 최신으로 바꿔서 링크 해보시는것이 어떨까요?

얼마전에 리눅스 shared-mime-info 패키지 설치하는데 libxml2 때문에 잘 안되었던 기억이 있어서 말씀드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.