[MacPorts] #28071: Vim 7.3.94_0 to 7.3.102_0 +universal fails with symbols not found for i386
#28071: Vim 7.3.94_0 to 7.3.102_0 +universal fails with symbols not found for i386 --------------------------------------+------------------------------------- Reporter: wintesa@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: vim 7.3 universal | Port: --------------------------------------+------------------------------------- Upgrading from 7.3.94_0 to 7.3.102_0 fails with: ... :info:build Undefined symbols for architecture i386: :info:build "_rb_num2uint", referenced from: :info:build _window_set_cursor in if_ruby.o :info:build ld: symbol(s) not found for architecture i386 :info:build collect2: ld returned 1 exit status :info:build lipo: can't open input file: /var/tmp//ccm2NL6E.out (No such file or directory) ... -- Ticket URL: <https://trac.macports.org/ticket/28071> MacPorts <http://www.macports.org/> Ports system for Mac OS
#28071: Vim 7.3.94_0 to 7.3.102_0 +universal fails with symbols not found for i386 --------------------------------------+------------------------------------- Reporter: wintesa@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: vim --------------------------------------+------------------------------------- Changes (by macsforever2000@…): * keywords: vim 7.3 universal => * owner: macports-tickets@… => raimue@… * port: => vim Old description:
Upgrading from 7.3.94_0 to 7.3.102_0 fails with:
... :info:build Undefined symbols for architecture i386: :info:build "_rb_num2uint", referenced from: :info:build _window_set_cursor in if_ruby.o :info:build ld: symbol(s) not found for architecture i386 :info:build collect2: ld returned 1 exit status :info:build lipo: can't open input file: /var/tmp//ccm2NL6E.out (No such file or directory) ...
New description: Upgrading from 7.3.94_0 to 7.3.102_0 fails with: {{{ ... :info:build Undefined symbols for architecture i386: :info:build "_rb_num2uint", referenced from: :info:build _window_set_cursor in if_ruby.o :info:build ld: symbol(s) not found for architecture i386 :info:build collect2: ld returned 1 exit status :info:build lipo: can't open input file: /var/tmp//ccm2NL6E.out (No such file or directory) ... }}} -- -- Ticket URL: <https://trac.macports.org/ticket/28071#comment:1> MacPorts <http://www.macports.org/> Ports system for Mac OS
#28071: Vim 7.3.94_0 to 7.3.102_0 +universal fails with symbols not found for i386 --------------------------------------+------------------------------------- Reporter: wintesa@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: vim --------------------------------------+------------------------------------- Comment(by wintesa@…): Seems to be fixed with: file: src/if_ruby.c 1216 static VALUE window_set_cursor(VALUE self, VALUE pos) 1217 { 1218 VALUE lnum, col; 1219 win_T *win = get_win(self); 1220 1221 Check_Type(pos, T_ARRAY); 1222 if (RARRAY_LEN(pos) != 2) 1223 rb_raise(rb_eArgError, "array length must be 2"); 1224 lnum = RARRAY_PTR(pos)[0]; 1225 col = RARRAY_PTR(pos)[1]; 1226 win->w_cursor.lnum = NUM2LONG(lnum); 1227 win->w_cursor.col = NUM2LONG(col); /* Changed from NUM2UINT(col) 15/Feb/2011*/ 1228 check_cursor(); /* put cursor on an existing line */ 1229 update_screen(NOT_VALID); 1230 return Qnil; 1231 } -- Ticket URL: <https://trac.macports.org/ticket/28071#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS
#28071: Vim 7.3.94_0 to 7.3.102_0 +universal fails with symbols not found for i386 --------------------------------------+------------------------------------- Reporter: wintesa@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: vim --------------------------------------+------------------------------------- Comment(by wintesa@…): {{{ 1216 static VALUE window_set_cursor(VALUE self, VALUE pos) 1217 { 1218 VALUE lnum, col; 1219 win_T *win = get_win(self); 1220 1221 Check_Type(pos, T_ARRAY); 1222 if (RARRAY_LEN(pos) != 2) 1223 rb_raise(rb_eArgError, "array length must be 2"); 1224 lnum = RARRAY_PTR(pos)[0]; 1225 col = RARRAY_PTR(pos)[1]; 1226 win->w_cursor.lnum = NUM2LONG(lnum); 1227 win->w_cursor.col = NUM2LONG(col); 1228 check_cursor(); /* put cursor on an existing line */ 1229 update_screen(NOT_VALID); 1230 return Qnil; 1231 } }}} -- Ticket URL: <https://trac.macports.org/ticket/28071#comment:3> MacPorts <http://www.macports.org/> Ports system for Mac OS
#28071: Vim 7.3.94_0 to 7.3.102_0 +universal fails with symbols not found for i386 --------------------------------------+------------------------------------- Reporter: wintesa@… | Owner: raimue@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.9.2 Keywords: | Port: vim --------------------------------------+------------------------------------- Comment(by raimue@…): The problem is that the build for both architectures uses the x86_64 headers, although a separate set exists for i386 with differented defines. Ruby wants to be smart here and NUM2UINT is a no-op for sizeof(int) == sizeof(long) and, thus, no rb_num2uint function is compiled in this case. From the vim73/src/auto/config.log: {{{ RUBY_CFLAGS='-I/opt/local/lib/ruby/1.8/x86_64-darwin11 -DRUBY_VERSION=18' RUBY_LIBS='-lruby -lpthread -ldl -lobjc -L/opt/local/lib' }}} I am not yet sure if this is a more general bug in ruby +universal or if it should be fixed in the vim build only. -- Ticket URL: <https://trac.macports.org/ticket/28071#comment:4> MacPorts <http://www.macports.org/> Ports system for Mac OS
participants (1)
-
MacPorts