2012-02-24 3 views
1

CLSQL을 사용하여 SBCL에서 MySQL에 연결하려고합니다. quicklisp (ql : quickload 'clsql)을 사용하여 CLSQL을로드했습니다. 그러나, (clsql : connect '(...) : database-type : mysql)을 호출하면 다음과 같이 나타납니다.CentOS 설치시 CLSQL

"libmysqlclient", "libmysql"외부 라이브러리를로드 할 수 없습니다. (검색된 CLSQL-SYS : 외래 검색 - 패킷 -).

나는,에 CentOS에있어, 그리고 UFFI이 찾을 수 있도록 기본적으로 내가 뭘 원하는 설치 한 후

  • 을 (내가하고 실패한),

    1. 이 냠와 MySQL의 클라이언트 개발 헤더를 설치하다 로컬 MySQL 서버에 연결할 수 있어야합니다. (1.이 완료되면 자동으로 작동 할 수 있다고 생각합니다.)

    내가 현재 사용하고 있습니다

    • 에 CentOS 5.7 파이널 (32 비트)
    • SBCL 1.0.55
    • Quicklisp 베타
    • 냠 저장소 : 기본, EPEL, 엑스트라, 업데이트를

    CentOS에 MySQL 개발 헤더를 설치하는 방법에 대해 묻지는 않았습니다. 내 문제의 일부만 해결하면 내 컴퓨터에서 무엇이 빠졌는지 알아야합니다. 또한 clsql이 찾을 수 있는지 여부를 알 수 없기 때문에 소스에서 libmysqlclient/libmysql을 빌드하려고하지 않았습니다. 나는 그렇게 생각하지 않는다.

    내 질문이 어떻게 든 실패하면 미안하지만 광범위한 검색 결과가 나오지 않았습니다. 누구나 CentOS에 mysql 클라이언트 개발 헤더를 설치할 수 없다고 말하면 나는 그들을 비웃고 yum 검색을 사용하라고 말했지만 나는 온라인도 아니고 yum도 찾을 수 없었다.

    우분투 (및 데비안)에 대한 해결책을 알고 있습니다. cl-sql 패키지가 있고 거기에 MySQL 헤더도 쉽게 찾을 수 있기 때문에 CentOS에서 필요합니다.

    미리 감사드립니다. 물론

    (ql:quickload 'clsql) 
    
    ;tell clsql where to search for mysql libs 
    (push #P"/usr/lib/mysql" CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*) 
    
    ;add mysql libs to clsql library path [apparent from code :] 
    (clsql:push-library-path "/usr/lib/mysql/") 
    
    ;directly tell uffi to load mysqlclient shared library 
    (uffi:load-foreign-library "/usr/lib/mysql/libmysqlclient.so") 
    

    , 당신은 할 수 있습니다;

    당신은 충분히 뭔가를하려고 할 때, 그것을 할 얻을 것이다 어떻게 든
  • 답변

    1

    ) 여기

    누군가가이 질문에 따라 대답과 비틀 거림을 필요로하는 경우 내가 무슨 짓을했는지 필요한 경우 "/ usr/lib/mysql"을 mysql 라이브러리의 다른 경로로 바꾸십시오.

    +0

    2012 년 이후 코드가 어떻게 변경되었는지는 모르겠지만 '푸시'라는 단어가 포함 된 두 줄 모두 똑같은 것을합니다. 따라서/usr/lib/mysql은 목록에서 두 번 끝납니다. – daveloyall

    +0

    또한 pathspec'#P "/ usr/lib/mysql"과 문자열 "/ usr/lib/mysql"'사이에는 약간의 차이가 있습니다. – daveloyall

    +1

    나는 다른 시스템에서 작동되도록하기 위해 그렇게했다는 것을 기억합니다 (# 'push는 중복 됨). 서로 다른 시스템이나 다른 시스템의 CLSQL 설치 문제로 인해 지쳐 버렸고 Postgres로 전환했습니다. 포스트 모던과 포스트 모던은 자유롭게 사용할 수 있습니다 (UFFI 또는 CFFI없이 TCP/IP에서 직접 작동).), 솔직히 말해 더 나은 사용 경험을 가지고 있습니다. ORDBMS이므로 CLOS에 잘 통합됩니다. –