[완료] mingw로 make menuconfig 컴파일하기

aheejin의 이미지

안녕하세요.

리눅스 커널 전체는 아니고.. make menuconfig에 쓰이는 mconf.exe만 윈도 환경에서
외부 사용자들에게 제공/배포해야 하는 상황이 되었습니다.
물론 리눅스 내부 코드니까 소스 코드는 당연히 공개해야 겠구요.

일단 cygwin에서 빌드를 하면, cygwin1.dll에 의존하게 되고 cygwin license에 의해
redhat에 license fee를 내야 하는 것 같습니다.
그래서 mingw+msys 환경에서 빌드를 시도했는데요, 소스 코드를 몇 군데 고치고
pdcurse, msys-regex 등의 패키지를 추가로 구해서 빌드에 성공했고 실행이 됩니다.

그런데 msys-1.0.dll과 msys-regex-1.dll이 없으면 실행이 안되더군요 -_-;
제가 mingw와 msys를 아직 잘 몰라서인지는 몰라도, libregex.a가 분명 있는데
msys-regex-1.dll 같은 건 왜 필요한지 잘 모르겠습니다.
그리고 msys-regex-1.dll은 그렇다 치더라도; msys-1.0.dll은 왜 쓰이는 것인지
잘 모르겠습니다. 분명 msys shell 안에서 빌드를 하긴 했지만 사용한 건 mingw gcc이고,
그냥 간단한 test c code를 만들어서 컴파일해 보면 msys-1.0.dll이 필요 없는데,
mconf.exe를 실행하는 데는 msys-1.0.dll이 필요합니다. mconf.exe를 만드는 gcc command를
봐도 -lregex 제가 추가해준 것 외에는 별게 없는데요.

이 문제에 대해 구글링을 어느 정도 해보았습니다만 별 정보를 찾지 못했습니다.
특히나, mingw 공식 홈페이지 http://www.mingw.org 가 3일전부터 이상합니다. 이상한
광고 사이트가 나옵니다. -_-; 이거 왜이런지 모르겠네요. 그래서 모든 걸 구글 저장된 페이지로
해결하는 중입니다만 힘드네요..;;;

그리고 또 하나의 문제는.. menuconfig 화면이 뜨긴 뜨는데 선이 다 컴컴컴 뭐 이렇게 깨져서
뜹니다.;;
컴컴컴컴컴컴컴컴컴컴컴컴Linux Kernel Configuration컴컴컴컴컴컴컴컴컴컴컴컴컴컴
..뭐 이런 식으로요.

LANG=C make menuconfig <- 이렇게도 해봤고
make menuconfig UNICODE=1 <- 이것도 해봤는데 결과가 같네요.

-------------------------------------------------------------------------------
현재까지가 상황 설명이구요. 질문을 정리하면 -_-;
제 환경은 한글 windows xp/mingw+msys 최신버전 입니다.
추가로 설치한 라이브러리는 pdcurses-2.6과 msys-regex 1.2입니다.

1. mingw+msys 환경에서 빌드한 파일이 어떨 경우에 msys-1.0.dll를 사용하게 되나요?

2. mingw lib과 bin 디렉토리에 보면 .a 와 .dll이 혼재하는데, regex 같은 경우 둘 다 있어야
실행이 되는 거 같네요. 정확히 말하면 .a는 링크 타임에 필요하고, dll은 실행할 때 필요합니다.
왜 두 개의 라이브러리가 필요한가요?

3. msys-1.0.dll, msys-regex-1.dll가 존재하면 실행이 잘 되는데, 그러면 제가 컴파일하는 동안
고친 모든 소스 코드를 당연히 공개한다는 가정하에, 저 dll들을 mconf.exe와 함께 배포해도
저작권 문제가 없는지요? mconf에 들어간 소스 코드에 대해서만 GNU GPL을 지키면 되나요?
mingw 저작권 관련해서는 찾아 봤습니다만, msys의 dll을 같이 배포해도 되는지가 확실치 않아서
질문드립니다.

4. 선이 컴컴컴컴컴 이렇게 깨지는 현상은 어떻게 해결할 수 있을까요?

질문이 길었네요.
저 중 한 가지라도 아시면 조언 주시면 감사하겠습니다. ^^;

feanor의 이미지

Quote:
cygwin license에 의해 redhat에 license fee를 내야 하는 것 같습니다.

잘못 알고 계신 것 같습니다. Cygwin은 GPL이므로 말씀하신 경우처럼 cygwin1.dll을 사용하는 소프트웨어가 GPL인 경우 어떠한 라이선스료 지불도 필요가 없습니다.

aheejin의 이미지

그렇군요. 전 그냥 cygwin1.dll을 배포하면 fee를 내야 하는 것으로 잘못 알고 있었습니다.;;
감사합니다.

prio의 이미지

도메인이 만료되고 다른 사람한테 먹혔나보네요.
http://74.63.13.247 로 접속해보세요.
라이센스 안내 페이지를 차근히 읽어보시면 될 듯.

@ 익숙한 아이디로군요. 내가 아는 그 분이 맞다면 한마디만 할께요. "니가 고생이 많다" ㅎㅎ

aheejin의 이미지

안녕하세요.
답변 감사합니다. 저런 곳이 있었군요..^^;

@ 헉. 제가 아는 그 분이 맞다면.. 오랜만이네요.;; 잘 지내시죠?^^; 전 여전히 삽질중이네요.;;ㅠ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.