Opened 9 years ago

Closed 7 years ago

#46517 closed defect (fixed)

octave-tsa @4.2.7 needs gcc dependency

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: michaelld (Michael Dickens), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Port: octave-tsa

Description

octave-tsa @4.2.7 fails to build on all buildbot builders because:

INCFLAGS="-I/opt/local/include/octave-3.8.2/octave/.. -I/opt/local/include/octave-3.8.2/octave -I/opt/local/include -include cstdlib" mkoctfile --mex covm_mex.cpp -L/opt/local/lib -L/opt/local/lib/gcc49/gcc/x86_64-apple-darwin11/4.9.2 -L/opt/local/lib/gcc49/gcc/x86_64-apple-darwin11/4.9.2/../../.. -lgfortran -lquadmath -lm -lgomp     ## Octave
ld: warning: directory not found for option '-L/opt/local/lib/gcc49/gcc/x86_64-apple-darwin11/4.9.2'
ld: warning: directory not found for option '-L/opt/local/lib/gcc49/gcc/x86_64-apple-darwin11/4.9.2/../../..'
ld: library not found for -lgfortran

It sounds like octave-tsa has a dependency on whatever version of gcc octave was built with. You may need to add gcc variants to octave-tsa (possibly using the compilers 1.0 portgroup), and use the require_active_variants procedure in the active_variants 1.1 portgroup to ensure that the selected variant matches the one selected for octave.

Attachments (1)

octave_module_gcc_deps.diff (993 bytes) - added by michaelld (Michael Dickens) 9 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 Changed 9 years ago by Schamschula (Marius Schamschula)

mkoctfile should do this for us. So I'll have to see why this isn't working.

BTW, I did not see these warnings on under trace mode on my machine, as octave was built using gcc48 and thus gfortran-mp-4.8.

Also note, this issue is likely to occur in other octave packages. Once we find a solution this might have to be rolled into the octave-1.0 port group.

Last edited 9 years ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:2 Changed 9 years ago by michaelld (Michael Dickens)

Cc: michaelld@… added

Cc Me!

comment:3 Changed 9 years ago by michaelld (Michael Dickens)

Because all of the octave modules use 'mkoctfile', which in turn uses whichever GCC4X compiler suite chosen in the Octave port, each octave module should also depend on same version of GCC4X (not as a variant; just the same version as Octave). Maybe octave-tsa's GCC dependency is more direct than for other octave modules?

There's a simple way to "hack" in this requirement into the octave-1.0 PortGroup, but I'm not sure how robust it is (diff attached) -- for example, if g95 is used as the Fortran compiler instead of GCC4X ... no idea what happens in that case. Anyway, this issue will require some investigation and quite a bit of testing to get working, I think.

Changed 9 years ago by michaelld (Michael Dickens)

Attachment: octave_module_gcc_deps.diff added

comment:4 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:5 Changed 7 years ago by Schamschula (Marius Schamschula)

Resolution: fixed
Status: newclosed

In 64c9a2e9ed7f3906f24fc1039a0566d29a51e492/macports-ports:

octave-tsa: add gcc dependency

Closes: #46517

Note: See TracTickets for help on using tickets.