Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fedora 33에서 빌드시 오류가 납니다. #39

Closed
Nevuly opened this issue Dec 25, 2020 · 4 comments
Closed

Fedora 33에서 빌드시 오류가 납니다. #39

Nevuly opened this issue Dec 25, 2020 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@Nevuly
Copy link

Nevuly commented Dec 25, 2020

Fedora 33에서 빌드를 진행할 경우 2가지의 오류가 발생하여 수정을 요청드립니다.
제가 빌드한 버전은 1.3.0 버전이고, Fedora에서 구동을 위해 빌드를 진행하였습니다.

그러면서 2가지의 오류를 겪었고, 한개는 해결하였으나, 한개는 해결을 실패하고 지금도 원인을 찾는중입니다.

먼저 첫번재는 nimf.spec에 적힌 package version이 20200428로 되어 있어 빌드할 경우 오류가 발생한다는 점입니다.
해당 부분은 패키지의 제일 최신 버전에 맞게 업데이트 될 경우 같이 변경되어야 하는 부분으로, 확인 후 수정 부탁드립니다.

그리고 다른 하나는 rpm package build작업이나 수동으로 make 작업을 진행할 경우

nimf-libhangul.c:657:42: error: 'HANGUL_IC_OPTION_AUTO_REORDER' undeclared (first use in this function)
657 | hangul_ic_set_option (hangul->context, HANGUL_IC_OPTION_AUTO_REORDER,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nimf-libhangul.c:657:42: note: each undeclared identifier is reported only once for each function it appears in
nimf-libhangul.c: In function 'on_changed_auto_reordering':
nimf-libhangul.c:669:42: error: 'HANGUL_IC_OPTION_AUTO_REORDER' undeclared (first use in this function)
669 | hangul_ic_set_option (hangul->context, HANGUL_IC_OPTION_AUTO_REORDER,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nimf-libhangul.c: In function 'nimf_libhangul_init':
nimf-libhangul.c:747:42: error: 'HANGUL_IC_OPTION_AUTO_REORDER' undeclared (first use in this function)
747 | hangul_ic_set_option (hangul->context, HANGUL_IC_OPTION_AUTO_REORDER,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

위와 같은 오류가 발생하며 빌드가 실패합니다.

제가 무언가를 빠트렸거나 혹시 libhangul과 또 필요한 패키지가 존재하나요?

@Nevuly
Copy link
Author

Nevuly commented Dec 25, 2020

오류의 원인을 찾았습니다.

hangul.h 파일이 해당 디렉터리에 존재하지 않음으로써 발생하는 오류였습니다.

#include <hangul.h> 이부분을 사용하기 위해 파일을 추가해 주시거나 아니면 다른 방법으로 연결할 방법을 찾아주시면 감사하겠습니다.

@chaeya
Copy link
Contributor

chaeya commented Dec 28, 2020

@Nevuly 1.3.0 버전을 빌드해보니 fedora 33에 설치되는 libhangul 라이브러리에 포함되지 않은 함수를 호출해서 생기는 문제로 보입니다. 오류나는 부분을 제거하고 빌드한 rpm 을 아래 링크에 공유했으니 설치 해보시면 될 것 같습니다.

참고) imsettings-switch nimf 로 입력기를 설정이 안되어서 sudo alternatives --config xinputrc 로 입력기를 설정했습니다.
ref : https://www.fedoralinux.or.kr/forums/topic/12269

@chaeya chaeya added the bug Something isn't working label Dec 29, 2020
@chaeya chaeya self-assigned this Dec 29, 2020
@piutranq
Copy link

다른 배포판에서 (Void Linux) 같은 문제를 겪었기에 적어봅니다.

패키지로서 설치되는 libhangul에 hangul_ic_set_option 함수가 없어서 생기는 문제였습니다.

그래서 저는 https://github.com/libhangul/libhangul 에서 libhangul의 마스터 브랜치를 받아서 직접 빌드했고,
이후 nimf의 마스터 브랜치도 수정 없이 빌드가 가능했습니다.

  • libhangul 빌드 중 발생하는 오류는 https://kldp.org/node/161982 를 참고했습니다.
  • pkg-config에서 직접 빌드한 libhangul을 인식하지 못해 PKG_CONFIG_PATH 환경변수에 /usr/local/lib/pkg-config 를 등록했습니다.

@Nevuly
Copy link
Author

Nevuly commented Dec 30, 2020

현재 저같은 경우 빌드는 성공했으나, Fedora의 불안정 문제로 인해 데비안으로 돌아간 상태입니다.

그때 당시 빌드할 때 include로 hangul.h 라이브러리를 불러오는게 소스코드 내부에 존재했고, 저같은 경우 hangul.h를 libhangul master branch에서 데리고 와 수동으로 추가하여 넣고 빌드하였습니다.

빌드는 정상적으로 이루어졌고요.

@chaeya chaeya closed this as completed Jan 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants