CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   Problems building Paraview 3.12 on Gentoo Linux (http://www.cfd-online.com/Forums/openfoam-installation/113639-problems-building-paraview-3-12-gentoo-linux.html)

pajot February 23, 2013 18:15

Problems building Paraview 3.12 on Gentoo Linux
 
I seem unable to build Paraview 3.12 after an apparently successful build of OpenFOAM 2.1.1.

I am running 64-bit Gentoo Linux:

Code:

Linux  thinkpad 3.4.9-gentoo #12 SMP Sun Nov 18 10:10:03 CET 2012 x86_64  Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz GenuineIntel GNU/Linux
In order to have a system-wide installation I have been building as root. I set the build environment by running a script containing the following:

Code:

#!/bin/bash
export FOAM_INST_DIR=/usr/local/OpenFOAM
source /usr/local/OpenFOAM/OpenFOAM-2.1.1/etc/bashrc

The bashrc is unmodified.

When I try to build Paraview, I get the following error:

Code:

Scanning dependencies of target TestingDemo
[ 81%] Building CXX object Qt/Testing/Examples/CMakeFiles/TestingDemo.dir/TestingDemo.cxx.o
[ 81%] Building CXX object Qt/Testing/Examples/CMakeFiles/TestingDemo.dir/moc_TestingDemo.cxx.o
Linking CXX executable ../../../bin/TestingDemo
[ 81%] Built target TestingDemo
[ 81%] Building CXX object Qt/Widgets/CMakeFiles/pqWidgets.dir/pqHelpWindow.cxx.o
/usr/local/OpenFOAM/ThirdParty-2.1.1/ParaView-3.12.0/Qt/Widgets/pqHelpWindow.cxx:36:23:  schwerwiegender Fehler: QHelpEngine: Datei oder Verzeichnis nicht  gefunden
Kompilierung beendet.
make[2]: *** [Qt/Widgets/CMakeFiles/pqWidgets.dir/pqHelpWindow.cxx.o] Fehler 1
make[1]: *** [Qt/Widgets/CMakeFiles/pqWidgets.dir/all] Fehler 2
make: *** [all] Fehler 2
    ---
    Installation complete for paraview-3.12.0
    Set environment variables:

        export ParaView_DIR=/usr/local/OpenFOAM/ThirdParty-2.1.1/platforms/linux64Gcc/paraview-3.12.0
        export PATH=$ParaView_DIR/bin:$PATH
        export PV_PLUGIN_PATH=$FOAM_LIBBIN/paraview-3.12
    ---

Done

I have no idea what is wrong here, but I'll bet it's an environment problem.


For example, when I run foamInstallationTest in the shell that I built OpenFOAM in, it (partly) works:

Code:

Executing ./foamInstallationTest:


Checking basic setup...
-------------------------------------------------------------------------------
Shell:              bash
Host:              thinkpad_T500
OS:                Linux version 3.4.9-gentoo
-------------------------------------------------------------------------------


Checking main OpenFOAM env variables...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid      Crit
-------------------------------------------------------------------------------
$WM_PROJECT_INST_DIR /usr/local/OpenFOAM                      yes      yes
$WM_PROJECT_USER_DIR /root/OpenFOAM/root-2.1.1                no        no
$WM_THIRD_PARTY_DIR  /usr/local/OpenFOAM/ThirdParty-2.1.1    yes      yes
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit
-------------------------------------------------------------------------------
$WM_PROJECT_DIR      /usr/local/OpenFOAM/OpenFOAM-2.1.1      yes  yes  yes

$FOAM_APPBIN        ...-2.1.1/platforms/linux64GccDPOpt/bin  yes  yes  yes
$FOAM_SITE_APPBIN    .../2.1.1/platforms/linux64GccDPOpt/bin  no        no
$FOAM_USER_APPBIN    ...-2.1.1/platforms/linux64GccDPOpt/bin  no        no
$WM_DIR              /usr/local/OpenFOAM/OpenFOAM-2.1.1/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        ...-2.1.1/platforms/linux64GccDPOpt/lib  yes  yes  yes
$FOAM_SITE_LIBBIN    .../2.1.1/platforms/linux64GccDPOpt/lib  no        no
$FOAM_USER_LIBBIN    ...-2.1.1/platforms/linux64GccDPOpt/lib  no        no
$MPI_ARCH_PATH      ...1/platforms/linux64Gcc/openmpi-1.5.3  no        yes
-------------------------------------------------------------------------------


Third party software
-------------------------------------------------------------------------------
Software Version  Location
-------------------------------------------------------------------------------
flex    2.5.35    /usr/bin/flex                                           
./foamInstallationTest: Zeile 267: [: -lt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 269: [: -gt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 274: [: -lt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 276: [: -gt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 281: [: !=: Einstelliger (unärer) Operator erwartet.
gcc                /usr/bin/gcc                                           
gzip    1.5      /bin/gzip                                               
tar      1.26      /bin/tar                                               
icoFoam            ...M/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/icoFoam
-------------------------------------------------------------------------------


Summary
-------------------------------------------------------------------------------
Base configuration ok.
Critical systems ok.

Done

If I do it in any other (root) shell environment, even after running the above script that sets the environment, I get this:

Code:

Executing ./foamInstallationTest:


Checking basic setup...
-------------------------------------------------------------------------------
Shell:              bash
Host:              thinkpad_T500
OS:                Linux version 3.4.9-gentoo
-------------------------------------------------------------------------------


Checking main OpenFOAM env variables...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid      Crit
-------------------------------------------------------------------------------
$WM_PROJECT_INST_DIR /usr/local/OpenFOAM                      yes      yes
$WM_PROJECT_USER_DIR /home/sfbosch/OpenFOAM/sfbosch-2.1.1    no        no
$WM_THIRD_PARTY_DIR  /usr/local/OpenFOAM/ThirdParty-2.1.1    yes      yes
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit
-------------------------------------------------------------------------------
$WM_PROJECT_DIR      /usr/local/OpenFOAM/OpenFOAM-2.1.1      yes  no  yes

$FOAM_APPBIN        ...-2.1.1/platforms/linux64GccDPOpt/bin  yes  no  yes
$FOAM_SITE_APPBIN    .../2.1.1/platforms/linux64GccDPOpt/bin  no        no
$FOAM_USER_APPBIN    ...-2.1.1/platforms/linux64GccDPOpt/bin  no        no
$WM_DIR              /usr/local/OpenFOAM/OpenFOAM-2.1.1/wmake  yes  no  yes
-------------------------------------------------------------------------------


Checking the OpenFOAM env variables set on the LD_LIBRARY_PATH...
-------------------------------------------------------------------------------
Environment_variable Set_to_file_or_directory                Valid Path Crit
-------------------------------------------------------------------------------
$FOAM_LIBBIN        ...-2.1.1/platforms/linux64GccDPOpt/lib  yes  no  yes
$FOAM_SITE_LIBBIN    .../2.1.1/platforms/linux64GccDPOpt/lib  no        no
$FOAM_USER_LIBBIN    ...-2.1.1/platforms/linux64GccDPOpt/lib  no        no
$MPI_ARCH_PATH      ...1/platforms/linux64Gcc/openmpi-1.5.3  no        yes
-------------------------------------------------------------------------------


Third party software
-------------------------------------------------------------------------------
Software Version  Location
-------------------------------------------------------------------------------
flex    2.5.35    /usr/bin/flex                                           
./foamInstallationTest: Zeile 267: [: -lt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 269: [: -gt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 274: [: -lt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 276: [: -gt: Einstelliger (unärer) Operator erwartet.
./foamInstallationTest: Zeile 281: [: !=: Einstelliger (unärer) Operator erwartet.
gcc                /usr/bin/gcc                                           
gzip    1.5      /bin/gzip                                               
tar      1.26      /bin/tar                                               
icoFoam         
WARNING:  Conflicting installations:
          OpenFOAM settings        : /usr/local/OpenFOAM/OpenFOAM-2.1.1/platforms/linux64GccDPOpt/bin/icoFoam
          current path            :
          CRITICAL ERROR

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


Summary
-------------------------------------------------------------------------------
Base configuration ok.
The foam installation contains 1 critical error(s).

Review the output for warning messages and consult
the installation guide for troubleshooting.

Done

Note the critical error and the bash errors. And why does the user directory contain my login id in the broken version, and the root login id in the working one, even though I am running foamInstallationTest from a root shell in both cases?

wyldckat February 23, 2013 18:33

Greetings Stephen and welcome to the forum!

The foamInstallationTest script isn't bullet proof ;) It's known to have issues on certain shells.
As for running it as root and as normal user, the variable "$WM_PROJECT_USER_DIR" is still pointing to the normal user, which hints at something not properly done somewhere along the line.

The script you've got:
Code:

#!/bin/bash
export FOAM_INST_DIR=/usr/local/OpenFOAM
source /usr/local/OpenFOAM/OpenFOAM-2.1.1/etc/bashrc

How to you use it? Because if you use it like this:
Code:

./scriptname
#or
bash scriptname

Then it's wrong. You should run it like this:
Code:

source scriptname
#or
. scriptname

For fixing the foamInstallationTest script, it would be helpful to know which shell and version you're using...

I tried searching for indications on what "3.4.9-gentoo" provides, but I didn't find it. So could you please indicate which Gcc version you're using? Knowing this would make it easier to help you figure out how to fix ParaView's building process.
Most likely, the fix is shown in Step #7 on these instructions: http://openfoamwiki.net/index.php/In...#openSUSE_12.2 - namely:
Code:

cd $WM_THIRD_PARTY_DIR
sed -i -e 's/ClearAndSelect = Clear | Select/ClearAndSelect = static_cast<int>(Clear) | static_cast<int>(Select)/' \
ParaView-3.12.0/Qt/Core/pqServerManagerSelectionModel.h

In addition, be careful with which version of Qt you're building ParaView with. ParaView 3.12.0 should be built with Qt 4.6.

Best regards,
Bruno

pajot February 24, 2013 14:06

Hi Bruno, thank you for the friendly welcome :)

When I use "source" OFinit instead of executing the script directly, foamInstallationTest completes without errors.

However, I now get this at the end of every command output:

Code:

bin #

echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"
bin #

Very strange.

bash version is 4.2.37:

Code:

# bash --version
bash --version
GNU bash, Version 4.2.37(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
Lizenz GPLv3+: GNU GPL Version 3 oder jünger <http://gnu.org/licenses/gpl.html>

Dies ist freie Software.  Sie darf verändert und verteilt werden.
Für dieses Programm besteht keinerlei Garantie.

And here is the output of Gentoo's emerge --info, which has information about the build environment:

Code:

Portage 2.1.11.31 (default/linux/amd64/10.0, gcc-4.5.4, glibc-2.15-r3, 3.4.9-gentoo x86_64)
=================================================================
System uname: Linux-3.4.9-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9400_@_2.53GHz-with-gentoo-2.1
Timestamp of tree: Sat, 23 Feb 2013 20:30:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-java/java-config:    2.1.11-r3
dev-lang/python:          2.7.3-r2, 3.2.3
dev-util/cmake:          2.8.9
dev-util/pkgconfig:      0.27.1
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:        2.5
sys-devel/autoconf:      2.13, 2.69
sys-devel/automake:      1.9.6-r3, 1.11.6
sys-devel/binutils:      2.22-r1
sys-devel/gcc:            4.5.4
sys-devel/gcc-config:    1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:          3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:          2.15-r3
Repositories: gentoo science kde
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ rsync://ftp-stud.hs-esslingen.de/gentoo/ http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/science /var/lib/layman/kde"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aac acl acpi alsa amd64 amr bash-completion berkdb bzip2 cairo cli consolekit cracklib crypt cxx dbus device-mapper dri encode exif extras faac flac fortran gdbm gimp gpm hwdb iconv icu ipv6 jpeg kde laptop lcms lm_sensors mmx modules mp3 mudflap multilib ncurses nls nptl nsplugin opengl openmp pam parport pcre pdf perl png policykit python qt3support readline rtmp sdl semantic-desktop session sqlite sse sse2 sse3 ssl ssse3 startup-notification taglib tcpd theora threads tiff truetype udev unicode usb v4l video vorbis x264 xml zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de en fr nb nb_NO en_GB en_CA" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel vesa radeon fglrx" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

Your suggestion:

Code:

cd $WM_THIRD_PARTY_DIR
sed -i -e 's/ClearAndSelect = Clear | Select/ClearAndSelect = static_cast<int>(Clear) | static_cast<int>(Select)/' \
ParaView-3.12.0/Qt/Core/pqServerManagerSelectionModel.h

did not work, unfortunately.

My current Qt version is 4.8.2. Installing Qt 4.6 would be a major headache and is likely to break my system. If Paraview is so Qt-sensitive, why isn't the required Qt library packaged with it? It would really simplify the build...

Do you have any idea why OpenFOAM and Paraview don't just use autoconf (./configure && make && make install)?

Thanks for your help!

wyldckat February 24, 2013 16:27

Hi Stephen,

Quote:

Originally Posted by pajot (Post 409803)
However, I now get this at the end of every command output:

Code:

bin #

echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"
bin #

Very strange.

Indeed, very strange... the only thing that comes to mind that could lead to this is the first line in the "OFinit" script, because it's not needed for sourced scripts.

Quote:

Originally Posted by pajot (Post 409803)
bash version is 4.2.37:

It's more recent than what I've got... but if you no longer have problems with foamInstallationTest, then it should be fine. Although, you might want to confirm if your default shell is indeed bash:
Code:

ls -l $(which sh)
Quote:

Originally Posted by pajot (Post 409803)
Code:

sys-devel/gcc:            4.5.4

OK, I was fearing that you might have gcc 4.7 or 4.8... but 4.5 is perfectly fine.

Quote:

Originally Posted by pajot (Post 409803)
My current Qt version is 4.8.2. Installing Qt 4.6 would be a major headache and is likely to break my system. If Paraview is so Qt-sensitive, why isn't the required Qt library packaged with it? It would really simplify the build...

Do you have any idea why OpenFOAM and Paraview don't just use autoconf (./configure && make && make install)?

OK, Qt 4.8 is indeed a bad idea for building ParaView 3.12.0 with... although, the link I gave above has instructions for building ParaView with Qt 4.8.1 that openSUSE 12.2 provides :rolleyes:.
ParaView doesn't use autoconf because it uses CMake, which is multi-platform.

But fear not, because OpenFOAM takes this possibility into account, by providing the makeQt script! Although it doesn't do everything on it's own. Adapting from the instructions provided here - http://openfoamwiki.net/index.php/In...M-2.1.1/Ubuntu - here's what you'll need to do:
Code:

cd $WM_THIRD_PARTY_DIR
wget "http://www.openfoam.org/mantisbt/file_download.php?file_id=142&type=bug" -O getQt

sed -i -e 's=4\.7\.3=4.6.4=' getQt
sed -i -e 's=ftp://ftp.trolltech.com/qt/source/=http://releases.qt-project.org/qt4/source/=' getQt

./getQt
./makeQt 4.6.4 > mkqt.log 2>&1

cd $WM_THIRD_PARTY_DIR
./makeParaView -qmake ${WM_THIRD_PARTY_DIR}/platforms/$WM_ARCH$WM_COMPILER/qt-4.6.4/bin/qmake \
PARAVIEW_INSTALL_THIRD_PARTY_LIBRARIES:BOOL=ON > mkPV.log 2>&1
 
cd $FOAM_UTILITIES/postProcessing/graphics/PV3Readers
wmSET $FOAM_SETTINGS
export PATH=$WM_THIRD_PARTY_DIR/platforms/$WM_ARCH$WM_COMPILER/qt-4.6.4/bin:$PATH
./Allwclean
./Allwmake

If anything goes wrong, you should have two important logs that should show you what went wrong: "mkPV.log" and "mkqt.log".

edit: by the way, if you want to, you can create a wiki page that provides dedicated instructions for Gentoo: http://openfoamwiki.net/index.php/In...M-2.1.1/Gentoo

Best regards,
Bruno

pajot February 25, 2013 15:49

sigh

Hi again, Bruno...

I followed your instructions. Building Qt fails with this output:

Code:

g++ -c -include .pch/release-shared/QtGui -m64 -pipe -g -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng15 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/atk-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -I/usr/include/freetype2 -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/mkspecs/linux-g++-64 -I/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui -I../../include/QtCore -I../../include -I../../include/QtGui -I.rcc/release-shared -I/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/3rdparty/xorg -I/usr/include/freetype2 -I/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/3rdparty/harfbuzz/src -I/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/dialogs -I.moc/release-shared -I/usr/X11R6/include -I.uic/release-shared -I. -o .obj/release-shared/qpnghandler.o /usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp: In Funktion »void setup_qt(QImage&, png_struct*, png_info*, float)«:
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:169:39: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:214:39: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:223:27: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:236:37: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:239:32: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:241:29: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:242:29: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:243:29: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:247:29: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:254:28: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:256:25: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:257:25: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:258:25: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp: In Elementfunktion »QImage::Format QPngHandlerPrivate::readImageFormat()«:
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:534:21: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:536:25: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:536:53: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:538:32: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:543:28: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:545:31: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:548:25: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:555:25: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:560:27: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp: In Funktion »void set_text(const QImage&, png_struct*, png_info*, const QString&)«:
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:651:28: Warnung: veraltete Konvertierung von Zeichenkettenkonstante in »char*«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp: In Elementfunktion »bool QPNGImageWriter::writeImage(const QImage&, int, const QString&, int, int)«:
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:744:13: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:759:13: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:760:13: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:761:13: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:777:21: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:778:21: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:779:21: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:795:17: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp: In Elementfunktion »virtual QVariant QPngHandler::option(QImageIOHandler::ImageOption) const«:
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:961:33: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
/usr/local/OpenFOAM/ThirdParty-2.1.1/qt-everywhere-opensource-src-4.6.4/src/gui/image/qpnghandler.cpp:961:53: Fehler: invalid use of incomplete type »struct png_info«
/usr/include/libpng15/png.h:730:16: Fehler: forward declaration of »struct png_info«
make[1]: *** [.obj/release-shared/qpnghandler.o] Fehler 1
make[1]: *** Warte auf noch nicht beendete Prozesse...
make[1]: Leaving directory `/usr/local/OpenFOAM/ThirdParty-2.1.1/build/linux64Gcc/qt-everywhere-opensource-src-4.6.4/src/gui'
make: *** [sub-gui-make_default-ordered] Fehler 2

real    4m5.409s
user    5m54.249s
sys    0m28.824s
Error building: Qt-4.6.4

So it looks like a libpng problem. I have the following libpng installed:

Code:

# eix libpng
[I] media-libs/libpng
    Available versions: 
        (1.2)  1.2.50
        (0)    1.5.13-r1 ~1.5.14
        {{apng neon static-libs}}
    Installed versions:  1.5.13-r1(16:42:02 13.10.2012)(-apng -neon -static-libs)
    Homepage:            http://www.libpng.org/
    Description:        Portable Network Graphics library

This is starting to become frustrating, as I've been at this for three days and still don't have a working installation. Qt 4.6 is really very outdated (it is no longer in Gentoo's portage tree) and likely requires libpng 1.4 (which is also no longer in Gentoo's portage tree).

I don't enjoy the thought of having to obtain an entire tree of outdated dependencies in order to make this and the PV3FoamReaders work.

Gentoo has a Paraview ebuild for 3.14 and 3.98. Do I even need 3.12? What are the differences between 3.98 and 3.12? And will 3.98 work with OpenFOAM 2.1.1?

-Stephen

pajot February 25, 2013 17:12

Sure enough.

From the libpng changelogs:

Code:

version 1.5.0 [January 6, 2011]    Moved declaration of png_struct into private pngstruct.h and png_info    into pnginfo.h
Previous version was 1.4.1.

wyldckat February 25, 2013 18:05

Hi Stephen,

:eek: I haven't come across that particular issue before... but OK, if you want to move up to ParaView 3.14 or 3.98, here's what you can do:
  1. Ignore ParaView 3.12.0 and Qt 4.6.4 altogether. Remove them if you want to save space, including the "build" folder which might be in the "ThirdParty-2.1.*" folder.
    • Currently the only advantage of using ParaView 3.12.0 was because it's the one that more easily integrates with OpenFOAM's own official plug-in reader.
  2. Install either ParaView 3.14 or 3.98 on your system, whichever you prefer. If possible, I advise you to install 3.98.1, which is the latest version and should be one of the best versions of ParaView so far.
  3. After ParaView is working on your system, you have (at least) two choices:
    1. Whenever you run paraFoam, use the option -builtin:
      Code:

      paraFoam -builtin
      Note about bug fix needed: http://www.openfoam.org/mantisbt/view.php?id=612
    2. Or hack directly the paraFoam script and hard code it to use the extension ".foam":
      Code:

      sed -i -e 's/extension=OpenFOAM/extension=foam/' $WM_PROJECT_DIR/bin/paraFoam
  4. And you're ready to go!
Best regards,
Bruno

pajot March 2, 2013 16:43

Okay, I am almost there.

For the benefit of others: Paraview 3.12 wouldn't compile because it requires qt-assistant to be installed. Once I had installed qt-assistant, Paraview compiled successfully.

openmpi-1.5.3 is also required. openmpi-1.4.3 will not work, as it lacks the libmpi.so.1 library.

Once Paraview is built, you need to make sure the dynamic libraries are properly linked. I put this in a custom env.d file [/etc/env.d/91paraview]:

Code:

LDPATH=/usr/local/OpenFOAM/ThirdParty-2.1.1/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/
and ran env-update.

I was unable to find any file or script named wmSET, so I have no idea what tarball or package it comes from.

Running paraFoam as an unprivileged user still results in an error:

Code:

$ paraFoam
created temporary 'cavity.OpenFOAM'
/usr/local/OpenFOAM/OpenFOAM-2.1.1/bin/paraFoam: line 260: paraview: command not found


pajot March 2, 2013 17:00

It was a path problem. Temporarily, I did

Code:

PATH=$PATH:/usr/local/OpenFOAM/ThirdParty-2.1.1/build/linux64Gcc/paraview-3.12.0/bin/
as an unprivileged user, then ran paraFoam.

paraview starts, but the Render View window is empty. I don't know what is wrong. I will try working through a few other tutorials to see if they now work as expected.

With so many different paths and environment scripts, I have completely lost the thread. Cleaning this up and figuring out what the real steps are to make a clean, working source install of OpenFOAM 2.1.1 and Paraview 3.12 is going to be a challenge.

I prefer to make a clean, system-wide install as root so that the resulting installation works for an unprivileged user, but the instructions pay only limited attention to this installation variant, even though it's the standard procedure in Linux. Considering how much effort the installation is, I'd only want to do this once and have it work for everybody who uses the machine.

wyldckat March 2, 2013 19:58

Hi Stephen,

Many thanks for sharing you findings!
I personally haven't looked into Gentoo because of what I've read in the past, namely that we have to build everything from source ourselves... but it's 2013, I should give it a go one of these days...

To answer your comments:
Quote:

Originally Posted by pajot (Post 411096)
openmpi-1.5.3 is also required. openmpi-1.4.3 will not work, as it lacks the libmpi.so.1 library.

Strange... when building from source, there shouldn't be any problems with finding "libmpi.so.*".

Quote:

Originally Posted by pajot (Post 411096)
Once Paraview is built, you need to make sure the dynamic libraries are properly linked. I put this in a custom env.d file [/etc/env.d/91paraview]:

Code:

LDPATH=/usr/local/OpenFOAM/ThirdParty-2.1.1/platforms/linux64Gcc/paraview-3.12.0/lib/paraview-3.12/
and ran env-update.

I'll answer this after the last quote...

Quote:

Originally Posted by pajot (Post 411096)
I was unable to find any file or script named wmSET, so I have no idea what tarball or package it comes from.

wmSET is an alias, which is why it isn't picked up as a script:
Code:

$ alias wmSET
alias wmSET='. $WM_PROJECT_DIR/etc/bashrc'

Quote:

Originally Posted by pajot (Post 411096)
Code:

$ paraFoam
created temporary 'cavity.OpenFOAM'
/usr/local/OpenFOAM/OpenFOAM-2.1.1/bin/paraFoam: line 260: paraview: command not found


I'll also answer this after the last quote...

Quote:

Originally Posted by pajot (Post 411096)
paraview starts, but the Render View window is empty. I don't know what is wrong. I will try working through a few other tutorials to see if they now work as expected.

Press the "Apply" button on the "Object Inspector" and it should show you a geometry... if you're running paraFoam from within a case folder and if the mesh has already been created ;).

Quote:

Originally Posted by pajot (Post 411096)
With so many different paths and environment scripts, I have completely lost the thread. Cleaning this up and figuring out what the real steps are to make a clean, working source install of OpenFOAM 2.1.1 and Paraview 3.12 is going to be a challenge.

And OpenFOAM as come a long way, because a few years ago, it was a lot more daunting!

Quote:

Originally Posted by pajot (Post 411096)
I prefer to make a clean, system-wide install as root so that the resulting installation works for an unprivileged user, but the instructions pay only limited attention to this installation variant, even though it's the standard procedure in Linux. Considering how much effort the installation is, I'd only want to do this once and have it work for everybody who uses the machine.

I think I understand your point of view. But since the instructions have to contemplate inexperienced users, letting them run everything as root can easily lead them to bricking their Linux installation :(
Another reason for a personal installation is because some users will sooner or later want/need to do some heavy debugging, looking for errors in source code that they make, or because they are using a solver that has very little documentation. It's a lot easier to build and hack into the code when root permissions aren't required.


Now, as I mentioned above, to help solve some of the problems you're still having:
  1. On the official installation instructions: http://www.openfoam.org/download/source.php - scroll down to the section "Setting environment variables for alternative locations".
  2. There you'll find instructions on how to configure a non-default installation location. In your case, it should look like this:
    Code:

    export FOAM_INST_DIR=/usr/local/OpenFOAM
    foamDotFile=$FOAM_INST_DIR/OpenFOAM-2.1.1/etc/bashrc
    [ -f $foamDotFile ] && . $foamDotFile

  3. You can place this code in a script at "/etc/env.d/".
  4. A problem only arises when you need to have more than one OpenFOAM version installed. In that case, you can rely on aliases instead, such as this:
    Code:

    alias of211='export FOAM_INST_DIR=/usr/local/OpenFOAM; foamDotFile=$FOAM_INST_DIR/OpenFOAM-2.1.1/etc/bashrc ; . $foamDotFile'
    alias of21x='export FOAM_INST_DIR=/usr/local/OpenFOAM; foamDotFile=$FOAM_INST_DIR/OpenFOAM-2.1.x/etc/bashrc ; . $foamDotFile'

    In this scenario, whenever you start a new terminal, you'll need to either run of211 or of21x, in order to activate the desired OpenFOAM environment.
  5. With this code in place, you can discard your "91paraview" script, because OpenFOAM's "bashrc" file will take care of loading up all of the vital environment variables, including references to ParaView's "lib" and "bin" folders.

Last but not least, I forgot to mention before that the instructions at openfoamwiki.net are not official and are still a work in progress. And for reference, the old (unofficial) installation page was... well, see for yourself: http://openfoamwiki.net/index.php/In...hic_version%29


Best regards,
Bruno

wyldckat March 3, 2013 17:30

Greetings Stephen,

I started to play a bit with Gentoo today... and am still building Gnome, which is far worse than OpenFOAM, time-wise :D :rolleyes:

Anyway, I remembered just now to check how emerge packages were on the subject of OpenFOAM and I found this: http://packages.gentoo.org/package/sci-libs/openfoam - it's recent, but looks like it exists before your first post ;)


edit: based on my findings and very brief tests, I've created the page I mentioned before: http://openfoamwiki.net/index.php/In...M-2.1.1/Gentoo - Stephen, if you can and/or wish, feel free to improve upon those instructions!

Best regards,
Bruno

pajot April 11, 2013 08:09

Got OpenFOAM 2.2 working with Paraview 3.98
 
Ok, two things:

1. the Gentoo OpenFOAM ebuild has been bumped to 2.2. All of the OpenFOAM ebuilds create the directory structure incorrectly. I had to create symlinks to get things to work. There is a bug filed in Gentoo bugzilla, but I don't know how much time the maintainer has to work on things. Anyway, after creating the symlinks and adding

Code:

alias startOF22='source /usr/lib64/OpenFOAM/OpenFOAM-2.2.0/etc/bashrc'
alias paraFoam='paraFoam -builtin'

to .bashrc, this works on my 64-bit machine.

2. I have contributed a new ebuild to the Gentoo science overlay for gmsh-2.7.0.

I still have remove everything and do the complete installation procedure again from scratch before I can update the instructions in the wiki.

Thanks for your assistance so far. OpenFOAM seems almost in a usable state on Gentoo.


All times are GMT -4. The time now is 05:48.