Bug#457075: Salomé packaging
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.espaze@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.espaze@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.espaze@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
Reply to: