Opened 10 years ago
Closed 10 years ago
#46791 closed defect (worksforme)
Octave @3.8.2_4 compile error on OSX 10.9.5
Reported by: | mail@… | Owned by: | michaelld (Michael Dickens) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.3 |
Keywords: | Cc: | ||
Port: | octave |
Description
Octave port won't compile on Mavericks. Gives an error in it's libgnu/stdio.h
Attachments (5)
Change History (20)
Changed 10 years ago by mail@…
comment:2 Changed 10 years ago by larryv (Lawrence Velázquez)
Cc: | mail@… removed |
---|---|
Keywords: | octave stdio.h libgnu removed |
Owner: | changed from macports-tickets@… to michaelld@… |
Thanks. In future tickets, please Cc any port maintainers (port info --maintainers octave
).
comment:3 Changed 10 years ago by michaelld (Michael Dickens)
Just for the fun of it, can you do the following:
sudo port clean octave sudo port selfupdate sudo port install octave
and see if that works? If not, please post a new debug log & we'll work with that one.
comment:4 Changed 10 years ago by michaelld (Michael Dickens)
Thanks; sorry for not getting back. Trac does not report when a file is attached, only when comments are added.
So the issue -might- be that port is using "configure.compiler=macports-clang-3.4" for the build compiler (not the Fortran compiler). Any chance you can use Apple's clang instead ("configure.compiler=clang")? That might make a difference & is worth a try IMHO.
comment:5 Changed 10 years ago by mail@…
OK, I've done: sudo port clean octave; sudo port selfupdate; sudo port install octave configure.compiler=clang But it seems to have failed in the same place - main3.log attached.
comment:6 Changed 10 years ago by michaelld (Michael Dickens)
OK; what I need is the full build log. So, either the "clean" failed or something else went wrong in the "main3.log" file since it's just the build part with the error in it. Sometimes the rest of the log file contains useful information to help us debug issues.
So, try the following (sorry to be repetitive):
sudo port clean octave sudo port selfupdate sudo port install octave
with no special "configure.compiler" or whatever. Let the "install octave" run its course. If it fails again, then do:
cp `port logfile octave` ~/Desktop/octave.log cp `port work octave`/octave-3.8.2/libgnu/stdio.h ~/Desktop cd ~/Desktop tar jcf octave_files.tar.bz2 octave.log stdio.h
and post the file "octave_files.tar.bz2" to this ticket.
comment:7 Changed 10 years ago by mail@…
Hi, thanks for looking at this. I've done a new, clean build (why did it pull down libtool???) and I'll attach the tar file.
comment:8 Changed 10 years ago by michaelld (Michael Dickens)
Did the final command succeed ("sudo port install octave")? The log file is for libtool, somehow ... If this command failed, can you attach the file pointed to by "port logfile octave"?
libtool was updated from 2.4.5 to 2.4.6 on 2/23. Since libtool is a dependency of octave, when you "sudo port install octave", libtool will get updated. These sorts of updates (patch version only) generally fix minor bugs only, and generally don't impact dependent ports.
comment:9 Changed 10 years ago by mail@…
Replying to mail@…:
Tried the clean ; selfupdate ; install octave routine again. This time curl-ca-certificates got updated, and that was the logfile returned by port logfile octave. Curious. Went round again and got an octave log. I'll tar and upload it.
Changed 10 years ago by mail@…
Attachment: | octave_files.tar.bz2 added |
---|
octave.log and stdio.h, tarred up.
comment:10 Changed 10 years ago by michaelld (Michael Dickens)
Interesting about the "port logfile" issue. I'll test locally & then poke the MP dev list if I can replicate it.
Thanks for the tarball. Let me take a look.
comment:11 Changed 10 years ago by michaelld (Michael Dickens)
Can you attach the file (better formatting);
`port work octave`/octave-3.8.2/config.log
Changed 10 years ago by mail@…
Attachment: | config.log added |
---|
port work octave
/octave-3.8.2/config.log
comment:13 follow-up: 14 Changed 10 years ago by michaelld (Michael Dickens)
OK. It seems like your install has an extra "features.h" hanging around and accessible by Apple's clang. I've checked my various installs, and I think this file is for libstdc++ only (which is provided by GCC; not part of clang).
I'm still trying various build options to see if I can get octave to fail when using libc++ and macports clang 3.6 ... but my computer is running 10.8 & so it's likely to not have the same issues as yours.
In the meantime, if you want to look around for that header you might find something interesting. You can always do the "hammer" method:
sudo find / -name features.h
comment:14 Changed 10 years ago by mail@…
Replying to michaelld@…:
In the meantime, if you want to look around for that header you might find something interesting. You can always do the "hammer" method:
sudo find / -name features.h
Wielded the hammer. Found /usr/local/include/features.h Got rid of it. Octave has now successfully compiled and run! Thanks for finding that.
comment:15 Changed 10 years ago by michaelld (Michael Dickens)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Great; you're welcome!
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log