bugGNU Octave - Bugs: bug #50351, [octave forge] (parallel) install...

 
 

bug #50351: [octave forge] (parallel) install using Intel Compiler failed

Submitted by:  Collin <colling>
Submitted on:  Sat 18 Feb 2017 11:33:16 PM UTC  
 
Category: Octave Forge PackageSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Build Failure
Status: NoneAssigned to: None
Originator Name: Open/Closed: Open
Release: 4.0.0Operating System: GNU/Linux

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Tue 21 Feb 2017 08:10:08 PM UTC, comment #4:

Thanks again and sorry for the late reply. I did some tests again in the past several days. I did what I was suggested to enter the source directory of the parallel package, and ran the similar ./configure command like what I did for the octave itself. Indeed, there were the errors. It complained the conflict with my gcc-4.7.2 header files. In short, the installation of Octave 4.0.0 itself was fine with Intel v13.0, but failed with the parallel package. Then, I changed it to Intel v14.0 compiler and see what happens. Now, this time it failed again with the octave itself. ./configure was good, but it crashed at "make" with the error ../liboctave/.libs/liboctave.so: undefined reference to '__builtin_signbit'. I don't think this is due the potential incompatibility issues between the versions of gcc and Intel compiler. Do I need load other shared libs? Intel v14.0 should have a better support for c++11 than does the v13.0. It would be good if we can figure out what happened with v14.0. Thanks.

Collin <colling>
Sun 19 Feb 2017 08:03:42 PM UTC, comment #3:

Olaf - it wouldn't be a terrible thing to declare this configuration unsupported, it's up to you how much help you want to give to someone using the Intel compiler which we don't generally give too much help for.

That said, I think the Intel compiler does declare itself as if it were gcc/glibc using preprocessor macros. It may be here that Intel does accept the option and does enable some C++11 features, but maybe not all of the features that the autoconf check is looking for. The autoconf snippet that you are using does an exhaustive test of many C++11 features and declares failure if any of them don't work.

Collin and Olaf - it would be helpful to see the config.log file that is generated when the package install fails, that should contain the actual compiler error and give a clue as to why the C++11 tests are failing with this compiler. This means you have to unpack the package and try to build the src directory manually, with the same environment variables that are exported by Octave for the configure and make steps.

Mike Miller <mtmiller>
Project Administrator
Sun 19 Feb 2017 06:13:38 PM UTC, comment #2:

Thanks for the swift reply. I did what you suggested:
$ export CXX="icpc -std=c++11"
$ echo $CXX
icpc -std=c++11

So, I think c++11 features should be accessible. However, in the octace propmt, when I installed the parallel package, I got the similar errors as before:

octave:2> pkg install parallel-3.1.1.tar
configure: error: could not enforce using C++11 features
checking for mkoctfile... /project/User.Test/octave-4.0.0/bin/mkoctfile-4.0.0
checking for octave-config... /project/User.Test/octave-4.0.0/bin/octave-config-4.0.0
checking for a sed that does not truncate output... /bin/sed
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether icpc -std=c++11 accepts -g... yes
checking for icpc -std=c++11 option to enable C++11 features... unsupported
checking for icpc -std=c++11 option to enable C++98 features... none needed

pkg: error running the configure script for parallel.
error: called from 'configure_make' in file /project/User.Test/octave-4.0.0/share/octave/4.0.0/m/pkg/private/configure_make.m near line 79, column 9

As you can see, -std=c+11 option was on, but it still complained unsupported C++ features. I was aslo puzzled about "checking whether we are using the GNU C++ compiler... yes". What I'm using is Intel c++ compiler, but it supposed the GNU C++ compiler is in use ( ... yes). Appreciate it again for your help.

Collin <colling>
Sun 19 Feb 2017 10:20:20 AM UTC, comment #1:

The package by default uses the compiler Octave was compiled with. It checks with a configure test if this compiler can be made C++11 compliant, but doesn't find a way to achieve this.

The configure test is of the same version as the corresponding test used by recent Octave, so I currently don't know if a more recent version of the test could be tried.

If you know how to call your compiler to make it C++11 compliant, you could try to specify this before installing, like that:

Olaf Till <i7tiol>
Project Member
Sat 18 Feb 2017 11:33:16 PM UTC, original submission:

I was trying to install the octave pacakge parallel-3.1.1 from the source code on my RHEL 2.6.32. I was sucessfult to install the dependency struct-1.0.14, though there are some warning notes. Octave-4.0.0 was installed with Intel compiler v13.0. Below is the error message from the installation of the parallel-3.1.1:

octave:8> pkg install parallel-3.1.1.tar
configure: error: could not enforce using C++11 features
checking for mkoctfile... /project/User.Test/octave-4.0.0/bin/mkoctfile-4.0.0
checking for octave-config... /project/User.Test/octave-4.0.0/bin/octave-config-4.0.0
checking for a sed that does not truncate output... /bin/sed
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether icpc accepts -g... yes
checking for icpc option to enable C++11 features... unsupported
checking for icpc option to enable C++98 features... none needed

pkg: error running the configure script for parallel.
error: called from 'configure_make' in file /project/User.Test/octave-4.0.0/share/octave/4.0.0/m/pkg/private/configure_make.m near line 79, column 9
octave:8>

It's hard to track down what was going on here. Appreciate very much fort any hits!

Collin <colling>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by jwe (Updated the item)
  • -unavailable- added by mtmiller (Posted a comment)
  • -unavailable- added by i7tiol (Posted a comment)
  • -unavailable- added by colling (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 13 Aug 2017 02:21:54 PM UTCjweCategoryConfiguration and Build System=>Octave Forge Package
      Summaryinstall the parallel package using Intel Compiler failed=>[octave forge] (parallel) install using Intel Compiler failed
    Sun 19 Feb 2017 08:03:42 PM UTCmtmillerSummaryinstall the parallel package failed=>install the parallel package using Intel Compiler failed

    Back to the top


    Powered by Savane 3.1-cleanup1