Hello Adam, I have just succeeded to make a 5.1.3-9 release with VISU, I have enclosed the 2 patches. I also wanted to let you know that I have understood the runtime problems of VISU but I need to progress by steps (my solution is still too messy for being published). I will first be glad if the -9 release works for you too.
With a fresh sid version, I got a problem on /bin/sh now linked to dash because autoconf publishes configure scripts with /bin/sh at top but the KERNEL configure.ac script uses 'function' which is a bash command. I could not find a solution yet (even by tweaking SHELL and CONFIG_SHELL). Then I wonder if doing a: chmod -x debian/tmp/usr/lib/python2.5/*-packages/salome/* is a nice idea because you can not list directories any more. I got this problem while debugging. I will try to provide a solution on that point by listing required scripts. Best regards, André > On Mon, 2010-05-17 at 12:06 +0200, Andre Espaze wrote: > > Hi Adam, > > > > Sorry for the lack of news, I was focus on making VISU work. I have > > succeeded to build a Salome package however the current result is > > unfortunately split from our development line. That's why I will first > > explain my steps and then ask your advice on the merge as I saw that > > serious reorganizations are also pending. > > > > My goal is to provide a functional Salome package for mechanical > > engineering even if incomplete. As a consequence the necessary modules > > are for me KERNEL, GUI, GEOM, MED, SMESH and VISU. As VISU was failing > > in the build process of debian/rules, I decided to build it by hand by > > exporting the necessary environment variables. In that case I only had > > to modify the gui-build-in-tree.patch (attached to the mail) for making > > the libVISU linking work by adding the path to libToolsGUI. > > However, back to the complete debian/rules process, the compilation > > was still failing in the VISU CONVERTER library because of an absent > > template symbol (probably the same problem described in your mail on > > the 25th of January). So I needed to investigate the configure and > > build steps of debian/rules but those steps take lot of time. For > > easing my researchs, I decided to work on a package building > > only the necessary modules which I called salome-core. The working > > snapshot is available here: > > http://www.python-science.org/files/salome-core.tar.gz > > and I have attached the resulting debian/rules which configure > > every module separately. I could not find the problem in the > > previous loop configuration. > > > > >From there two questions arise. First, I like the debian/rules file > > of salome-core but I remember that you were against such solution for > > maintenance reasons. Would you like me to adapt it as a loop or did you > > finally change your mind? From now it seems anyway that VISU needs to be > > configured separately. Second, could the current salome-core package be > > a starting point for the reorganizations that we discussed previously? > > For me it has the main advantage to build only the necessary modules, > > thus saving time for every run of Salome packaging. However it will > > require to write several packages (salome-advance and salome-dev). > > By comparing to the opencascade package, I understand that the whole > > building should be made in a row and the subpackages splitted by > > several *.install files. > > > > ... > > > > > > - self.CMD=['SALOME_ContainerPy.py','FactoryServerPy'] > > + self.CMD=['SALOME_Container','FactoryServerPy'] > > (I have adapted the patch to the current version.) > > ... > > > I just took care of this, the result is in the alioth git repository. > > Thank you for the update. Even if the current version work, I would > > prefer to rename 'SALOME_ContainerPy.py' to 'SALOME_ContainerPy' because > > '/usr/bin/SALOME_Container' already exists and is finally overwritten in > > the install step of debian/rules. > > > > Even if several points still need to be discussed or adapted, the > > good point is that we know now how to build a Salome package with the > > essential modules. Once again, thank you very much for all your efforts. > > I am going to track the remaining bugs at runtime (some menu do not show > > up in SMESH, the results can not be seen in VISU). > > > > All the best, > > > > André > -- > GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6 > > Engineering consulting with open source tools > http://www.opennovation.com/
commit 79661ecbf3ef61cf184ca76dca1402559aa59aa4 Author: André Espaze <andre.esp...@logilab.fr> Date: Tue May 11 16:24:43 2010 +0200 Adding TOOLSGUI to GUI_LDFLAGS for building VISU diff --git a/debian/patches/gui-build-in-tree.patch b/debian/patches/gui-build-in-tree.patch index 6fbee7d..9e54e08 100644 --- a/debian/patches/gui-build-in-tree.patch +++ b/debian/patches/gui-build-in-tree.patch @@ -1,8 +1,10 @@ Changes needed to build all modules before installing them. ---- salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4~ 2010-01-22 19:55:47.000000000 +0100 -+++ salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4 2010-01-22 20:02:01.000000000 +0100 -@@ -59,19 +59,27 @@ +diff --git a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4 b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4 +index ec07762..73d2eb9 100755 +--- a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4 ++++ b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_GUI.m4 +@@ -59,19 +59,27 @@ if test -f ${SALOME_GUI_DIR}/bin/salome/$1 ; then SalomeGUI_ok=yes AC_MSG_RESULT(Using SALOME GUI distribution in ${SALOME_GUI_DIR}) @@ -12,7 +14,7 @@ Changes needed to build all modules before installing them. + SalomeGUI_ok=yes + AC_MSG_RESULT(Using SALOME GUI source directory in ${SALOME_GUI_DIR}) + -+ GUI_LDFLAGS="-L${SALOME_GUI_DIR}/src/SUIT -L${SALOME_GUI_DIR}/src/Qtx -L${SALOME_GUI_DIR}/src/VTKViewer -L${SALOME_GUI_DIR}/src/SVTK -L${SALOME_GUI_DIR}/src/OBJECT -L${SALOME_GUI_DIR}/src/SalomeApp -L${SALOME_GUI_DIR}/src/Session -L${SALOME_GUI_DIR}/src/LightApp -L${SALOME_GUI_DIR}/src/OCCViewer -L${SALOME_GUI_DIR}/src/CAM -L${SALOME_GUI_DIR}/src/SOCC -L${SALOME_GUI_DIR}/src/Event -L${SALOME_GUI_DIR}/src/Prs -L${SALOME_GUI_DIR}/src/STD -L${SALOME_GUI_DIR}/src/PyConsole -L${SALOME_GUI_DIR}/src/SPlot2d -L${SALOME_GUI_DIR}/src/Plot2d -L${SALOME_GUI_DIR}/src/ObjBrowser -L${SALOME_GUI_DIR}/src/PyInterp -L${SALOME_GUI_DIR}/src/LogWindow -L${SALOME_GUI_DIR}/src/GLViewer -L${SALOME_GUI_DIR}/src/SUPERVGraph -L${SALOME_GUI_DIR}/src/SUITApp -L${SALOME_GUI_DIR}/src/QxScene" ++ GUI_LDFLAGS="-L${SALOME_GUI_DIR}/src/SUIT -L${SALOME_GUI_DIR}/src/Qtx -L${SALOME_GUI_DIR}/src/VTKViewer -L${SALOME_GUI_DIR}/src/SVTK -L${SALOME_GUI_DIR}/src/OBJECT -L${SALOME_GUI_DIR}/src/SalomeApp -L${SALOME_GUI_DIR}/src/Session -L${SALOME_GUI_DIR}/src/LightApp -L${SALOME_GUI_DIR}/src/OCCViewer -L${SALOME_GUI_DIR}/src/CAM -L${SALOME_GUI_DIR}/src/SOCC -L${SALOME_GUI_DIR}/src/Event -L${SALOME_GUI_DIR}/src/Prs -L${SALOME_GUI_DIR}/src/STD -L${SALOME_GUI_DIR}/src/PyConsole -L${SALOME_GUI_DIR}/src/SPlot2d -L${SALOME_GUI_DIR}/src/Plot2d -L${SALOME_GUI_DIR}/src/ObjBrowser -L${SALOME_GUI_DIR}/src/PyInterp -L${SALOME_GUI_DIR}/src/LogWindow -L${SALOME_GUI_DIR}/src/GLViewer -L${SALOME_GUI_DIR}/src/SUPERVGraph -L${SALOME_GUI_DIR}/src/SUITApp -L${SALOME_GUI_DIR}/src/QxScene -L${SALOME_GUI_DIR}/src/TOOLSGUI" + GUI_CXXFLAGS="-I${SALOME_GUI_DIR}/src/SVTK -I${SALOME_GUI_DIR}/src/OBJECT -I${SALOME_GUI_DIR}/src/VTKViewer -I${SALOME_GUI_DIR}/src/SUIT -I${SALOME_GUI_DIR}/src/Qtx -I${SALOME_GUI_DIR}/src/SalomeApp -I${SALOME_GUI_DIR}/src/LightApp -I${SALOME_GUI_DIR}/src/CAM -I${SALOME_GUI_DIR}/src/STD -I${SALOME_GUI_DIR}/src/OCCViewer -I${SALOME_GUI_DIR}/src/Prs -I${SALOME_GUI_DIR}/src/SOCC -I${SALOME_GUI_DIR}/src/ObjBrowser -I${SALOME_GUI_DIR}/src/Event -I${SALOME_GUI_DIR}/src/PyConsole -I${SALOME_GUI_DIR}/src/SPlot2d -I${SALOME_GUI_DIR}/src/Plot2d -I${SALOME_GUI_DIR}/src/GLViewer -I${SALOME_GUI_DIR}/src/QxScene" +else + AC_MSG_WARN("Cannot find compiled SALOME GUI distribution") @@ -35,7 +37,7 @@ Changes needed to build all modules before installing them. fi AC_MSG_RESULT(for $2: ${SalomeGUI_ok}) -@@ -80,5 +88,6 @@ +@@ -80,5 +88,6 @@ AC_MSG_RESULT(for $2: ${SalomeGUI_ok}) AC_DEFUN([CHECK_SALOME_GUI],[ CHECK_GUI([SUITApp], @@ -43,9 +45,11 @@ Changes needed to build all modules before installing them. + [SALOME GUI], + [SUITApp],) ])dnl ---- salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4~ 2009-12-01 15:59:03.000000000 +0100 -+++ salome-5.1.3/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4 2010-01-22 12:25:48.000000000 +0100 -@@ -26,7 +26,8 @@ +diff --git a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4 b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4 +index cfa4a04..6bbf7b8 100755 +--- a/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4 ++++ b/GUI_SRC_5.1.3/adm_local/unix/config_files/check_corba_in_GUI.m4 +@@ -26,7 +26,8 @@ dnl AC_DEFUN([CHECK_CORBA_IN_GUI],[ CHECK_GUI([SALOME_Session_Server], @@ -55,11 +59,11 @@ Changes needed to build all modules before installing them. CORBA_IN_GUI=${SalomeGUI_ok} AC_SUBST(CORBA_IN_GUI) ])dnl -Changes needed to build all modules before installing them. - ---- salome-5.1.3/GUI_SRC_5.1.3/idl/Makefile.am~ 2009-12-01 09:58:51.000000000 -0500 -+++ salome-5.1.3/GUI_SRC_5.1.3/idl/Makefile.am 2010-01-07 12:48:31.000000000 -0500 -@@ -49,9 +49,9 @@ +diff --git a/GUI_SRC_5.1.3/idl/Makefile.am b/GUI_SRC_5.1.3/idl/Makefile.am +index c234fd0..3986923 100755 +--- a/GUI_SRC_5.1.3/idl/Makefile.am ++++ b/GUI_SRC_5.1.3/idl/Makefile.am +@@ -49,9 +49,9 @@ libSalomeIDLGUI_la_LIBADD = @CORBA_LIBS@ # These variables defines the building process of CORBA files OMNIORB_IDL = @OMNIORB_IDL@ OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ @@ -72,7 +76,7 @@ Changes needed to build all modules before installing them. # potential problem on parallel make on the following - multiple outputs SUFFIXES = .idl .hh SK.cc -@@ -82,7 +82,7 @@ +@@ -82,7 +82,7 @@ mostlyclean-local: @for dep in $^ dummy; do \ if [ $$dep != "dummy" ]; then \ echo Building dependencies for $$dep; \
commit 2023d9d513d16a2eb8d99117122e0859bd8aa3d8 Author: André Espaze <andre.esp...@logilab.fr> Date: Thu May 27 18:13:37 2010 +0200 Trying to make a 5.1.3-9 release The VISU module can be built but it needs to be configured separately. diff --git a/debian/changelog b/debian/changelog index a7aa610..61b26ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,13 @@ -salome (5.1.3-9) UNRELEASED; urgency=low +salome (5.1.3-9) unstable; urgency=low [ Denis Barbier ] * Removed contrib from package sections, as it dates to long-past times when Open CASCADE was non-free. + [ Andre Espaze] + * Adding TOOLSGUI to GUI_LDFLAGS for building VISU + * Configuring VISU outside the for loop makes the build success - -- + -- Andre Espaze <andre.esp...@logilab.fr> Thu, 27 May 2010 08:32:15 -0400 salome (5.1.3-8) unstable; urgency=low diff --git a/debian/rules b/debian/rules index cdb2dd9..4cf30ea 100755 --- a/debian/rules +++ b/debian/rules @@ -29,6 +29,7 @@ SALOME_MODULES = KERNEL_SRC_$(SALOME_VERSION) \ GUI_SRC_$(SALOME_VERSION) \ GEOM_SRC_$(SALOME_VERSION) \ MED_SRC_$(SALOME_VERSION) \ + VISU_SRC_$(SALOME_VERSION) \ SMESH_SRC_$(SALOME_VERSION) \ YACS_SRC_$(SALOME_VERSION) \ MULTIPR_SRC_$(SALOME_VERSION) \ @@ -98,8 +99,10 @@ configure-stamp: # Install new .in files cp -fp debian/runSalome.in debian/killSalome.in KERNEL_SRC_$(SALOME_VERSION)/bin/ cp -fp debian/envProducts.sh.in KERNEL_SRC_$(SALOME_VERSION)/bin/appliskel/env.d/ - for salomodule in $(SALOME_MODULES); do \ + if [ $$salomodule == VISU_SRC_$(SALOME_VERSION) ]; then \ + continue; \ + fi; \ echo; echo CONFIGURING SALOME MODULE $$salomodule; echo; \ (cd $$salomodule && \ KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \ @@ -127,6 +130,19 @@ configure-stamp: SMESH_ROOT_DIR=$(CURDIR)/SMESH_SRC_$(SALOME_VERSION) \ SIERPINSKY_ROOT_DIR=$(CURDIR)/SMESH_SRC_$(SALOME_VERSION)); \ done + # From now configuring VISU outside the for loop + # makes the build success + (cd VISU_SRC_$(SALOME_VERSION) && \ + KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \ + GUI_ROOT_DIR=$(CURDIR)/GUI_SRC_$(SALOME_VERSION) \ + MED_ROOT_DIR=$(CURDIR)/MED_SRC_$(SALOME_VERSION) \ + ./build_configure && \ + ./configure --prefix=/usr \ + --with-mpi=/usr --with-mpi_include=/usr/include/mpi \ + VTKSUFFIX=-5.4 CASROOT=/usr \ + KERNEL_ROOT_DIR=$(CURDIR)/KERNEL_SRC_$(SALOME_VERSION) \ + GUI_ROOT_DIR=$(CURDIR)/GUI_SRC_$(SALOME_VERSION) \ + MED_ROOT_DIR=$(CURDIR)/MED_SRC_$(SALOME_VERSION)); # Restore these when the XDATA clean target actually works # echo; echo CONFIGURING SALOME MODULE XDATA; echo # (cd XDATA_SRC_$(SALOME_VERSION) && \ @@ -161,8 +177,8 @@ build-indep-stamp: configure-stamp make -C PYHELLO_SRC_$(SALOME_VERSION)/doc usr_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc echo; echo GENERATING DOCUMENTATION IN MODULE PYCALCULATOR; echo make -C PYCALCULATOR_SRC_$(SALOME_VERSION)/doc dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc -# echo; echo GENERATING DOCUMENTATION IN MODULE VISU; echo -# make -C VISU_SRC_$(SALOME_VERSION)/doc usr_docs dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc + echo; echo GENERATING DOCUMENTATION IN MODULE VISU; echo + make -C VISU_SRC_$(SALOME_VERSION)/doc usr_docs dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc echo; echo GENERATING DOCUMENTATION IN MODULE SMESH; echo make -C SMESH_SRC_$(SALOME_VERSION)/doc usr_docs dev_docs -j $(NJOBS) DESTDIR=$(CURDIR)/debian/tmp bindir=/usr/bin libdir=/usr/lib docdir=/usr/share/doc/salome-doc echo; echo GENERATING DOCUMENTATION IN MODULE YACS; echo