CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   Errors by OpenFOAM-1.5-dev compilation (http://www.cfd-online.com/Forums/openfoam-installation/83620-errors-openfoam-1-5-dev-compilation.html)

alkochevsky January 5, 2011 12:10

Errors by OpenFOAM-1.5-dev compilation
 
Dear OpenFOAMers,

when trying to compile the version of OpenFOAM-1.5-dev
(which I have got from http://openfoam-extend.svn.sourcefor...nFOAM-1.5-dev/)
Although many libraries were compiled successfully, I have got several errors the discussion of which I have not noticed in other threads.

I work with gcc 4.5.0 under SUSE Linux 11.3.
I hope, I have installed all the required packages: at least, OpenFOAM-1.6-ext and OpenFOAM-1.7.x I have successfully compiled.
(I need OpenFOAM-1.5-dev because I am going to use the OSIG TurboMachinery libraries and still fail to make them work with OpenFOAM-1.6-ext)

Here are the error messages:

1.
Code:

/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::hBoundaryCorrection(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>&)'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::constructfvMeshConstructorTables()'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::~basicThermo()'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `typeinfo for Foam::basicThermo'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::fvMeshConstructorTablePtr_'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::basicThermo(Foam::fvMesh const&)'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::read()'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::destroyfvMeshConstructorTables()'
/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libcombustionThermophysicalModels.so: undefined reference to `Foam::basicThermo::hBoundaryTypes()'
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [/home/oko/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linuxGccDPOpt/XiFoam] Error 1

2.
Code:

/home/oko/OpenFOAM/OpenFOAM-1.5-dev/lib/linuxGccDPOpt/libliquidMixture.so: undefined reference to `Foam::liquid::New(Foam::Istream&)'
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [/home/oko/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linuxGccDPOpt/dieselFoam] Error 1

3.
Code:

/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libreadline.so when searching for -lreadline
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libreadline.a when searching for -lreadline
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lreadline
collect2: ld gab 1 als Ende-Status zurück
make[3]: *** [/home/oko/OpenFOAM/OpenFOAM-1.5-dev/applications/bin/linuxGccDPOpt/setSet] Error 1
make[2]: *** [setSet] Error 2

The foamInstallationTest delivers the following:
Code:

Checking basic setup...
-------------------------------------------------------------------------------
Shell:              bash
Host:              winnb35
OS:                Linux version 2.6.34.7-0.5-desktop
-------------------------------------------------------------------------------


Checking main OpenFOAM env variables...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid      Crit
-------------------------------------------------------------------------------
$WM_PROJECT_INST_DIR /home/oko/OpenFOAM                      yes      yes
$WM_PROJECT_USER_DIR /home/oko/OpenFOAM/oko-1.5-dev          yes      no
$WM_THIRD_PARTY_DIR  /home/oko/OpenFOAM/ThirdParty            yes      yes
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit
-------------------------------------------------------------------------------
$WM_PROJECT_DIR      /home/oko/OpenFOAM/OpenFOAM-1.5-dev      yes  yes  yes

$FOAM_APPBIN        ...5-dev/applications/bin/linuxGccDPOpt  yes  yes  yes
$FOAM_USER_APPBIN    ...5-dev/applications/bin/linuxGccDPOpt  yes  yes  no
$WM_DIR              .../oko/OpenFOAM/OpenFOAM-1.5-dev/wmake  yes  yes  yes
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the LD_LIBRARY_PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit
-------------------------------------------------------------------------------
$FOAM_LIBBIN        ...M/OpenFOAM-1.5-dev/lib/linuxGccDPOpt  yes  yes  yes
$FOAM_USER_LIBBIN    ...enFOAM/oko-1.5-dev/lib/linuxGccDPOpt  yes  yes  no
$MPI_ARCH_PATH      ...penmpi-1.2.6/platforms/linuxGccDPOpt  yes  yes  yes
-------------------------------------------------------------------------------


Third party software
-------------------------------------------------------------------------------
Software Version  Location
-------------------------------------------------------------------------------
WARNING: gcc version does not match gcc supplied with this release of OpenFOAM
        Supplied version: 4.3.1
        User version    : ../configure
        Minimum required: 4.2.0

gcc      ...figure
WARNING:  Conflicting installations:
          OpenFOAM settings        : /bin/gcc
          current path            : /usr/bin/gcc
          CRITICAL ERROR

gzip    1.3.13    /usr/bin/gzip                                           
tar      1.23      /bin/tar                                               
icoFoam  1.5-dev  ...penFOAM-1.5-dev/applications/bin/linuxGccDPOpt/icoFoam
-------------------------------------------------------------------------------


Checking networking...
-------------------------------------------------------------------------------
Action                  Result                                      Crit
-------------------------------------------------------------------------------
Pinging_winnb35          Networking_cannot_reach_winnb35              yes
WARNING: CRITICAL ERROR

Pinging_localHost        Successful                                  yes
Test_rsh:                Not_active*                                  yes
Test_ssh:                Not_active*                                  yes
FATAL ERROR: No remote shell available.
            OpenFOAM 1.5-dev enviroment requires either ssh and/or rsh.
            Contact your system administrator.


-------------------------------------------------------------------------------

The system test has evoked 1 fatal error(s).

The foam installation contains 2 critical error(s).

Review the output for warning messages and consult
the installation guide for trouble shooting.

done.

Any ideas?
And what is the problem with ssh connection? For the other OpenFOAM versions installed on the computer, the foamInstallationTest delivers no errors.

Sincerely,
Alexey Kochevsky

wyldckat January 5, 2011 13:21

Greetings Alexey,

OK, a few of the errors you are getting have already been addressed here: http://www.cfd-online.com/Forums/ope...c-4-5-1-a.html
I'm sorry, but you'll have to read the whole thread, since there are details that I might forget if I sum them up here.

As for the "-lreadline", you're missing the libreadline packages, both library and development folders. Search in YaST - Software installation, for occurrences of "libreadline".

If you still are unable to build 1.5-dev, then don't forget to run Allwmake like this:
Code:

cd $WM_PROJECT_DIR
./Allwmake > make.log 2>&1
tar -czf make.log.tar.gz make.log

This will keep a log of the build process and the last line will compress the log into a gzip tarball. Then please attach the compressed log file to your next post. This way we can be certain of what is going on, otherwise we'll just be trying to guess what is wrong.

Best regards and good luck!
Bruno

alkochevsky January 10, 2011 08:44

1 Attachment(s)
Greetings Bruno,

thank you very much for the prompt help.
Nevertheless, I have not made further progress.
I have read the thread you had mentioned, I have taken the wmake rules from OpenFOAM-1.7.x, updated the links with "wmakeLnIncludeAll src applications", added the line "#include <stdio.h>" to the "chemkinLexer.L" file, however, it had no effect on the compilation results.

Concerning the "libreadline" library: I have checked, this library is installed by me, namely the version 5.2-117.1 and 6.1-8.1. However, the installed libraries are of 64 bit, whereas my system is of 32 bit. Maybe, here is the reason? When I try to install 32-bit version, the YaST answers that a number of other libraries should be replaced with 32 bit versions. I am hesitating whether this major replacement will not disturb operation of other OpenFOAM versions that are already installed.

By the way, how can one be sure whether the used OpenSuSE version is of 32 or 64 bit? I assume, for 64 bit versions, it is stated in system information explicitly. Otherwise, the OS is of 32 bit?

Attached is the make.log file, compressed with tar (sorry, some messages over there are in German, it is the language of my operation system).

Regards,
Alexey

wyldckat January 13, 2011 18:32

Hi Alexey,

I'm sorry for taking so long to reply, but these last days have been a hand full.


Quote:

Originally Posted by alkochevsky (Post 289856)
Concerning the "libreadline" library: I have checked, this library is installed by me, namely the version 5.2-117.1 and 6.1-8.1. However, the installed libraries are of 64 bit, whereas my system is of 32 bit. Maybe, here is the reason? When I try to install 32-bit version, the YaST answers that a number of other libraries should be replaced with 32 bit versions. I am hesitating whether this major replacement will not disturb operation of other OpenFOAM versions that are already installed.

:eek: I have no idea how you could install 64bit libraries in a 32bit Linux installation. It's possible to do the other way around, i.e., have both 64 and 32 bit libraries, but normally this only happens in 64bit installations.

Quote:

Originally Posted by alkochevsky (Post 289856)
By the way, how can one be sure whether the used OpenSuSE version is of 32 or 64 bit? I assume, for 64 bit versions, it is stated in system information explicitly. Otherwise, the OS is of 32 bit?

This is simple to verify. Run:
Code:

uname -m
If it outputs x86_64, it's 64bit; if it outputs ix86, where x=3/4/5/6, for example i686, then it's 32bit.

Quote:

Originally Posted by alkochevsky (Post 289856)
Nevertheless, I have not made further progress.
I have read the thread you had mentioned, I have taken the wmake rules from OpenFOAM-1.7.x, updated the links with "wmakeLnIncludeAll src applications", added the line "#include <stdio.h>" to the "chemkinLexer.L" file, however, it had no effect on the compilation results.

OK, I've looked into the log file you attached and I think the only solution is to do a clean build again. For that run:
Code:

cd $WM_PROJECT_DIR
wcleanAll
wcleanLnIncludeAll

Now, find where you have located "libreadline" libraries:
Code:

find / -name "libreadline.so*" 2>/dev/null
If they all come up from the 64bit folders, then something is very wrong... you'll have to search a bit further in YaST.
But if you can find it, run:
Code:

mkdir -p $FOAM_LIBBIN
ln -s full_path_to_the_libreadline $FOAM_LIBBIN/libreadline.so

This will create a symbolic link for the library that has been getting away.

Then run Allwmake like you did before.

Best regards and good luck!
Bruno

alkochevsky January 14, 2011 12:48

Dear Bruno,
thank you very much for your explanation.
The code "uname -m" outputs by me "x86_64".
So, I was mistaking, my Linux SuSE is of 64 bit.

Meanwhile, I have succeeded to build this OpenFOAM version on my laptop and copy the results to this PC. It seems it works. To spare time, I will try to proceed with this separately compiled version.

Kind regards,
Alexey


All times are GMT -4. The time now is 03:36.