http://underpop.online.fr/n/nielshorn Random thoughts, tips & tricks about Slackware-Linux, Lego and Star Wars Fri, 09 Nov 2012 00:02:45 +0000 http://wordpress.org/?v=2.8.4 en hourly 1 http://underpop.online.fr/n/nielshorn/2012/02/libreoffice-3-5-0-is-out-slackware-packages-ready/ http://underpop.online.fr/n/nielshorn/2012/02/libreoffice-3-5-0-is-out-slackware-packages-ready/#comments Wed, 15 Feb 2012 00:04:14 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1177 libreofficeToday version 3.5.0 of was released. The list of new features and fixes is impressive and can be found .

As always, the updated SlackBuild script has been submitted to and pre-built packages can be found on my .

]]> http://underpop.online.fr/n/nielshorn/2012/02/libreoffice-3-5-0-is-out-slackware-packages-ready/feed/ 0 http://underpop.online.fr/n/nielshorn/2012/01/freecad-0-12-5284-and-opencascade-6-5-2-working-together-on-slackware/ http://underpop.online.fr/n/nielshorn/2012/01/freecad-0-12-5284-and-opencascade-6-5-2-working-together-on-slackware/#comments Thu, 05 Jan 2012 02:40:08 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1150 FreeCAD and OpenCASCADE

Building a new version of and is always a lot of fun…
These two projects are constantly evolving, but almost never ‘in sync’.

In December a new version of the OpenCASCADE library was released – 6.5.2. It and looked like a good reason to build a newer version of FreeCAD in the process. And this is where the fun begins! :)

Building OpenCASCADE

opencascade_logoBuilding the new version of OpenCASCADE was straightforward. I just needed to update the patch to get it to build with SlackBuilds.org’s version of ftgl and test my patience – as it takes more than two hours to build on my Virtual machine. But after some fiddling around, I had a package.
Time to do some testing and trying to build FreeCAD against it! :)

Building FreeCAD

freecadI decided to try the latest “stable” version of FreeCAD – 0.12.5284. The FreeCAD developers have not created any new source tarballs for a while, so I had to get the SVN revision 5284. I uploaded the tarball I created from that revision to my site so that everyone can create the same stable version.
I soon noticed that they solved all the problems I had with building against OpenCASCADE 6.5.1 some time ago, so I was able to remove that patch.
But then I ran against a new problem:

error: no matching function for call to 'BRepBuilderAPI_MakeFace::BRepBuilderAPI_MakeFace(Handle_Geom_Plane&, double, double&, double, double&)'

Reading the I found out that the BRepBuilderAPI_MakeFace function now needs an extra parameter:

BRepLib_MakeFace has been modified to accept tolerance value for resolution of degenerated
edges. This tolerance parameter has no default value (to ensure that the client code takes care of
passing some meaningful value, not just Precision::Confusion), so some porting overheads
are expected.

So, it doesn’t have a default value. But what was the default before?
I read through the documentation and found that previously the default was Precision::Confusion():

A default tolerance (Precision::Confusion()) is given to the face,
this tolerance may be increased during construction of the face
using various algorithms.

I tried to add this default to the function call and … it worked!
Trying to compile the rest of FreeCAD I found several other locations in the source with the same problem, resulting in this patch:

--- FreeCAD-0.12.5284/src/Mod/Part/App/AppPartPy.cpp 2012-01-02 16:32:09.000000000 -0200
+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/AppPartPy.cpp 2012-01-02 21:36:18.000000000 -0200
@@ -492,7 +492,7 @@
 d.SetCoord(vec.x, vec.y, vec.z);
 }
 Handle_Geom_Plane aPlane = new Geom_Plane(p, d);
- BRepBuilderAPI_MakeFace Face(aPlane, 0.0, length, 0.0, width);
+ BRepBuilderAPI_MakeFace Face(aPlane, 0.0, length, 0.0, width, Precision::Confusion());
 return new TopoShapeFacePy(new TopoShape((Face.Face())));
 }
 catch (Standard_DomainError) {
--- FreeCAD-0.12.5284/src/Mod/Part/App/GeometrySurfacePyImp.cpp 2012-01-02 16:32:09.000000000 -0200
+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/GeometrySurfacePyImp.cpp 2012-01-02 22:08:47.000000000 -0200
@@ -79,7 +79,7 @@
 s->Bounds(u1,u2,v1,v2);
 if (!PyArg_ParseTuple(args, "|dddd", &u1,&u2,&v1,&v2))
 return 0;
- BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2);
+ BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2, Precision::Confusion());
 TopoDS_Shape sh = mkBuilder.Shape();
 return new TopoShapeFacePy(new TopoShape(sh));
 }
--- FreeCAD-0.12.5284/src/Mod/Part/App/Geometry.cpp 2012-01-02 16:32:09.000000000 -0200
+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/Geometry.cpp 2012-01-02 22:37:08.000000000 -0200
@@ -1252,7 +1252,7 @@
 Handle_Geom_Surface s = Handle_Geom_Surface::DownCast(handle());
 Standard_Real u1,u2,v1,v2;
 s->Bounds(u1,u2,v1,v2);
- BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2);
+ BRepBuilderAPI_MakeFace mkBuilder(s, u1, u2, v1, v2, Precision::Confusion());
 return mkBuilder.Shape();
 }
--- FreeCAD-0.12.5284/src/Mod/Part/App/PrimitiveFeature.cpp 2012-01-02 16:32:09.000000000 -0200
+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/PrimitiveFeature.cpp 2012-01-02 22:40:21.000000000 -0200
@@ -191,7 +191,7 @@
 gp_Pnt pnt(0.0,0.0,0.0);
 gp_Dir dir(0.0,0.0,1.0);
 Handle_Geom_Plane aPlane = new Geom_Plane(pnt, dir);
- BRepBuilderAPI_MakeFace mkFace(aPlane, 0.0, L, 0.0, W);
+ BRepBuilderAPI_MakeFace mkFace(aPlane, 0.0, L, 0.0, W, Precision::Confusion());
 const char *error=0;
 switch (mkFace.Error())
--- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShape.cpp 2012-01-02 16:32:09.000000000 -0200
+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/TopoShape.cpp 2012-01-03 00:19:12.000000000 -0200
@@ -1338,7 +1338,7 @@
 double u1,u2,v1,v2;
 surf->Bounds(u1,u2,v1,v2);
- BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, v1, v2);
+ BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, v1, v2, Precision::Confusion());
 return mkBuilder.Face();
 }
@@ -1391,7 +1391,7 @@
 Standard_Real u1,u2,v1,v2;
 mySurface->Bounds(u1,u2,v1,v2);
- BRepBuilderAPI_MakeFace mkBuilder(mySurface, u1, u2, v1, v2);
+ BRepBuilderAPI_MakeFace mkBuilder(mySurface, u1, u2, v1, v2, Precision::Confusion());
 return mkBuilder.Shape();
 }
@@ -1443,7 +1443,7 @@
 mkSweep.Perform(tol, Standard_False, GeomAbs_C1, BSplCLib::MaxDegree(), 1000);
 const Handle_Geom_Surface& surf = mkSweep.Surface();
- BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, vmin, vmax);
+ BRepBuilderAPI_MakeFace mkBuilder(surf, umin, umax, vmin, vmax, Precision::Confusion());
 return mkBuilder.Face();
 }
--- FreeCAD-0.12.5284/src/Mod/Part/App/TopoShapeFacePyImp.cpp 2012-01-02 16:32:09.000000000 -0200
+++ FreeCAD-0.12.5284_patched/src/Mod/Part/App/TopoShapeFacePyImp.cpp 2012-01-03 00:24:40.000000000 -0200
@@ -135,7 +135,7 @@
 return -1;
 }
- BRepBuilderAPI_MakeFace mkFace(S);
+ BRepBuilderAPI_MakeFace mkFace(S, Precision::Confusion());
 if (bound) {
 Py::List list(bound);
 for (Py::List::iterator it = list.begin(); it != list.end(); ++it) {

With this patch I was able to build FreeCAD successfully on Slackware and now I’m happy playing around with it, discovering the new features :)

Where to get it

I submitted the new scripts to , where they are waiting in the pending queue to be approved.
In the mean time, pre-built packages for Slackware (both 32- and 64-bits) can be downloaded from .

]]> http://underpop.online.fr/n/nielshorn/2012/01/freecad-0-12-5284-and-opencascade-6-5-2-working-together-on-slackware/feed/ 12 http://underpop.online.fr/n/nielshorn/2011/12/mysqlcc-revisited-making-it-work-with-mysql-5-5/ http://underpop.online.fr/n/nielshorn/2011/12/mysqlcc-revisited-making-it-work-with-mysql-5-5/#comments Mon, 19 Dec 2011 22:02:16 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1128 How this all started

About a year and a half ago I wrote a patch to get mysqlcc (”MySQL Control Center”) to build with newer versions of mysql and the gcc compiler. This post can be found and I’ve received several replies on this blog and through e-mail since.

After mysql 5.5 was released, I received a few questions about getting mysqlcc to work with this new version of the still very popular database.
Personally I have not yet decided if I should stick to mysql – now a commercial product from Oracle – or switch to its really free sister (*) or even .

At first I thought “Are people still using this?” and, together with a complete lack of time, did not do too much with this all.
But the, curiosity caught up with me and I started to do some investigation…

The error messages

Trying to build mysqlcc against mysql 5.5 gives these errors:

main.cpp:(.text+0xae): undefined reference to `my_print_help'
main.cpp:(.text+0xcd): undefined reference to `my_print_variables'
tmp/main.o: In function `main':
main.cpp:(.text+0x1dd): undefined reference to `handle_options'

After some quick “googling” I found out that since mysql 5.5 the libmysqlclient library (libmysqlclient.so.18.0.0) does not export several functions that were exported with the previous versions. A discussion about this can be found . Basically, they were unofficial and now are hidden functions. They can be exported by altering a CMakeLists.txt file and rebuilding mysql 5.5, but this is not always an option. I did try it and in the end I got it to work, but I was convinced that it was not the right way to fix this. After all, I don’t think Oracle would listen to me and change their library :)

The patch

OK, so I had to patch mysqlcc.
These now “hidden” functions all were related to passing command-line parameters to mysql, like the location of the socket, etc. Most users would never use this (I never have) and simply start mysqlcc from a menu, not from a prompt.
I simply removed all these calls in mysqlcc, resulting in this patch:

--- mysqlcc-1.0.1-src/src/main.cpp 2011-07-08 07:40:01.000000000 -0300
+++ mysqlcc-1.0.1-src_patched/src/main.cpp 2011-12-19 09:31:11.000000000 -0200
@@ -176,13 +176,7 @@
 print_version();
 printf("usage: %s [options] [database]\n\n", progname);
 printf("Options:\n");
- my_print_help(my_long_options);
-#ifndef WIN32 //Win32 doesn't support load_defaults yet.
- print_defaults("my", load_default_groups);
-#endif
-
- my_print_variables(my_long_options);
 exit(-1);
 }
@@ -192,14 +186,8 @@
 int pid = 0;
 int t = 0;
 int ret = -1;
- char **save_argv;
- load_defaults("my",load_default_groups,&argc,&argv);
- save_argv = argv;
 progname= argv[0];
- if (handle_options(&argc, &argv, my_long_options, get_one_option))
- exit(-1);
 if (!argv[0] || !argv[1] || (pid = atoi(argv[0])) <= 0 || (t= atoi(argv[1])) <= 0)
 ret = mysqlcc_main(argc, argv);
- free_defaults(save_argv);
 return ret;
 }

The patch can also be downloaded .

It works

After patching and building, I could use mysqlcc on my mysql 5.5 server:


Just remember that it will not handle any command line option after this patch, not even "-v" to see the version...

(*) My and Maria are both daughters of , the "father" of both databases.

]]> http://underpop.online.fr/n/nielshorn/2011/12/mysqlcc-revisited-making-it-work-with-mysql-5-5/feed/ 3 http://underpop.online.fr/n/nielshorn/2011/08/slackware-packages-for-libreoffice-3-4-3/ http://underpop.online.fr/n/nielshorn/2011/08/slackware-packages-for-libreoffice-3-4-3/#comments Wed, 31 Aug 2011 22:48:23 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1122 Today 3.4.3 was released. Updating my SlackBuild script is now extremely simple, so the newest packages can already be downloaded from my while the SlackBuild is waiting in the pending queue.

I also built the usual language packs and they are being uploaded as well and should be available later tonight.

]]> http://underpop.online.fr/n/nielshorn/2011/08/slackware-packages-for-libreoffice-3-4-3/feed/ 0 http://underpop.online.fr/n/nielshorn/2011/08/freecad-opencascade-and-pivy-updated-slackware-packages-available/ http://underpop.online.fr/n/nielshorn/2011/08/freecad-opencascade-and-pivy-updated-slackware-packages-available/#comments Sun, 14 Aug 2011 04:33:02 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1099 Updating FreeCAD was long over due – the last package I built was for 0.9.2646 and they’re currently in the 0.11 series. But it is not a simple package to build – it requires some time and patience to get it all right… :)

Dependencies

is based on , which has been updated a few times since the last time I built a package for it. FreeCAD also depends on a few other libraries: Pivy, SoQt, Coin and xerxes-c. Of these, also needed an update, so I started with this one.

Updating Pivy
This update was simple. I just got the latest “tag” from the Mercurial repository (there are no tarballs for Pivy) and cleaned up the SlackBuild a bit. Pivy needs Coin and SoQt to build. It takes some time to build, but all went fine.

The updated script was submitted and the new packages were uploaded. I also put a tarball with the snapshot from the Mercurial repository on my site, to make it easier to build and to guarantee that the correct version is used.

OpenCASCADE

OpenCASCADE has never been a simple package to compile. It is huge (sources are > 200MB) and takes some time to build (two hours on my desktop). And worst: it never builds the first time without errors :)

First it gave some of those dreaded “not declared in this scope” errors.
These errors are caused by stricter checking in the newer gcc versions (actually since 4.3, and Slackware 13.37 is already on 4.5). As usual, they were easily fixed with a small patch putting an extra “include” in the source code.
This is the patch:

--- OpenCASCADE-6.5.1/ros/src/OSD/OSD_MAllocHook.cxx 2011-05-19 08:24:52.000000000 -0300
+++ OpenCASCADE-6.5.1_patched/ros/src/OSD/OSD_MAllocHook.cxx 2011-08-10 12:39:39.000000000 -0300
@@ -10,6 +10,7 @@
 #define __STDC_LIMIT_MACROS
 #endif
 #include <stdint.h>
+#include <stdlib.h>
 #endif
 #include <set>

But that was not all. I soon discovered (after compilation complaining that FTFont.h was missing) that OpenCASCADE now depends on ftgl. Well, that should have been simple to resolve, as there is a ftgl SlackBuild on .
OK, not that simple – it did not work.
Researching a bit on the internet, I found that they used an older version of ftgl, but the guys from OpenSUSE had already written a patch to solve this and can be found .

After this, I was able to successfully build OpenCASCADE 6.5.1 :)
I just added one thing to the SlackBuild – an option to include all the documentation. Most of it is available online and only interesting if your writing your own programs based on OpenCASCADE, not for users of FreeCAD for example. And we’re talking about 600MB of documentation…

So, the new script was also submitted and the pre-built packages uploaded.

Finally, FreeCAD

OK, so now I could start building FreeCAD, having all the dependencies ready on my machine!

The old problem with the boost libraries continued in the 0.11.3729 sources, to my surprise, but I substituted the original patch with a sed command, to make it easier to maintain:

sed -i "/-lboost/s/-mt\"/\"/g" configure

And two new problems appeared: the name of a function in OpenCASCADE had changed in 6.5.0 and a code for an error condition (according to OpenCASCADE never used) was removed.
I managed to write a small patch to get FreeCAD to compile with OpenCASCADE 6.5.0:

--- FreeCAD-0.11.3729/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp 2010-10-17 05:59:46.000000000 -0200
+++ FreeCAD-0.11.3729_patched/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp 2011-08-10 20:04:59.000000000 -0300
@@ -2205,8 +2205,8 @@
 if ( projector.IsDone() ) {
 double u, v, minVal = DBL_MAX;
 for ( int i = projector.NbExt(); i > 0; i-- )
- if ( projector.Value( i ) < minVal ) {
- minVal = projector.Value( i );
+ if ( projector.SquareDistance( i ) < minVal ) {
+ minVal = projector.SquareDistance( i );
 projector.Point( i ).Parameter( u, v );
 }
 result.SetCoord( u, v );
--- FreeCAD-0.11.3729/src/3rdParty/salomesmesh/src/SMESH/SMESH_Pattern.cpp 2010-10-17 05:59:46.000000000 -0200
+++ FreeCAD-0.11.3729_patched/src/3rdParty/salomesmesh/src/SMESH/SMESH_Pattern.cpp 2011-08-10 20:06:21.000000000 -0300
@@ -436,8 +436,8 @@
 }
 double u, v, minVal = DBL_MAX;
 for ( int i = theProjectorPS.NbExt(); i > 0; i-- )
- if ( theProjectorPS.Value( i ) < minVal ) {
- minVal = theProjectorPS.Value( i );
+ if ( theProjectorPS.SquareDistance( i ) < minVal ) {
+ minVal = theProjectorPS.SquareDistance( i );
 theProjectorPS.Point( i ).Parameter( u, v );
 }
 return gp_XY( u, v );
--- FreeCAD-0.11.3729/src/Mod/Part/App/PrimitiveFeature.cpp 2010-08-27 11:22:14.000000000 -0300
+++ FreeCAD-0.11.3729_patched/src/Mod/Part/App/PrimitiveFeature.cpp 2011-08-10 20:41:35.000000000 -0300
@@ -141,9 +141,6 @@
 case BRepBuilderAPI_ParametersOutOfRange:
 error = "parameters out of range";
 break;
- case BRepBuilderAPI_SurfaceNotC2:
- error = "surface not C2";
- break;
 default:
 error = "unknown error";
 break;
--- FreeCAD-0.11.3729/src/Mod/Part/App/TopoShape.cpp 2010-11-14 06:53:08.000000000 -0200
+++ FreeCAD-0.11.3729_patched/src/Mod/Part/App/TopoShape.cpp 2011-08-10 20:43:03.000000000 -0300
@@ -139,8 +139,6 @@
 return "Curve projection failed";
 case BRepBuilderAPI_ParametersOutOfRange:
 return "Parameters out of range";
- case BRepBuilderAPI_SurfaceNotC2:
- return "Surface not C2-continous";
 default:
 return "Unknown creation error";
 }

With this, I successfully build FreeCAD 0.11.3729 on Slackware!

Extra package

OpenCASCADE now has an optional dependency called so I built a package for this as well.
Doing so, I needed to write a small patch to put the libraries in the correct /usr/lib64 directory on Slackware64:

--- gl2ps-1.3.5-source/CMakeLists.txt 2009-10-16 16:14:07.000000000 -0300
+++ gl2ps-1.3.5-source_patched/CMakeLists.txt 2011-08-10 17:24:43.000000000 -0300
@@ -113,7 +113,7 @@
 set_target_properties(shared PROPERTIES COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS")
 endif(MSVC)
- install(TARGETS lib shared DESTINATION lib)
+ install(TARGETS lib shared DESTINATION lib${LIB_SUFFIX})
 endif(OPENGL_FOUND)
 if(WIN32)

Where to get it

All scripts have been submitted to .
If you don’t feel like spending about three hours building packages, you can get them ready-to-install from .

]]> http://underpop.online.fr/n/nielshorn/2011/08/freecad-opencascade-and-pivy-updated-slackware-packages-available/feed/ 0 http://underpop.online.fr/n/nielshorn/2011/08/slackware-package-for-qcomicbook-updated/ http://underpop.online.fr/n/nielshorn/2011/08/slackware-package-for-qcomicbook-updated/#comments Wed, 03 Aug 2011 23:01:30 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1091 With all the updates to packages, I forgot completely to mention . I updated my SlackBuild script for version 0.8.1, which now also supports pdf files.

As always, the pre-built packages can be downloaded from .

]]> http://underpop.online.fr/n/nielshorn/2011/08/slackware-package-for-qcomicbook-updated/feed/ 0 http://underpop.online.fr/n/nielshorn/2011/08/libreoffice-3-4-2-released-slackware-packages-available/ http://underpop.online.fr/n/nielshorn/2011/08/libreoffice-3-4-2-released-slackware-packages-available/#comments Tue, 02 Aug 2011 02:42:01 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1086 Today (or yesterday, depending on your timezone) 3.4.2 was .

Officially stable

This is the first release from the 3.4 series that is officially declared stable enough for enterprise use. So now we can all retire our 3.3.x installations and start using 3.4.2.
I admit that I’ve been using the 3.4 versions since 3.4.0, but I’m not an “enterprise” user, just a private person that uses lots of spreadsheets and writes a few documents.

Previous script works

This release was a nice test for the changes I introduced with the 3.4.1 update…
I tried building the 3.4.2 version with “VERSION=3.4.2 ./libreoffice.SlackBuild” and it worked flawlessly :)
So if you downloaded the 3.4.1 version from SlackBuilds.org’s git repo or from my site, you do not have to download the newer version – nothing has changed except the version number and the md5 checksums.

New script and packages

While we’re waiting for the next public update on SlackBuilds.org, you can get the new script or the complete packages from .
Well, actually, they’re still being uploaded as I write this, but they should be there in a while ;)

]]> http://underpop.online.fr/n/nielshorn/2011/08/libreoffice-3-4-2-released-slackware-packages-available/feed/ 0 http://underpop.online.fr/n/nielshorn/2011/07/transmission-slackware-package-updated-to-2-33/ http://underpop.online.fr/n/nielshorn/2011/07/transmission-slackware-package-updated-to-2-33/#comments Tue, 26 Jul 2011 17:33:34 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1061 transmissionI received two different reports over the last few days that version 2.31 of was causing segmentation faults and that the new 2.33 version solved this.

Although I use Transmission all the time, I never experienced this problem. But, since updating to 2.33 solves this for others, I updated my SlackBuild and submitted the new version.
The script is in the “pending” queue of and the pre-built packages can be downloaded from .

]]> http://underpop.online.fr/n/nielshorn/2011/07/transmission-slackware-package-updated-to-2-33/feed/ 0 http://underpop.online.fr/n/nielshorn/2011/07/libreoffice-3-4-1-package-for-slackware-and-what-to-do-about-missing-sources/ http://underpop.online.fr/n/nielshorn/2011/07/libreoffice-3-4-1-package-for-slackware-and-what-to-do-about-missing-sources/#comments Thu, 21 Jul 2011 22:35:26 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1053 libreofficeAnother version of was released recently, 3.4.1.

When I first “created” the SlackBuild for LibreOffice (I actually adapted rworkman’s OpenOffice.org script with his permission) it was because I was convinced that it would substitute OpenOffice.org eventually, as “open source” and “Oracle” did not sound like a happy marriage. And it seems that I was right, as the future of OpenOffice.org is at least doubtful, with Oracle trying to dump it at the Apache Foundation, but that causes some serious license or at least philosophical conflicts. At best, OO.o’s future looks “murky”. I also think the future of Java looks very complicated as long as Oracle is involved, but that’s a whole other story…

Back to the LibreOffice SlackBuild.

It (the script) is a bit of a messy hack to transform the pre-compiled packages into Slackware packages so that they can be maintained and installed or upgraded using the standard Slackware tools, like “installpkg” and “upgradepkg”. It does not really “build” the software, like AlienBOB’s script does. If you want to build LibreOffice from source, and have the resources (=hardware), expertise and patience (=couple of hours) to do so, get and give it a try. This might really give you a better and faster LibreOffice, but be warned: this is not for everyone. So, with the idea of serving a larger audience, I’ll keep maintaining my own script, so that everyone searching for a solution at or using can “build” a LibreOffice Slackware package in just a couple of minutes.

And then I started to receive feedback.

I already maintained quite a few SlackBuild scripts – some more popular than others. But I never received so many e-mails as I have received about LibreOffice… And when a new version is released, I have a problem. Because the download link to the “source” gets broken, as it is moved to the “old” directory on their server.
I do respond to every message I receive, but I also have a full-time job (writing SlackBuild scripts does not pay the bills) so an answer might take a few days. And with all the new releases of LibreOffice, I have been receiving *lots* of e-mails complaining that the link to the source is “broken”. So here is a little explanation on what to do when a new version is released:

  1. Get the previous sources from the “old” directory
  2. The Document Foundation keeps previous versions of LibreOffice available for download. But only previous versions, so I cannot link to them when they’re still current. You can download these previous versions from . Just pick the version you want (and which the SlackBuild was written for), pick “rpm” and the architecture you need (”x86″ for 32-bits and “x86_64″ for 64-bits). There you will find the “install-rpm” files needed to build the previous release.

  3. Get the latest sources and try to use them
  4. With the latest version of my SlackBuild script, you might be able to build the newer version. I tried to make it as flexible as possible, but the folks that package the LibreOffice binaries have changed the naming scheme and package structure a few times in the past, so I cannot guarantee that it will work. But it’s worth a try.

Having said all this, I submitted today the new scripts for LibreOffice and for the latest language packs.
As always, if you can’t wait for the scripts to be approved by the SlackBuilds admins, you can get the pre-built packages (or just the SlackBuild script) from my .

]]> http://underpop.online.fr/n/nielshorn/2011/07/libreoffice-3-4-1-package-for-slackware-and-what-to-do-about-missing-sources/feed/ 4 http://underpop.online.fr/n/nielshorn/2011/06/new-slackware-package-for-transmission-2-31/ http://underpop.online.fr/n/nielshorn/2011/06/new-slackware-package-for-transmission-2-31/#comments Wed, 29 Jun 2011 23:57:53 +0000 Niels Horn http://underpop.online.fr/n/nielshorn/?p=1039 transmissionYes, I’ve been too busy lately to announce all new packages on my blog, but I do try to update most of them when new versions come out.

Today I updated the package, for which version 2.31 was released recently. It adds a few interesting enhancements (like trying to download the scarcest pieces first) and tweaks. For a complete list of changes see .

The updated SlackBuild has been submitted to and the pre-built packages are available on .

Stay tuned for more updates ;)

]]> http://underpop.online.fr/n/nielshorn/2011/06/new-slackware-package-for-transmission-2-31/feed/ 0