Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMB profile #676

Open
wants to merge 24 commits into
base: master
Choose a base branch
from
Open

CMB profile #676

wants to merge 24 commits into from

Conversation

certik
Copy link
Member

@certik certik commented Feb 25, 2015

I took the cmb-profile branch from https://github.com/robertmaynard/hashstack/tree/cmb-profile/, rebased it and fixed packages to build. As of cdfe644, everything builds nicely and seems to be working fine. The only problem is that I had to downgrade ParaView (and re-introduce all the patches that have been since merged into upstream ParaView).

TODO:

  • Wait until Kitware releases new version of CMB that uses the latest version of ParaView and other dependencies
  • update this PR to use it

@certik
Copy link
Member Author

certik commented Feb 25, 2015

@robertmaynard the current status is that all dependencies build on my RHEL6 system (I use gcc 4.9.2 from Hashstack). The CMB package fails with:

[cmb] /local/certik/tmp/cmb-psaavgrydzrc/Source/VTKExtensions/General/vtkCmbConeSource.cxx:361:16: error: 'MAXIMUM_NUMBER_OF_PIECES' is not a member of 'vtkStreamingDemandDrivenPipeline'
[cmb]    outInfo->Set(vtkStreamingDemandDrivenPipeline::MAXIMUM_NUMBER_OF_PIECES(),
[cmb]                 ^

Which suggests that we have incompatible VTK in Hashstack.

Do you know what exact version of VTK and CMB works together? I am using your original versions, and I can update to the latest versions, unless there needs to be a specific version that works.

@robertmaynard
Copy link
Contributor

I believe the ParaView version CMB requires
is 55f3b0ed365b5a14a24ab642b5f5aee0483c1096

On Wed, Feb 25, 2015 at 1:53 PM, Ondřej Čertík [email protected]
wrote:

@robertmaynard https://github.com/robertmaynard the current status is
that all dependencies build on my RHEL6 system (I use gcc 4.9.2 from
Hashstack). The CMB package fails with:

[cmb] /local/certik/tmp/cmb-psaavgrydzrc/Source/VTKExtensions/General/vtkCmbConeSource.cxx:361:16: error: 'MAXIMUM_NUMBER_OF_PIECES' is not a member of 'vtkStreamingDemandDrivenPipeline'
[cmb] outInfo->Set(vtkStreamingDemandDrivenPipeline::MAXIMUM_NUMBER_OF_PIECES(),
[cmb] ^

Which suggests that we have incompatible VTK in Hashstack.

Do you know what exact version of VTK and CMB works together? I am using
your original versions, and I can update to the latest versions, unless
there needs to be a specific version that works.


Reply to this email directly or view it on GitHub
#676 (comment).

@certik
Copy link
Member Author

certik commented Feb 25, 2015

Thanks! I have rebuilt Paraview with 55f3b0ed365b5a14a24ab642b5f5aee0483c1096, but I still get exactly the same error with CMB. I'll investigate what's going on with the vtkStreamingDemandDrivenPipeline::MAXIMUM_NUMBER_OF_PIECES symbol in VTK in Paraview.

@robertmaynard
Copy link
Contributor

MAXIMUM_NUMBER_OF_PIECES was removed in VTK 6.2, so it looks like you
are linking to a newer version of VTK than the one ParaView was built
against.

On Wed, Feb 25, 2015 at 2:20 PM, Ondřej Čertík [email protected] wrote:

Thanks! I have rebuilt Paraview with
55f3b0ed365b5a14a24ab642b5f5aee0483c1096, but I still get exactly the same
error with CMB. I'll investigate what's going on with the
vtkStreamingDemandDrivenPipeline::MAXIMUM_NUMBER_OF_PIECES symbol in VTK in
Paraview.


Reply to this email directly or view it on GitHub.

@certik
Copy link
Member Author

certik commented Feb 25, 2015

I went into ParaView repository, checked out commit 55f3b0ed365b5a14a24ab642b5f5aee0483c1096, did

git submodule init
git submodule update

it checks out VTK commit a5daf047a2d480eb465e2dcd50c362674fefe326. git grep verifies, that MAXIMUM_NUMBER_OF_PIECES is not there. Quick poking around shows that MAXIMUM_NUMBER_OF_PIECES was removed in Kitware/VTK@1a0b4e9.

@robertmaynard
Copy link
Contributor

hmmm this is pretty old than. Looks
like e90304c0053a68ab316790748e097d810cb17ed1 would be what you want.

On Wed, Feb 25, 2015 at 2:39 PM, Ondřej Čertík [email protected]
wrote:

I went into ParaView repository, checked out commit
55f3b0ed365b5a14a24ab642b5f5aee0483c1096, did

git submodule init
git submodule update

it checks out VTK commit a5daf047a2d480eb465e2dcd50c362674fefe326. git
grep verifies, that MAXIMUM_NUMBER_OF_PIECES is not there. Quick poking
around shows that MAXIMUM_NUMBER_OF_PIECES was removed in Kitware/VTK@
1a0b4e9
Kitware/VTK@1a0b4e9
.


Reply to this email directly or view it on GitHub
#676 (comment).

Unfortunately this means we need to add back all the patches that were since
merged with ParaView master. That will be done in the next three commits.
@certik
Copy link
Member Author

certik commented Feb 25, 2015

I used e90304c0053a68ab316790748e097d810cb17ed1 (unfortunately had to put your ParaView patches back in...) and it fixed the problem.

Now I am facing the following problem:

[cmb] In file included from /local/certik/tmp/cmb-iumnjqrjr2g5/Source/VTKExtensions/Graphics/vtkCmbArcWidgetRepresentation.cxx:42:0:
[cmb] /local/certik/bld/paraview/kv6q6ywsqz5x/include/paraview-4.1/vtkOpenGL.h:27:43: fatal error: GL/gl.h: No such file or directory
[cmb]  # include <GL/gl.h> // Include OpenGL API.
[cmb]                                            ^
[cmb] compilation terminated.

Note that I use mesa, so I use:

diff --git a/pkgs/cmb.yaml b/pkgs/cmb.yaml
index 97fd653..f3f81ea 100644
--- a/pkgs/cmb.yaml
+++ b/pkgs/cmb.yaml
@@ -3,7 +3,7 @@ dependencies:
   build: [boost, png, qt, zlib, gdal, hdf5,
           mpi, netcdf4, netcdf4cpp, freetype,
           python, numpy, matplotlib, libxml2,
-          paraview, remus, vxl, kml, molequeue, smtk, zmq]
+          paraview, remus, vxl, kml, molequeue, smtk, zmq, mesa]

 sources:
 - key: git:b24225a52187a124f5f83bdb7212d363f9254519

I need to debug this a bit to see what's going on. ParaView builds just fine.

Even though CMake is supplied with (via `base/cmake_package.py`)

-DCMAKE_PREFIX_PATH="${BOOST_DIR};${BZIP2_DIR};..."

For some reason, some of the `-I` statements do not get propagated to g++. If
we add the line

-DCMAKE_CXX_FLAGS:STRING="${CPPFLAGS}"

Then all the necessary `-I` statements are propagated. Note the quotation marks
around "${CPPFLAGS}$, those are necessary, since there are spaces in the
variable.
@certik
Copy link
Member Author

certik commented Feb 25, 2015

As of cdfe644, CMB now builds (I used the following profile: https://gist.github.com/certik/570355076297d48438ce).

The problem was fixed by db4a231. @robertmaynard it looks like a bug in CMake or the CMakeLists.txt, see the commit log. I haven't figured out the real cause, just a workaround.

I used the latest CMB commit (b24225a52187a124f5f83bdb7212d363f9254519).

@robertmaynard, how hard would it be to fix CMB, so that it builds against some newer version of ParaView, so that we don't need to ship the temporary patches again? Any other comments to this PR?

@certik
Copy link
Member Author

certik commented Mar 23, 2015

Kitware just opensourced the latest version of CMB, the latest version of dependencies at

https://gitlab.kitware.com/cmb/cmb-superbuild/blob/master/versions.cmake

So now we just need to update this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants