I manage to build the packages, I dont know if they are good but I have packages.
I just did a checkout from NormandC git repository and modified the following files :
normandc wrote:I suspect that it's because C++11 isn't enabled. I don't know how to enable it in the debian/rules makefile.
+1
To enable it in debian/rules, just export CFLAGS/CXXFLAGS with the wanted option.
Code: Select all
$ git diff debian/rules
diff --git a/debian/rules b/debian/rules
index 6b8cf3f..ee9feb9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,6 +5,8 @@ DEB_AUTO_CLEANUP_RCS := yes
#DEB_AUTO_UPDATE_AUTOCONF := 1
export MACHINE=LINUX
+export CFLAGS=-std=gnu++11
+export CXXFLAGS=${CFLAGS}
DEB_DH_COMPRESS_ARGS := -X pdf
@@ -26,6 +28,7 @@ makebuilddir/netgen::
cp -p $$autoreconfile $$autoreconfile.save ; \
done; \
fi
+ sed -i 's/ -lFWOSPlugin//g' configure.ac
autoreconf --install
build/netgen::
@@ -33,9 +36,9 @@ build/netgen::
install/netgen::
install -d $(DEB_DESTDIR)/usr/share/man/man1
- install -m644 debian/netgen.1 $(DEB_DESTDIR)/usr/share/man/man1
- install -m644 debian/ng_stl.1 $(DEB_DESTDIR)/usr/share/man/man1
- install -m644 debian/ng_vol.1 $(DEB_DESTDIR)/usr/share/man/man1
+ #install -m644 debian/netgen.1 $(DEB_DESTDIR)/usr/share/man/man1
+ #install -m644 debian/ng_stl.1 $(DEB_DESTDIR)/usr/share/man/man1
+ #install -m644 debian/ng_vol.1 $(DEB_DESTDIR)/usr/share/man/man1
install -d $(DEB_DESTDIR)/usr/share/netgen
mv $(DEB_DESTDIR)/usr/bin/*.tcl $(DEB_DESTDIR)/usr/share/netgen
chmod ugo-x $(DEB_DESTDIR)/usr/share/netgen/*.tcl
- The both export do the trick according to "-std=gnu++11" missing option.
- The sed command I added is to remove libFWOSPlugin.so dependency. I got an error at build telling me the lib cannot be found. I dont know the purpose of this lib and I applied a noob solution : removing it. If this lib is really useless for netgen, the good way is to remove it from configure.ac and commit. This sed is just a quick and dirty fix...[edit] I just saw blacey post about it [/edit]
- As you notice, I deactivate man pages install, due to missing files. It will need to be corrected later.
I also needed to reorder packages into debian/control file according to inter packages dependencies :
Code: Select all
$ git diff debian/control
diff --git a/debian/control b/debian/control
index 7be7cb6..0ec2a75 100644
--- a/debian/control
+++ b/debian/control
@@ -31,30 +31,6 @@ Vcs-Git: git://git.debian.org/git/debian-science/packages/netgen.git
Vcs-Browser: http://git.debian.org/?p=debian-science/packages/netgen.git
Homepage: http://sourceforge.net/projects/netgen-mesher/
-Package: netgen
-Architecture: any
-Depends: ${shlibs:Depends},
- ${misc:Depends}
-Description: Automatic 3d tetrahedral mesh generator
- NETGEN is an automatic 3d tetrahedral mesh generator. It accepts
- input from constructive solid geometry (CSG) or boundary
- representation (BRep) from STL file format. NETGEN contains modules
- for mesh optimization and hierarchical mesh refinement.
-
-Package: netgen-doc
-Section: doc
-Architecture: all
-Depends: ${misc:Depends}
-Suggests: netgen
-Description: Automatic 3d tetrahedral mesh generator documentation
- NETGEN is an automatic 3d tetrahedral mesh generator. It accepts
- input from constructive solid geometry (CSG) or boundary
- representation (BRep) from STL file format. NETGEN contains modules
- for mesh optimization and hierarchical mesh refinement.
- .
- This package contains the user manual (in PDF format) and example
- files.
-
Package: libnglib-dev
Section: libdevel
Architecture: any
@@ -99,3 +75,28 @@ Description: Automatic 3d tetrahedral mesh generator internal headers
refinement.
.
This package contains internal headers.
+
+Package: netgen
+Architecture: any
+Depends: ${shlibs:Depends},
+ ${misc:Depends}
+Description: Automatic 3d tetrahedral mesh generator
+ NETGEN is an automatic 3d tetrahedral mesh generator. It accepts
+ input from constructive solid geometry (CSG) or boundary
+ representation (BRep) from STL file format. NETGEN contains modules
+ for mesh optimization and hierarchical mesh refinement.
+
+Package: netgen-doc
+Section: doc
+Architecture: all
+Depends: ${misc:Depends}
+Suggests: netgen
+Description: Automatic 3d tetrahedral mesh generator documentation
+ NETGEN is an automatic 3d tetrahedral mesh generator. It accepts
+ input from constructive solid geometry (CSG) or boundary
+ representation (BRep) from STL file format. NETGEN contains modules
+ for mesh optimization and hierarchical mesh refinement.
+ .
+ This package contains the user manual (in PDF format) and example
+ files.
+
There is no libnglib-*.so but there is several independant libs that were not installed but needed by netgen binaries. I install them all :
Code: Select all
$ git diff debian/libnglib-5.3.1.install
diff --git a/debian/libnglib-5.3.1.install b/debian/libnglib-5.3.1.install
index b68614b..d0dbfd1 100644
--- a/debian/libnglib-5.3.1.install
+++ b/debian/libnglib-5.3.1.install
@@ -1 +1 @@
-usr/lib/libnglib-*.so
+usr/lib/lib*.so.*
As said before, I do not install man pages for now :
Code: Select all
$ git diff debian/netgen.install
diff --git a/debian/netgen.install b/debian/netgen.install
index 00aa54d..6a15349 100644
--- a/debian/netgen.install
+++ b/debian/netgen.install
@@ -1,5 +1,5 @@
usr/bin/*
-usr/share/man/man1/*
+#usr/share/man/man1/*
usr/share/netgen/*.tcl
usr/share/applications/netgen.desktop
usr/share/pixmaps/netgen16x16.xpm
Then issuing this command :
Code: Select all
$ debuild -uc -us -j$(nproc) --lintian-opts --profile debian
produces 5 packages :
Code: Select all
ls ../*.deb
../libnglib-5.3.1_5.3.1-1ppa1_amd64.deb ../netgen_5.3.1-1ppa1_amd64.deb ../netgen-headers_5.3.1-1ppa1_amd64.deb
../libnglib-dev_5.3.1-1ppa1_amd64.deb ../netgen-doc_5.3.1-1ppa1_all.deb
I did not take the time to read all previous posts, so sorry if I said things already said before.
I could forget some points, just let me know.
May The Force Be With You.
++
gdo