Closed wkazubski closed 9 years ago
Hi, the plan was to drop the qmake build system in favour off cmake. I just did not remove the *.pro yet. I will update the INSTALL file. Do you build CSXCAD using qmake? I assumed everyone just uses the windows builds or uses the openEMS-project update script to build automatically on Linux...
I have built rpm packages using a specfile the past. Now it still works but I have to add a patch everytime new version of vtk appears. I checked vtk packages and found no autotetection support other than cmake. I will try cmake now.
Let me know if you run into problems with cmake. It should make everything easier. May I ask for which distribution you create the packages? In CSXCAD/linux are some (very old) spec files and patches, are you using these? Feel free to create a pull request with updated files.
This is on openSUSE 13.2. So far I noted two minor problems: 1) On 64-bit systems the library is installed in /usr/lib instead of /usr/lib64. This can be fixed by adding ${LIB_SUFFIX} after ${CMAKE_INSTALL_PREFIX}/lib. Build for 64-bit reqiures adding -DLIB_SUFFIX=64 to cmake options 2) Contrary to qmake build, the library is not versioned. This is acceptable, but triggers some warnings by rpmlint.
I pulled your changes and thus this problems are solved hopefully. I applied your changes to QCSXCAD, openEMS etc. as well. Do you package some of these too? Do you create these rpm only for yourself or can they be downloaded somewhere?
Thanks. My packages of openEMS 0.32 are on openSUSE Build Service: https://build.opensuse.org/project/show/home:wkazubski now are building correctly for openSUSE 13.2 (and for Fedora - not tested). I have problems with openSUSE Tumbleweed, probably caused by vtk-6.3. I am trying to build 0.33 at: https://build.opensuse.org/project/show/home:wkazubski:test but still have problems with hdf5.
Can you be more specific? With hdf5 I had the problem recently on CentOS-7 that libhdf5_hl was not linked, causing some missing references.
I suspect the same problem. The CSXCAD and QCSXCAD are building fine and require libhdf5. While attempting to build AppCSXCAD or openEMS I get errors:
Linking CXX executable AppCSXCAD
/usr/lib/gcc/i586-suse-linux/4.8/../../../libCSXCAD.so: undefined reference to H5LTget_dataset_ndims' /usr/lib/gcc/i586-suse-linux/4.8/../../../libCSXCAD.so: undefined reference to
H5LTget_attribute_double'
/usr/lib/gcc/i586-suse-linux/4.8/../../../libCSXCAD.so: undefined reference to `H5LTget_attribute_float'
...
It should be fixed already, please update (aka git pull)
Thanks. Now AppCSXCAD and openEMS build fine on x64. For 32 bits openEMS fails due to absent -msse flag. It is enabled for WIN32 (in line 145 of toplevel CmakeLists.txt), but it may be needed for i586. Would it be possible to add an option to cmake to make this, with -DWITH_SSE=1 or something like?
Why not directly -DCMAKE_CXX_FLAGS="-msse", but I will check if just always enabling/forcing sse (as it is a hard requirement) will not hurt performance. Usually I used "-march=native". Maybe I can set set(CMAKE_CXX_FLAGS "-msse -march=native") ??? By the way, if I should include your updated spec- or patch-files into the repositories, just let me know. I'm also considering to setup a OpenSuse build service account myself...
-DCMAKE_CXX_FLAGS="-msse" works. Thanks. Now have all packages building fine on openSUSE 13.2
I have updated the install instructions and closing this issue. Of course we can continue to discuss the openSuse builds.
Now new way to build CSXCAD exists, but it is not mentioned in INSTALL file. CSXCAD.pro still contains old version number 0.5.2. if qmake still can be used, please update. If so, please add include dirs for vtk-6.2 and 6.3 (recent).