alloy/macvim

can not build

kangjia opened this issue · 6 comments

error message:
Undefined symbols for architecture x86_64:
"_iconv", referenced from:
_buf_write_bytes in fileio.o
_readfile in fileio.o
_my_iconv_open in mbyte.o
_string_convert_ext in mbyte.o
(maybe you meant: _my_iconv_open)
"_iconv_close", referenced from:
_buf_write in fileio.o
_readfile in fileio.o
_my_iconv_open in mbyte.o
_convert_setup_ext in mbyte.o
"_iconv_open", referenced from:
_my_iconv_open in mbyte.o
(maybe you meant: _my_iconv_open)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [Vim] Error 1

Looks like you have an iconv installed which is build for 32bit. The system version is for 64bit too:

$ file /usr/lib/libiconv.2.4.0.dylib 
/usr/lib/libiconv.2.4.0.dylib: Mach-O universal binary with 2 architectures
/usr/lib/libiconv.2.4.0.dylib (for architecture x86_64):    Mach-O 64-bit dynamically linked shared library x86_64
/usr/lib/libiconv.2.4.0.dylib (for architecture i386):  Mach-O dynamically linked shared library i386

run this command, that is result.

kangjia$ file /usr/lib/libiconv.2.4.0.dylib 
/usr/lib/libiconv.2.4.0.dylib: Mach-O universal binary with 2 architectures
/usr/lib/libiconv.2.4.0.dylib (for architecture x86_64):    Mach-O 64-bit dynamically linked shared library x86_64
/usr/lib/libiconv.2.4.0.dylib (for architecture i386):  Mach-O dynamically linked shared library i386

Right, because that’s the version that comes with the system :) However, the version that is being used while trying to build MacVim seems to be a different one which you installed yourself. Try finding other locations with: $ mdfind libiconv.

You can probably also find it in the config.status file. (Not 100% sure one is created, but normally it should when using configure.)

oh , thank u . i have changed my .bashrc . now i installed success.: )

Cool :)