2013-10-03 2 views
0

FreeBSD에서 Erlang을 컴파일하려고하는데, odbc 라이센스를 포함하고 싶습니다.unixodbc-dev와 동등한 FreeBSD

Ubuntu에서 unixodbc-dev 패키지를 추가하면 odbc가 Erlang으로 컴파일되도록 보장되지만 FreeBSD와 동등하게 작동하는 패키지를 찾을 수 없습니다.

unixODBC 패키지 및 libiodbC++와 libiodbc 패키지를 설치하려고 시도했습니다. 이들 중 어느 것도 작동하지 않습니다.

또한 unixodbc.org에서 unixodbc를 다운로드하고 설치하려고했지만 아무 소용이 없었습니다.

그래서 내가 사용할 수있는 패키지가 있거나 소스에서 다운로드하고 컴파일해야하는 것이 있으면 솔루션 찾기에 실패했습니다.

설치해야 할 패키지 또는 Erlang을 사용하여 ODBC를 컴파일하기 위해 수행해야하는 단계에 대한 아이디어가 있습니까?

참고 :이 패키지 파일 목록을보고에서 FreeBSD의 9.1 출시와 함께, 그리고 얼랑 R16B02

답변

0

, unixODBC 올바른 패키지해야합니다.

Erlang을 컴파일 한 곳의 lib/odbc/config.log을 찾으십시오. 광산 (데비안) 말한다 :

configure:4913: checking for odbc in standard locations 
configure:4939: result: -L/usr/lib 

「표준 위치 "/usr/local/odbc /usr/local /usr/odbc /usr /opt/local/pgm/odbc /usr/local/pgm/odbc, 그리고 구성 스크립트는 그 디렉토리 중 하나 아래 include/sql.h을 찾습니다. 다른 디렉토리에 설치되어있는 경우 configure 스크립트에 --with-odbc=/some/path을 지정하십시오.

+0

나는 이것을 약간의 시도를했고, 운이 없었다. sql.h는'usr/local/include/sql.h'에 있고'/ usr/local/lib'에 몇 개의 odbc 파일 ('libodbc.so','libodbccr.so' 등)이 있습니다. 나는 --with-odbc =/usr/local', --with-odbc =/usr/local/lib','--with-odbc =/usr/local/include'를 시도했지만 매번 내가'./configure'를 실행하면 결과는 ODBC가 발견되지 않는다. 통찰력을 주셔서 감사합니다. 확실히 뭔가를 얻을 것 같은 느낌 이었지만 불행히도 FreeBSD를 ODBC로 컴파일하는 데 더 가까이 다가 가지 못했습니다. – chops

0

Erlang은 unixODBC 또는 libiodbc를 사용할 수 있습니다.

얼랑을 포트에서 설치할 때 작동합니다. 먼저 포트 트리가 최신 상태인지 확인하십시오. portsnap.

로그인하거나 su을 루트로 지정하십시오. 그런 다음 /usr/ports/lang/erlang으로 이동하여 make config을 실행하십시오. 다음 화면이 나타납니다.

 ┌─────────────────────────── erlang-15.b.03.1_1,3 ─────────────────────────────┐    
     │ ┌──────────────────────────────────────────────────────────────────────────┐ │    
     │ │+[x] DOCS  Build and/or install documentation       │ │    
     │ │+[ ] DTRACE Enable DTrace support (experimental)      │ │    
     │ │+[ ] GCC  Use current GCC           │ │    
     │ │+[ ] GS  Enable GS application (deprecated)       │ │    
     │ │+[ ] HIPE  Build native HiPE compiler         │ │    
     │ │+[ ] JAVA  Java platform support          │ │    
     │ │+[x] KQUEUE Enable Kernel Poll (kqueue) support      │ │    
     │ │+[ ] ODBC  ODBC backend            │ │    
     │ │+[x] OPENSSL SSL/TLS support via OpenSSL        │ │    
     │ │+[x] SCTP  Enable SCTP support          │ │    
     │ │+[x] SMP  Enable SMP support           │ │    
     │ │+[x] THREADS Threading support           │ │    
     │ │+[ ] WX  Enable WX application          │ │    
     │ │─────────────────────────────── ODBC backend ─────────────────────────────│ │    
     │ │+() IODBC  ODBC backend via iODBC          │ │    
     │ │+() UNIXODBC ODBC backend via unixODBC         │ │    
     │ └──────────────────────────────────────────────────────────────────────────┘ │    
     ├──────────────────────────────────────────────────────────────────────────────┤    
     │      <OK>   <Cancel>       │    
     └──────────────────────────────────────────────────────────────────────────────┘    

IOBDC 또는 UNIXODBC 옵션을 선택하십시오. 그런 다음 루트로 make install clean 명령을 실행하십시오. Erlang과 모든 의존성을 빌드하고 설치해야합니다.

편집 : 당신이 얼랑의 configure--with-odbc 옵션을 사용하여 다음 중 하나를 databases/unixODBC 또는 databases/libiodbc이 얼랑 컴파일하기 전에 설치되어 있는지 확인 포트를 사용하지 않으려면, 그것은 잘 작동합니다. 그것이 포트가하는 것입니다.

+0

포트를 사용할 수 있으면 좋겠지 만 포트 트리가 뒤처져 있기 때문에 erlang.org의 소스에서 컴파일해야합니다 (이 경우 3 릴리스 뒤). 하지만 고마워.그럼에도 불구하고 대답을 고맙게 생각합니다. – chops

+0

@chops : 업데이트 된 답변보기 –

+0

고마워, 이제 끝내 겠어. 나는 unixODBC를 추가 한 다음'gmake clean'을 실행하고'./configure --with-odbc'를 시도했지만 여전히 결과는'odbc'가 없다고 말합니다. 나는 약간의 항구에서 주위에 펑하는 소리가 나고, 무엇이 일어나는지에 관해 알 것이고, 당신에게 돌아올 예정이다. 후속 조치에 다시 한 번 감사드립니다. – chops