Error when building vim7 with cygwin gcc

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Error when building vim7 with cygwin gcc

Thomas-4-2
Hi,

Maybe you're aware of this of maybe I did something wrong (both
possibilities are likely) but when I tried to give vim7 a shot and build
it using cygwin's gcc I ran into the following error:

> gcc -O3 -fomit-frame-pointer -freg-struct-return -fno-strength-reduce
> -DWIN32 -D HAVE_PATHDEF -DFEAT_NORMAL -DWINVER=0x0400
> -D_WIN32_WINNT=0x0400 -DFEAT_PERL -DD YNAMIC_PERL
> -DDYNAMIC_PERL_DLL=\"perl58.dll\" -DFEAT_PYTHON -DDYNAMIC_PYTHON -DD
> YNAMIC_PYTHON_DLL=\"python24.dll\" -DFEAT_RUBY -DDYNAMIC_RUBY
> -DDYNAMIC_RUBY_DLL =\"msvcrt-ruby18.dll\" -DDYNAMIC_RUBY_VER=18
> -DFEAT_TCL -DDYNAMIC_TCL -DDYNAMIC_ TCL_DLL=\"tcl83.dll\"
> -DDYNAMIC_GETTEXT -DDYNAMIC_ICONV -DFEAT_GUI_W32 -DFEAT_CL IPBOARD
> -march=pentium2 -Iproto -Ic:/Perl/lib/CORE -Ic:/Python24/include
> -Ic:/ru by/lib/ruby/1.8/i386-mswin32 -Ic:/ruby/include -s -mno-cygwin
> -o gvim.exe gobj/b uffer.o gobj/charset.o gobj/diff.o gobj/digraph.o
> gobj/edit.o gobj/eval.o gobj/e x_cmds.o gobj/ex_cmds2.o
> gobj/ex_docmd.o gobj/ex_eval.o gobj/ex_getln.o gobj/fil eio.o
> gobj/fold.o gobj/getchar.o gobj/hashtable.o gobj/main.o gobj/mark.o
> gobj/m emfile.o gobj/memline.o gobj/menu.o gobj/message.o
> gobj/misc1.o gobj/misc2.o gob j/move.o gobj/mbyte.o gobj/normal.o
> gobj/ops.o gobj/option.o gobj/os_win32.o gob j/os_mswin.o
> gobj/pathdef.o gobj/quickfix.o gobj/regexp.o gobj/screen.o gobj/sea
> rch.o gobj/spell.o gobj/syntax.o gobj/tag.o gobj/term.o gobj/ui.o
> gobj/undo.o go bj/version.o gobj/vimrc.o gobj/window.o gobj/if_perl.o
> gobj/if_python.o gobj/if_ ruby.o gobj/if_tcl.o gobj/gui.o
> gobj/gui_w32.o gobj/gui_beval.o gobj/os_w32exe.o   -luuid -lole32
> c:/ruby/lib/tclstub83.lib -mwindows -lcomctl32
> Warning: .drectve `-defaultlib:MSVCRT ' unrecognized
> Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
> gobj/option.o(.text+0x49ed):option.c: undefined reference to
> `_gui_mch_disable_b eval_area' gobj/option.o(.text+0x4a00):option.c:
> undefined reference to `_gui_mch_enable_be val_area'
> gobj/gui.o(.text+0x312):gui.c: undefined reference to
> `_gui_mch_create_beval_are a' gobj/gui.o(.text+0x347):gui.c:
> undefined reference to `_gui_mch_disable_beval_ar ea'
> gobj/gui_w32.o(.text+0x64d9):gui_w32.c: undefined reference to
> `_TrackUserActivi ty' gobj/gui_w32.o(.text+0x66b0):gui_w32.c:
> undefined reference to `_Handle_WM_Notif y'
> gobj/gui_beval.o(.text+0x174):gui_beval.c: undefined reference to
> `_gui_mch_post _balloon' collect2: ld returned 1 exit status make:
> *** [gvim.exe] Error 1

I tried to build vim7 using some setting that worked for vim63:

> PRG_DRV="c:"
> ARCH_OPTS="ARCH=pentium2 CPUNR=pentium2"
> RUBY_OPTS="RUBY=$PRG_DRV/ruby RUBY_VER=18 RUBY_VER_LONG=1.8 DYNAMIC_RUBY=yes"
> PERL_HOME="$PRG_DRV/Perl"
> PERL_OPTS="PERL=$PERL_HOME PERL_VER=58 DYNAMIC_PERL=yes"
> PYTHON_HOME="$PRG_DRV/Python24"
> PYTHON_OPTS="PYTHON=$PYTHON_HOME DYNAMIC_PYTHON=yes PYTHON_VER=24"
> TCL_OPTS="TCL=$PRG_DRV/ruby TCL_VER=83 DYNAMIC_TCL=yes"
> IM_OPTS="IME=no DYNAMIC_IME=no"
> IDE_OPTS="CSCOPE=no NETBEANS=no"
> USEDLL=no
> FEATURES=NORMAL
> OLE="MBYTE=no OLE=no"
> OTHER_OPTS="FEATURES=$FEATURES USEDLL=$USEDLL $OLE $IM_OPTS $IDE_OPTS $ARCH_OPTS"
> make -f Make_cyg.mak $TCL_OPTS $RUBY_OPTS $PERL_OPTS $PYTHON_OPTS $OTHER_OPTS $*

Is there anything wrong here (maybe some missing library) or is (g)vim7
not meant to be built with cygwin/gcc yet.

> $ gcc --version
> gcc (GCC) 3.3.3 (cygwin special)

Cheers,
Thomas.

Reply | Threaded
Open this post in threaded view
|

Re: Error when building vim7 with cygwin gcc

Bram Moolenaar

Thomas wrote:

> Maybe you're aware of this of maybe I did something wrong (both
> possibilities are likely) but when I tried to give vim7 a shot and build
> it using cygwin's gcc I ran into the following error:

> > Warning: .drectve `-defaultlib:MSVCRT ' unrecognized
> > Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized

Don't know where that comes from...

> > gobj/option.o(.text+0x49ed):option.c: undefined reference to
> > `_gui_mch_disable_b eval_area' gobj/option.o(.text+0x4a00):option.c:
> > undefined reference to `_gui_mch_enable_be val_area'
> > gobj/gui.o(.text+0x312):gui.c: undefined reference to
> > `_gui_mch_create_beval_are a' gobj/gui.o(.text+0x347):gui.c:
> > undefined reference to `_gui_mch_disable_beval_ar ea'
> > gobj/gui_w32.o(.text+0x64d9):gui_w32.c: undefined reference to
> > `_TrackUserActivi ty' gobj/gui_w32.o(.text+0x66b0):gui_w32.c:
> > undefined reference to `_Handle_WM_Notif y'
> > gobj/gui_beval.o(.text+0x174):gui_beval.c: undefined reference to
> > `_gui_mch_post _balloon' collect2: ld returned 1 exit status make:
> > *** [gvim.exe] Error 1

That could be caused by a change in the code.  I'll see if I can figure
it out (I don't have Cygwin).

--
OLD WOMAN: King of the WHO?
ARTHUR:    The Britons.
OLD WOMAN: Who are the Britons?
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- [hidden email] -- http://www.Moolenaar.net   \\\
///        Sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
 \\\     Buy LOTR 3 and help AIDS victims -- http://ICCF.nl/lotr.html   ///
Reply | Threaded
Open this post in threaded view
|

Re: Error when building vim7 with cygwin gcc

A.J.Mechelynck
Bram Moolenaar wrote:

> Thomas wrote:
>
>
>>Maybe you're aware of this of maybe I did something wrong (both
>>possibilities are likely) but when I tried to give vim7 a shot and build
>>it using cygwin's gcc I ran into the following error:
>
>
>>>Warning: .drectve `-defaultlib:MSVCRT ' unrecognized
>>>Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
>
>
> Don't know where that comes from...

I have always seen that; it doesn't prevent generating an executable

>
>
>>>gobj/option.o(.text+0x49ed):option.c: undefined reference to
>>>`_gui_mch_disable_b eval_area' gobj/option.o(.text+0x4a00):option.c:
>>>undefined reference to `_gui_mch_enable_be val_area'
>>>gobj/gui.o(.text+0x312):gui.c: undefined reference to
>>>`_gui_mch_create_beval_are a' gobj/gui.o(.text+0x347):gui.c:
>>>undefined reference to `_gui_mch_disable_beval_ar ea'
>>>gobj/gui_w32.o(.text+0x64d9):gui_w32.c: undefined reference to
>>>`_TrackUserActivi ty' gobj/gui_w32.o(.text+0x66b0):gui_w32.c:
>>>undefined reference to `_Handle_WM_Notif y'
>>>gobj/gui_beval.o(.text+0x174):gui_beval.c: undefined reference to
>>>`_gui_mch_post _balloon' collect2: ld returned 1 exit status make:
>>>*** [gvim.exe] Error 1
>
>
> That could be caused by a change in the code.  I'll see if I can figure
> it out (I don't have Cygwin).
>

I have Cygwin and I use it to geneate native-Windows builds using
src/Make_cyg.mak; I never have seen the above errors. My latest build
(yesterday's) is based on snapshot 0075. My build procedure is described
at http://users.skynet.be/antoine.mechelynck/vim/compile.htm ; it worked
for 6.3 and it still works (mutatis mutandis) for 7.00aa.

I don't recognise the settings Thomas uses; I'd like to see his make
command-line, which is missing from his email. He might try making a
debug build (by adding DEBUG=yes to his make command-line) in order to
get references to the source in the link error listing.


Best regards,
Tony.

Reply | Threaded
Open this post in threaded view
|

Re: Error when building vim7 with cygwin gcc

Thomas-4-2
 > I have Cygwin and I use it to geneate native-Windows builds using
 > src/Make_cyg.mak; I never have seen the above errors. My latest build
 > (yesterday's) is based on snapshot 0075. My build procedure is described
 > at http://users.skynet.be/antoine.mechelynck/vim/compile.htm ; it worked
 > for 6.3 and it still works (mutatis mutandis) for 7.00aa.

Ah well, so maybe I should just use your binary anyway. I started
building my own after I upgraded ruby to 1.8 but vim was still looking
for 1.7. But as this is currently no problem ...

> I don't recognise the settings Thomas uses; I'd like to see his make
> command-line, which is missing from his email.

The second part was the the contents of a script that I called from bash:

$> . ../../config

The script was:

> PRG_DRV="c:"
> ARCH_OPTS="ARCH=pentium2 CPUNR=pentium2"
> RUBY_OPTS="RUBY=$PRG_DRV/ruby RUBY_VER=18 RUBY_VER_LONG=1.8 DYNAMIC_RUBY=yes"
> PERL_HOME="$PRG_DRV/Perl"
> PERL_OPTS="PERL=$PERL_HOME PERL_VER=58 DYNAMIC_PERL=yes"
> PYTHON_HOME="$PRG_DRV/Python24"
> PYTHON_OPTS="PYTHON=$PYTHON_HOME DYNAMIC_PYTHON=yes PYTHON_VER=24"
> TCL_OPTS="TCL=$PRG_DRV/ruby TCL_VER=83 DYNAMIC_TCL=yes"
> IM_OPTS="IME=no DYNAMIC_IME=no"
> IDE_OPTS="CSCOPE=no NETBEANS=no"
> USEDLL=no
> FEATURES=NORMAL
> OLE="MBYTE=no OLE=no"
> OTHER_OPTS="FEATURES=$FEATURES USEDLL=$USEDLL $OLE $IM_OPTS $IDE_OPTS $ARCH_OPTS"
> make -f Make_cyg.mak $TCL_OPTS $RUBY_OPTS $PERL_OPTS $PYTHON_OPTS $OTHER_OPTS $*

I compiled 63 with OLE and MBYTE but I turned it off here in order to
minimize potential problem sources -- before it failed too. I also
disabled support for python, ruby etc. once but with the same result.

Anyway, I will read your guide more carefully and try again or simply
use the build kindly provided by you.

Regards,
Thomas.

Reply | Threaded
Open this post in threaded view
|

Re: Error when building vim7 with cygwin gcc

Thomas-4-2
In reply to this post by A.J.Mechelynck
 > I have Cygwin and I use it to geneate native-Windows builds using
 > src/Make_cyg.mak; I never have seen the above errors. My latest build
 > (yesterday's) is based on snapshot 0075. My build procedure is described
 > at http://users.skynet.be/antoine.mechelynck/vim/compile.htm ; it worked
 > for 6.3 and it still works (mutatis mutandis) for 7.00aa.

Ah well, so maybe I should just use your binary anyway. I started
building my own after I upgraded ruby to 1.8 but vim was still looking
for 1.7. But as this is currently no problem ...

> I don't recognise the settings Thomas uses; I'd like to see his make
> command-line, which is missing from his email.

The second part was the the contents of a script that I called from bash:

$> . ../../config

The script was:

> PRG_DRV="c:"
> ARCH_OPTS="ARCH=pentium2 CPUNR=pentium2"
> RUBY_OPTS="RUBY=$PRG_DRV/ruby RUBY_VER=18 RUBY_VER_LONG=1.8 DYNAMIC_RUBY=yes"
> PERL_HOME="$PRG_DRV/Perl"
> PERL_OPTS="PERL=$PERL_HOME PERL_VER=58 DYNAMIC_PERL=yes"
> PYTHON_HOME="$PRG_DRV/Python24"
> PYTHON_OPTS="PYTHON=$PYTHON_HOME DYNAMIC_PYTHON=yes PYTHON_VER=24"
> TCL_OPTS="TCL=$PRG_DRV/ruby TCL_VER=83 DYNAMIC_TCL=yes"
> IM_OPTS="IME=no DYNAMIC_IME=no"
> IDE_OPTS="CSCOPE=no NETBEANS=no"
> USEDLL=no
> FEATURES=NORMAL
> OLE="MBYTE=no OLE=no"
> OTHER_OPTS="FEATURES=$FEATURES USEDLL=$USEDLL $OLE $IM_OPTS $IDE_OPTS $ARCH_OPTS"
> make -f Make_cyg.mak $TCL_OPTS $RUBY_OPTS $PERL_OPTS $PYTHON_OPTS $OTHER_OPTS $*

I compiled 63 with OLE and MBYTE but I turned it off here in order to
minimize potential problem sources -- before it failed too. I also
disabled support for python, ruby etc. once but with the same result.

Anyway, I will read your guide more carefully and try again or simply
use the build kindly provided by you.

Regards,
Thomas.