bugGNU Octave - Bugs: bug #33564, contourc build failure

 
 

bug #33564: contourc build failure

Submitter:  marco atzeri <matzeri>
Submitted:  Tue 14 Jun 2011 02:12:16 PM UTC
   
 
Category:  Configuration and Build System Severity:  5 - Blocker
Priority:  9 - Immediate Item Group:  Build Failure
Status:  Fixed Assigned to:  None
Originator Name:  Marco Atzeri Open/Closed:  * Closed
Release:  * dev Operating System:  * Microsoft Windows
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 23 Jun 2011 01:38:01 PM UTC, comment #17: 

OK, thanks.  I'm closing this report now.

John W. Eaton <jwe>
Group administrator
Thu 23 Jun 2011 12:50:40 PM UTC, comment #16: 

rc2 build on cygwin and pass the tests

marco atzeri <matzeri>
Wed 22 Jun 2011 09:05:29 PM UTC, comment #15: 

Thanks, I'm building -rc2 now.

John W. Eaton <jwe>
Group administrator
Wed 22 Jun 2011 08:42:09 PM UTC, comment #14: 

John,

with your latest fix (file #23548) octave compiles on mingw32 again, thanks!

Kai

P.S the command to compile mkoctfile was:

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I../libgnu -I../libgnu -I../lib
cruft/misc -I../liboctave -I../liboctave -I. -I. -g -O2 -DHAVE_CONFIG_H -mieee-f
p -I/usr/local/include -IC:/MinGW/include -Wall -W -Wshadow -Wold-style-cast -Wf
ormat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2 -g -O2 -MT
 DLD-FUNCTIONS/DLD_FUNCTIONS_urlwrite_la-urlwrite.lo -MD -MP -MF DLD-FUNCTIONS/.
deps/DLD_FUNCTIONS_urlwrite_la-urlwrite.Tpo -c DLD-FUNCTIONS/urlwrite.cc  -DDLL_
EXPORT -DPIC -o DLD-FUNCTIONS/.libs/DLD_FUNCTIONS_urlwrite_la-urlwrite.o
depbase=`echo mkoctfile.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
        g++ -DHAVE_CONFIG_H -I. -I..  -I../libgnu -I../libgnu -I../libcruft/misc
 -I../liboctave -I../liboctave -I. -I.   -g -O2  -DHAVE_CONFIG_H -mieee-fp -I/us
r/local/include  -IC:/MinGW/include   -Wall -W -Wshadow -Wold-style-cast -Wforma
t -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2  -g -O2 -MT mk
octfile.o -MD -MP -MF $depbase.Tpo -c -o mkoctfile.o mkoctfile.cc &&\

I hope I have found the correct line.

Kai Habel <kahacjde>
Group Member
Tue 21 Jun 2011 11:13:17 PM UTC, comment #13: 

And I should add that the problem compiling mkoctfile appears to be due to a change I made, not the cleanup that Rik did...

John W. Eaton <jwe>
Group administrator
Tue 21 Jun 2011 11:12:25 PM UTC, comment #12: 

Can you please show me the command that is used for creating mkoctfile.o?

Does the attached change avoid the problem for you?

(file #23548)

John W. Eaton <jwe>
Group administrator
Tue 21 Jun 2011 08:24:52 PM UTC, comment #11: 

Following Rik's steps in #8 the mingw32 compilation fails now for mkoctfile.exe. It seems the linker misses some gnulib symbols.

Kai

mv DLD-FUNCTIONS/PKG_ADD-t DLD-FUNCTIONS/PKG_ADD
/bin/sh ../libtool --tag=CXX   --mode=link g++ -g -O2  -DHAVE_CONFIG_H -mieee-fp
 -I/usr/local/include  -IC:/MinGW/include   -Wall -W -Wshadow -Wold-style-cast -
Wformat -Wpointer-arith -Wwrite-strings -Wcast-align -Wcast-qual -g -O2  -g -O2
 -L/mingw/bin -o mkoctfile.exe  mkoctfile.o  -liberty -lm -lpthread  -lgdi32 -lw
s2_32 -luser32 -lkernel32 -lgdi32 -lws2_32 -luser32 -lkernel32
libtool: link: g++ -g -O2 -DHAVE_CONFIG_H -mieee-fp -I/usr/local/include -IC:/Mi
nGW/include -Wall -W -Wshadow -Wold-style-cast -Wformat -Wpointer-arith -Wwrite-
strings -Wcast-align -Wcast-qual -g -O2 -g -O2 -o .libs/mkoctfile.exe mkoctfile.
o  -L/mingw/bin -liberty -lpthread -lgdi32 -lws2_32 -luser32 -lkernel32
mkoctfile.o:mkoctfile.cc:(.debug_info+0x2539b): undefined reference to `rpl_fclo
se'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x253b3): undefined reference to `rpl_fflu
sh'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x254f3): undefined reference to `rpl_rena
me'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25584): undefined reference to `rpl_strd
up'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x2559e): undefined reference to `rpl_stre
rror'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x255d7): undefined reference to `rpl_mall
oc'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25602): undefined reference to `rpl_real
loc'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25641): undefined reference to `rpl_mkti
me'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25756): undefined reference to `rpl_mbsi
nit'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x2576f): undefined reference to `rpl_mbrt
owc'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25784): undefined reference to `rpl_mbsr
towcs'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x2579d): undefined reference to `rpl_fclo
se'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x257aa): undefined reference to `rpl_fflu
sh'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25811): undefined reference to `fpurge'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x258c9): undefined reference to `fseeko'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x258eb): undefined reference to `ftello'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x259d5): undefined reference to `rpl_rena
me'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25abd): undefined reference to `memrchr'

mkoctfile.o:mkoctfile.cc:(.debug_info+0x25ae4): undefined reference to `rpl_strd
up'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25b0b): undefined reference to `rpl_stre
rror'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25b18): undefined reference to `canonica
lize_file_name'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25b3f): undefined reference to `rpl_mall
oc'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25b61): undefined reference to `mkstemp'

mkoctfile.o:mkoctfile.cc:(.debug_info+0x25b8d): undefined reference to `rpl_real
loc'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25bb4): undefined reference to `realpath
'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25bec): undefined reference to `nanoslee
p'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25c19): undefined reference to `rpl_mkti
me'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25c4b): undefined reference to `localtim
e_r'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25c58): undefined reference to `gmtime_r
'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25c84): undefined reference to `strptime
'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25d28): undefined reference to `rpl_mbsi
nit'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25d5e): undefined reference to `rpl_mbrt
owc'
mkoctfile.o:mkoctfile.cc:(.debug_info+0x25d94): undefined reference to `rpl_mbsr
towcs'
collect2: ld returned 1 exit status
make[3]: * [mkoctfile.exe] Error 1
make[3]: * Waiting for unfinished jobs....

Kai Habel <kahacjde>
Group Member
Tue 21 Jun 2011 03:51:36 PM UTC, comment #10: 

Great.  I've committed the patch and a 3.4.2 release cycle can start now.

Rik <rik5>
Group administrator
Tue 21 Jun 2011 06:54:53 AM UTC, comment #9: 

tested yesterday on latest dev

changeset:   12759:34cd2fcfdcb8
tag:         tip
parent:      12751:c8f451df37a7
parent:      12758:ecd1364a2700
user:        John W. Eaton <jwe@octave.org>
date:        Mon Jun 20 11:12:39 2011 -0400
summary:     periodic merge of stable to default

using equivalent attached patch.

Build and test fine.



(file #23542)

marco atzeri <matzeri>
Mon 20 Jun 2011 05:45:46 PM UTC, comment #8: 

I think jwe is right about what went wrong.  Happily, its a small change.  I don't have access to Cygwin or MinGW so could someone else test the proposed patch which I have attached to this bug report?

Steps

1) clone or update to the tip of the stable branch (13bcd62824a7)
2) Apply patch, 'patch -p1 < makefile.patch'
3) 'make all', and hopefully it works.


Rik <rik5>
Group administrator
Mon 20 Jun 2011 03:49:10 PM UTC, comment #7: 

Rik, I think the problem is that your change deleted OCT_LINK_DEPS from src/Makefile.am.  Probably you thought it wasn't used because it doesn't appear in src/Makefile.am, but it is used in the included file DLD-FUNCTIONS/module.mk.

John W. Eaton <jwe>
Group administrator
Sun 19 Jun 2011 11:01:48 PM UTC, comment #6: 

Thanks for all the testing.  There has been some discussion on the maintainers list and as a result there is going to be an attempt to make a quick 3.4.2 point release which targets a few specific issues.  This bug has been included in the list of ones which must be fixed before the 3.4.2 release so I have increased the priority.

Kai, could you do a 'make clean' in the src directory and then 'make all' and capture the output in a log for attachment to this bug report?

I looked at the linking command you inserted in the bug report and it looks basically the same as my command on Linux so I'll need the entire output.

Rik <rik5>
Group administrator
Sun 19 Jun 2011 07:03:49 PM UTC, comment #5: 

Rik,
I get the error for the 3.4.1 tarball on mingw (32bit) as well.

Kai


libtool: link: g++ -shared -nostdlib c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../..
/../dllcrt2.o c:/mingw/bin/../lib/gcc/mingw32/4.5.2/crtbegin.o  DLD-FUNCTIONS/.l
ibs/__contourc__.o   -L/mingw/bin -liberty -lpthread -luser32 -lkernel32 -lgdi32
 -lws2_32 -luser32 -lkernel32 -Lc:/mingw/bin/../lib/gcc/mingw32/4.5.2 -Lc:/mingw
/bin/../lib/gcc -Lc:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/lib
-Lc:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../.. -L/mingw/lib /mingw/lib/gcc/min
gw32/4.5.2/libstdc++.dll.a -L/projetos/gcc/bld/452/build/mingw32/libstdc++-v3/sr
c -L/projetos/gcc/bld/452/build/mingw32/libstdc++-v3/src/.libs -L/projetos/gcc/b
ld/452/build/mingw32/winsup/mingw -L/projetos/gcc/bld/452/build/mingw32/winsup/w
32api/lib -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkerne
l32 -ladvapi32 -lshell32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt c
:/mingw/bin/../lib/gcc/mingw32/4.5.2/crtend.o  -O2 -mieee-fp -O2 -O2   -o DLD-FU
NCTIONS/.libs/__contourc__-0.dll -Wl,--enable-auto-image-base -Xlinker --out-imp
lib -Xlinker DLD-FUNCTIONS/.libs/__contourc__.dll.a
Creating library file: DLD-FUNCTIONS/.libs/__contourc__.dll.a
DLD-FUNCTIONS/.libs/__contourc__.o: In function `~octave_base_value':
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/./ov-base.h:211: undefined reference
 to `vtable for octave_base_value'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `G__contourc__':
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/DLD-FUNCTIONS/__contourc__.cc:302: u
ndefined reference to `check_version(std::string const&, std::string const&)'
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/DLD-FUNCTIONS/__contourc__.cc:302: u
ndefined reference to `error_state'
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/DLD-FUNCTIONS/__contourc__.cc:302: u
ndefined reference to `octave_dld_function::create(octave_value_list (*)(octave_
value_list const&, int), octave_shlib const&, std::string const&, std::string co
nst&)'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `Array':
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/../liboctave/Array.h:199: undefined
reference to `dim_vector::safe_numel() const'
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/../liboctave/Array.h:201: undefined
reference to `Array<double>::fill(double const&)'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `add_point':
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/DLD-FUNCTIONS/__contourc__.cc:60: un
defined reference to `Matrix::append(Matrix const&) const'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `end_contour':
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/DLD-FUNCTIONS/__contourc__.cc:76: un
defined reference to `Matrix::extract_n(int, int, int, int) const'
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/DLD-FUNCTIONS/__contourc__.cc:76: un
defined reference to `Matrix::append(Matrix const&) const'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `ZN6Matrix6resizeEiid':
C:\MinGW\msys\1.0\home\Kai\octave-3.4.1\src/../liboctave/dMatrix.h:131: undefine
d reference to `Array<double>::resize(dim_vector const&, double const&)'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `Z13F__contourc__RK17octave_valu
e_listi':

Kai Habel <kahacjde>
Group Member
Sun 19 Jun 2011 02:05:48 PM UTC, comment #4: 

Thank you for tracking things down.  I took a look at the changeset in question and, even though it was big patch, there weren't any real changes involved.  I was merely shifting the order of items in the file Makefile.am and this shouldn't affect things since it is really just a file that gets parsed, like a configuration file.

Separately, it seems that there is another bug which may require making a very quick 3.4.2 release.  Could someone verify that the 3.4.1 tarball (http://www.gnu.org/software/octave/download.html) works on Cygwin and MinGW?  If not, I will need to revert the changeset in question for the 3.4.2 release and start applying only bits of the patch until something breaks.  Unfortunately, I don't have Cygwin or MinGW so that testing will have to rely on others.

Rik <rik5>
Group administrator
Fri 17 Jun 2011 07:01:31 AM UTC, comment #3: 

Hi Rik,
it took a while but the problem is coming from here:

changeset:   12730:633ef00d963c
branch:      stable
parent:      12728:a17269b1148f
user:        Rik <octave@nomad.inbox5.com>
date:        Thu Jun 09 12:01:28 2011 -0700
summary:     maint: Reorganize src/Makefile.am for understanding.  No rules changed.


and propagated in the dev branch
after

changeset:   12734:8665c7957fdc
parent:      12731:f87ec8eb0ab0
parent:      12733:b67c2d580a25
user:        John W. Eaton <jwe@octave.org>
date:        Fri Jun 10 18:14:03 2011 -0400
summary:     main: periodic merge of stable to default

Regards
Marco

marco atzeri <matzeri>
Tue 14 Jun 2011 08:41:09 PM UTC, comment #2: 

Could you try using hg bisect to see which changeset introduced the problem?

Rik <rik5>
Group administrator
Tue 14 Jun 2011 07:48:35 PM UTC, comment #1: 

I see the same error for a mingw (32bit) build of the same tip.
My compiler is 4.5.2

Kai


Creating library file: DLD-FUNCTIONS/.libs/__contourc__.dll.a
DLD-FUNCTIONS/.libs/__contourc__.o: In function `~octave_base_value':
C:\MinGW\msys\1.0\home\Kai\octave\src/./ov-base.h:211: undefined reference to `v
table for octave_base_value'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `G__contourc__':
C:\MinGW\msys\1.0\home\Kai\octave\src/DLD-FUNCTIONS/__contourc__.cc:302: undefin
ed reference to `check_version(std::string const&, std::string const&)'
C:\MinGW\msys\1.0\home\Kai\octave\src/DLD-FUNCTIONS/__contourc__.cc:302: undefin
ed reference to `error_state'
C:\MinGW\msys\1.0\home\Kai\octave\src/DLD-FUNCTIONS/__contourc__.cc:302: undefin
ed reference to `octave_dld_function::create(octave_value_list (*)(octave_value_
list const&, int), octave_shlib const&, std::string const&, std::string const&)'

Kai Habel <kahacjde>
Group Member
Tue 14 Jun 2011 02:12:16 PM UTC, original submission:  

on cygwin with latest source (fresh download from scratch)

$ hg tip
changeset:   12738:0cb4e502fe5e
branch:      stable
tag:         tip
user:        Rik <octave@nomad.inbox5.com>
date:        Sun Jun 12 08:29:25 2011 -0700
summary:     maint: Remove obsolete file diff-template from version control

$ gcc --version
gcc (GCC) 4.3.4 20090804 (release) 1

the build porcess stop here:

libtool: link: g++-4 -shared -nostdlib /usr/lib/gcc/i686-pc-cygwin/4.3.4/crtbegin.o  DLD-FUNCTIONS/.libs/__contourc__                       .o   -L/usr/lib/gcc/i686-pc-cygwin/4.3.4 -L/usr/lib/gcc/i686-pc-cygwin/4.3.4/../../.. /usr/lib/gcc/i686-pc-cygwin/4.3                       .4/libstdc++.dll.a -lgcc_s -lgcc_s -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc_s -lgcc_s /usr/lib/gcc/i68                       6-pc-cygwin/4.3.4/crtend.o  -O2 -mieee-fp -O2 -O2   -o DLD-FUNCTIONS/.libs/__contourc__-0.dll -Wl,--enable-auto-image                       -base -Xlinker --out-implib -Xlinker DLD-FUNCTIONS/.libs/__contourc__.dll.a
Creating library file: DLD-FUNCTIONS/.libs/__contourc__.dll.aDLD-FUNCTIONS/.libs/__contourc__.o: In function `~octave                       _base_value':
/pub/hg/octave_build/src/../../octave/src/ov-base.h:211: undefined reference to `vtable for octave_base_value'
DLD-FUNCTIONS/.libs/__contourc__.o: In function `G__contourc__':
/pub/hg/octave_build/src/../../octave/src/DLD-FUNCTIONS/__contourc__.cc:302: undefined reference to `check_version(st                       d::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits                       <char>, std::allocator<char> > const&)'
/pub/hg/octave_build/src/../../octave/src/DLD-FUNCTIONS/__contourc__.cc:302: undefined reference to `_error_state'
/pub/hg/octave_build/src/../../octave/src/DLD-FUNCTIONS/__contourc__.cc:302: undefined reference to `octave_dld_funct                       ion::create(octave_value_list (*)(octave_value_list const&, int), octave_shlib const&, std::basic_string<char, std::c                       har_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char>                        > const&)'


marco atzeri <matzeri>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #23548:  diffs.txt added by jwe (393B - text/plain)
file #23542:  DEPS.patch added by matzeri (547B - application/octet-stream)
file #23540:  makefile.patch added by rik5 (607B - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by kahacjde (Posted a comment)
  • -email is unavailable- added by matzeri (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 10 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-06-23 jwe Open/ClosedOpen Closed
    2011-06-21 jwe Attached File- Added diffs.txt, #23548
        Open/ClosedClosed Open
    2011-06-21 rik5 StatusConfirmed Fixed
        Open/ClosedOpen Closed
    2011-06-21 matzeri Attached File- Added DEPS.patch, #23542
    2011-06-20 rik5 Attached File- Added makefile.patch, #23540
    2011-06-19 rik5 Severity3 - Normal 5 - Blocker
        Priority5 - Normal 9 - Immediate
    2011-06-14 kahacjde StatusNone Confirmed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code