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
vim-full can not be compiled as the version was built without iconv() #14328
Comments
|
It seems that this patch https://gitlab.nic.cz/turris/turris-build/-/commit/a8764223e8c7e291a65d05d2be24fe2c99018cbc solves the issue for me locally and I will run full build and then send a PR. |
|
Last I looked this was an issue with the host build of libiconv. I never investigated. |
|
I run all build and linked patch didn't solved the issue. |
|
Also getting this issue. The patch didn't work for you in the end @BKPepe? |
|
No, the patch does not work when I run full build. |
|
I unfortunately don't have the time to create a robust PR to fix this problem, but I can tell you precisely why it's happening so that someone with the time on their hands can create a PR to fix. The error message indicates that There are two reasons for this
Both issues need to be fixed before getting an iconv-enabled Now, the cause of the second problem. I have not made a robust solution for it. But looking at the configure logs, the compilation of the test program in the configure script in gettext-tools fails thus: I compared the non-host build configure log to the host build configure log. The former passes the iconv check, while the latter does not. To cut a long story short, the reason for this is the iconv.h header file. The non-host build is picking up iconv.h from the toolchain include directory, while the host build is picking it up from the staging_dir/hostpkg/include directory. Looking at the declarations and comparing the two, the reason for the failure becomes obvious. The file in So, it looks like libiconv-full needs a host build. I did try to copy over libiconv-full's version of the iconv.h header file to the hostpkg/include directory to test. One needs to add a "HOST_CFLAGS += -DLIBICONV_PLUG" to the gettext-full Makefile so that the correct definitions are made when including the iconv.h file. However, just copying the header will fail without an updated libiconv.a as there is an extern def in the header for a symbol which needs the full libiconv.a library available to link against. Since my build host and target architecture are both x86_64, to test, I just blindly copied over libiconv-full's version of libiconv.a to the So the edits I made to the gettext-full Makefile look as follows I have not done a full build after this, so not sure if changing the header in So there's a little bit of work to do to find a robust solution for the libiconv issue, but this should point you in the right direction. |
|
You should point those comments here: openwrt/openwrt#3763 |
It shows up a reference in the PR to this issue. I assume that's enough? |
|
I think there's a cleaner way to do this than making a host build of The |
|
Because gvim.desktop is not need by openwrt, use this patch to bypass desktop things building. cat feeds/packages/utils/vim/patches/003-bypass-gvim-desktop-build.patch |
|
I added a possible way out of the msgfmt dilemma to openwrt repo here. vim package would still need a bit up changing like suggestion below, but at least the required tools would be available. |
|
@micmac1 iconv only need while compile time, to complete gvim.desktop po file building, and iconv no need at run time. |
|
I certainly understand your reasoning. I don't even use vim on OpenWrt, so I don't have any opinion one way or the other. I just find it unfortunate that the gettext-full host package has no iconv support. That is why I looked into how to be able to compile a libiconv-full host build, see the PR in openwrt. That was what I was interested in, not vim particularly.
|
|
I am also willing that host gettext-full got iconv function, but don't want vim package add not using dependencies. |
|
@dl12345 I guess this issue cause by the current autoconf and automake tools are not compatible with gettext-full new version v0.21 |
Maintainer: @ratkaj
Environment: all Turris routers (powerpc, ARMv7 - arm_cortex-a9_vfpv3-d16) , ARMv8 - aarch64_cortex-a53), OpenWrt master
Description:
The text was updated successfully, but these errors were encountered: