2012-04-25 2 views
0

Firebreath 및 Linux Arch Linux을 사용하여 플러그인을 빌드 중입니다. 다른 리눅스 시스템 (Ubuntu 11.10)에서 플러그인을로드하려고 할 때 다음과 같은 오류가 발생합니다.Firebreath 및 Curl로 플러그인로드하기

[3957:3957:162659560325:ERROR:plugin_list.cc(448)] Loading plugin /home/admin/Documents/myplugin/0.1/npMediaDownload.so 
[3957:3957:162659561719:ERROR:plugin_lib_posix.cc(158)] While reading plugin info, unable to load library /home/admin/Documents/myplugin/0.1/npMediaDownload.so (/usr/lib/libcurl.so.4: version `CURL_OPENSSL_4' not found (required by /home/admin/Documents/myplugin/0.1/npMediaDownload.so)), skipping. 

내 MediaDownloadAPI.cpp에 이미 #include "curl/curl.h"이 있습니다.

add_firebreath_library(curl) 

내가 컴파일하고 플러그인을 실행하는 문제를하지 않은

X11/projectDef.cmake

target_link_libraries(${PROJECT_NAME} ${PLUGIN_INTERNAL_DEPS} curl) 

PluginConfig.cmake : 내 프로젝트 폴더에서 나는 다음과 같은 추가 Arch Linux 시스템에서.

TIA.

답변

0

문제는 Openssl 버전 때문입니다. 아치 리눅스 Openssl 버전 4 이상에서 우분투 12.04 버전 3. 내 프로그램에 curl_easy_setopt(curl, CURLOPT_SSLVERSION, 3);을 추가하려고했지만 문제가 해결되지 않았습니다. 나는 문제가 무엇인지 알기 때문에 이것을 해결책으로 표시 하겠지만 해결책은 아닙니다.

1

대부분의 경우 동적 인 (.so) 버전의 컬 (curl)에 링크하고 있으며로드하려는 시스템에 해당 라이브러리가 없다는 것이 문제입니다.

+0

답장을 보내 주셔서 감사합니다. 정적 링크 Curl에 몇 가지 문제가 발생했습니다. 많은 의존성이 있습니다. (cURL을 사용하지 않고 HTTP 헤더를 가져 오는 방법이 있습니까? [주어진 웹 주소에서 HTTP 헤더에 액세스하는 방법을 보여줍니다.] http://www.jonasjohn.de/snippets/csharp/get-http-header.htm)? –

+0

SimpleStreamsHelper :: AsyncGet을 사용할 수 있습니다. FBTestPlugin에서이를 수행하는 방법의 예가 있습니다. 브라우저 스트림에서 헤더를 가져 오는 것이 가능한지 모르겠다 . – taxilian

+0

오, Openssl 버전 문제처럼 보입니다. 우분투 (12.04) 및 데비안 시스템을 사용해 보았는데 예상대로 작동합니다. 둘 다 작동합니다. (Curl, CURLOPT_SSLVERSION, 3);'archlinux 시스템에 컴파일 된 다음 curl_easy_setopt (curl, CURLOPT_SSLVERSION, 3);을 추가하고 Ubuntu에서 실행했지만 여전히 운이 없다는 내용의 프로그램을 실행하려고했는데 그 문제로 새로운 질문을 열 것입니다. 귀하의 의견에 대단히 감사합니다 @ taxilian. –