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

 
 

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

Submitter:  Collin <colling>
Submitted:  Sat 18 Feb 2017 11:33:16 PM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Build Failure
Status:  Need Info Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 26 Feb 2019 09:41:34 PM UTC, comment #5: 

@colling - Are you still investigating this build failure?

Mike Miller <mtmiller>
Group Member
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>
Group Member
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:


export CXX='icpc -option_to_enable_C++11'
octave
...
octave:1> pkg install parallel-3.1.1.tar


Olaf Till <i7tiol>
Group 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 Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2019-02-26 mtmiller StatusNone Need Info
        Release4.0.0 dev
    2019-02-26 mtmiller Carbon-CopyRemoved 80942 -
    2017-08-13 jwe CategoryConfiguration and Build System Octave Package
        Summaryinstall the parallel package using Intel Compiler failed [octave forge] (parallel) install using Intel Compiler failed
    2017-02-19 mtmiller Summaryinstall the parallel package failed install the parallel package using Intel Compiler failed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code