Opened 6 years ago

Closed 6 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)

main.log (360.9 KB) - added by mail@… 6 years ago.
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log
main2.log (360.9 KB) - added by mail@… 6 years ago.
Second log file
main3.log (176.7 KB) - added by mail@… 6 years ago.
Third log file
octave_files.tar.bz2 (35.4 KB) - added by mail@… 6 years ago.
octave.log and stdio.h, tarred up.
config.log (2.3 MB) - added by mail@… 6 years ago.
port work octave/octave-3.8.2/config.log

Change History (20)

Changed 6 years ago by mail@…

Attachment: main.log added

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_math_octave/octave/main.log

comment:1 Changed 6 years ago by mail@…

Cc: mail@… added

Cc Me!

comment:2 Changed 6 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 6 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.

Changed 6 years ago by mail@…

Attachment: main2.log added

Second log file

comment:4 Changed 6 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.

Changed 6 years ago by mail@…

Attachment: main3.log added

Third log file

comment:5 Changed 6 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 6 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 in reply to:  description Changed 6 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 6 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 in reply to:  description Changed 6 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 6 years ago by mail@…

Attachment: octave_files.tar.bz2 added

octave.log and stdio.h, tarred up.

comment:10 Changed 6 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 6 years ago by michaelld (Michael Dickens)

Can you attach the file (better formatting);

`port work octave`/octave-3.8.2/config.log
Last edited 6 years ago by michaelld (Michael Dickens) (previous) (diff)

Changed 6 years ago by mail@…

Attachment: config.log added

port work octave/octave-3.8.2/config.log

comment:12 Changed 6 years ago by mail@…

Uploaded the config.log.

comment:13 Changed 6 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 in reply to:  13 Changed 6 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 6 years ago by michaelld (Michael Dickens)

Resolution: worksforme
Status: newclosed

Great; you're welcome!

Note: See TracTickets for help on using tickets.