Opened 10 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)
Change History (6)
comment:1 Changed 10 years ago by Schamschula (Marius Schamschula)
comment:3 Changed 10 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 10 years ago by michaelld (Michael Dickens)
Attachment: | octave_module_gcc_deps.diff added |
---|
comment:4 Changed 8 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: | new → closed |
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.