Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#38694 closed defect (fixed)

octave @3.2.4 -- failure during build compiling oct-alloc.cc

Reported by: cwr@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.1.3
Keywords: Cc: michaelld (Michael Dickens), jmgoicolea (Jose Goicolea)
Port: octave

Description (last modified by ryandesign (Ryan Carsten Schmidt))

(Note that I am a complete newbie to MacPorts, I have installed Mountain Lion, Xcode, MacPorts, etc., all in the last day or two so this is as likely to be due to any number of missteps in my set-up as opposed to a problem with the port or build. I could not find an obvious duplicate report, but then I wasn't sure what I should be looking for...)

On a new install (of Mountain Lion, Xcode, MacPorts) I tried to sudo port install octave. It went smoothly until it got to Building octave. Looking at the log (excerpted below) the problem seems to have been with files oct-alloc.cc/.h

Looking for advice about how to proceed.

:info:build /opt/local/bin/g++-mp-4.7 -c -I/opt/local/include -I/opt/local/include -I. -I.. -I../liboctave -I../src -I../libcruft/misc  -DHAVE_CONFIG_H -mieee-fp -I/opt/local/include/freetype2 -I/opt/local/include -Wall -W -Wshadow -Wold-style-cast -Wformat -pipe -O2 -m64 -D_THREAD_SAFE  oct-alloc.cc -o oct-alloc.o
:info:build In file included from oct-alloc.cc:30:0:
:info:build oct-alloc.h:33:28: error: expected ')' before 'item_sz'
:info:build oct-alloc.h:40:9: error: expected ';' at end of member declaration
:info:build oct-alloc.h:40:23: error: expected ')' before 'size'
:info:build oct-alloc.h:43:23: error: 'size_t' has not been declared
:info:build oct-alloc.h:58:3: error: 'size_t' does not name a type
:info:build oct-alloc.cc:33:26: error: 'void* octave_allocator::alloc' is not a static member of 'class octave_allocator'
:info:build oct-alloc.cc:33:26: error: 'size_t' was not declared in this scope
:info:build oct-alloc.cc:33:26: note: suggested alternative:
:info:build In file included from /opt/local/include/gcc47/c++/new:41:0,
:info:build                  from oct-alloc.cc:28:
:info:build /opt/local/include/gcc47/c++//x86_64-apple-darwin12/bits/c++config.h:173:26: note:   'std::size_t'
:info:build oct-alloc.cc:34:1: error: expected ',' or ';' before '{' token
:info:build make[2]: *** [oct-alloc.o] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.2.4/liboctave'
:info:build make[1]: *** [liboctave] Error 2
:info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.2.4'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.2.4'
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/work/octave-3.2.4" && /usr/bin/make -w all 
:info:build Exit code: 2
:error:build org.macports.build for port octave returned: command execution failed
:debug:build Error code: CHILDSTATUS 49260 2
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: targets not executed for octave: org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Please see the log file for port octave for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log

Attachments (1)

main.log (310.7 KB) - added by cwr@… 12 years ago.
build log

Download all attachments as: .zip

Change History (11)

Changed 12 years ago by cwr@…

Attachment: main.log added

build log

comment:1 Changed 12 years ago by cwr@…

D'oh, apparently put my triple brackets in the wrong place and can't see how to edit it.

Forgot to say that I did sudo port install octave followed by sudo port clean octave followed by sudo port install octave with the same result.

comment:2 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Port: octave added

comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: michaelld@… added

The octave port hasn't been updated in a long time. For now, try the octave-devel port instead.

comment:4 Changed 12 years ago by cwr@…

Thank you very much!! I uninstalled octave then installed octave-devel and it completed without further problems. Thanks to ryandesign for the prompt and helpful advice!

Craig

comment:5 Changed 12 years ago by michaelld (Michael Dickens)

I think the basic issue here is that more recent GCC versions (e.g., 4.7.3 versus 4.7.0) change the default flags being used for compiling (e.g., not using "-fpermissive"). The newer GCC is catching some -potential- issues, but mainly it is just more picky about C/C++ syntax and grammar. A few generic tweaks should do the trick. That said, given the lack of "cc me's" on this ticket, I wonder if anyone really uses the octave port any longer? Given how robust and current octave-devel is, do we really need this version of octave still around? Anyway, I'll check in some fixes later today once it all works.

comment:6 Changed 12 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

Should be fixed in r105514.

comment:7 Changed 12 years ago by jmgoicolea (Jose Goicolea)

Cc: jose.goicolea@… added

Cc Me!

comment:8 in reply to:  7 Changed 12 years ago by jmgoicolea (Jose Goicolea)

Replying to jose.goicolea@…:

Cc Me!

Well, I was using octave until now and had exactly the same problem. Having read the above I'll try switching to octave-devel. Thanks!

comment:9 Changed 12 years ago by cwr@…

Let me just chime in as the original complainer. I absolutely do not care about "octave" versus "octave-devel". I just wanted SOME copy of Octave to use in my work. (Which, after help from michaelld in another thread, is going well.)

My only concern is that anyone who wanders in like I did, having no prior experience with MacPorts, would assume that the port with the unqualified name ("octave") would be the place to start. That may lead to some problem that is hard for the new user to diagnose. Is there any way to mark the "octave" port as obsolete or deprecated or somehow suggest that you probably want to be using "octave-devel"?

comment:10 Changed 12 years ago by michaelld (Michael Dickens)

Thanks for the feedback; I'm glad you have -some- octave working. I had the same issue a while back (just needing Octave of some sort), but I required the 3.4 series for some reason I no longer remember; hence, I started maintaining octave-devel and have continued to do so as best my time allows. We (interested MacPorts developers) have discussed what to do about Octave in the past, but IIRC have never come to any real conclusion. I don't use Octave heavily enough to need any of the extras (e.g., octave-combinatorics; "port search octave" to see a bunch), so I haven't looked into if/how well they will play with octave-devel. Maybe if/when I get a little spare time (¿between consulting jobs?) I'll have a look to see how difficult it would be. Or, maybe someone has already done this and I just don't know it yet. I think the goal is to move the current "octave-devel" into "octave", and then have "octave-devel" be a real devel port (the latest, bleeding edge).

Note: See TracTickets for help on using tickets.