[Slackbuilds-users] Learning How To Modify A SlackBuild

Robby Workman rworkman at slackbuilds.org
Tue Oct 2 18:22:21 UTC 2007

Rich Shepard wrote:
>    I would like to upgrade wxPython from to, but I cannot
> find a wxpython.SlackBuild that works ... on my main workstation/server that
> is still running Slackware-11.0 (because it works).
>    The process seems rather complicated to me because the source tarball
> includes wxWidgets-2.6 as well as wxPython-2.8.x. The author of the
> installed package hasn't produced a package with the newer version of
> wxPython, and his SlackBuild script is not available on linuxpackages.net.

Yep, and that's one of the major reasons why this project was started:
the idea that users should be limited to whatever someone is willing
to (or has time to) package at any given moment is simply not at all
acceptable.  That's why you'll find sources and build scripts also
available on all of the packages produced by me, Eric, and probably
everyone else around here :-)

>    When I run the package built with the script version I found (one of three
> that almost works; it's less broken than the other two), I get this error
> from python:
> Traceback (most recent call last):
>    File "eikos.py", line 280, in ?
>      frame_1 = MainFrame(None, -1, "")
>    File "eikos.py", line 66, in __init__
>      self.mainNB = MyNotebook(self, wx.ID_ANY, style=0)
>    File "eikos.py", line 35, in __init__
>      self.pane_7 = modData(self, wx.ID_ANY)
>    File "/data1/eikos/dataPage.py", line 125, in __init__
>      self.dataGrid.SetColSize(i, 125)
>    File "/usr/lib/python2.4/site-packages/wx-2.8-gtk2-unicode/wx/grid.py",
> line 1703, in SetColSize
>      return _grid.Grid_SetColSize(*args, **kwargs)
> wx._core.PyAssertionError: C++ assertion "col >= 0 && col < m_numCols"
> failed at ../src/generic/grid.cpp(10338) in SetColSize(): invalid column
> index
>    Where do I start looking at the .SlackBuild to learn what it's not doing
> correctly?

Do everything manually (as a normal user).
1. Extract the source.
2. cd $SRCDIR
3. ./configure --prefix=/usr [other options]
4. make
5. mkdir -p /tmp/package-$APP
6. make install DESTDIR=/tmp/package-$APP
7. cd /tmp/package-$APP
8. <housekeeping> (gzip manpages, move stuff as needed, etcetera)
9. cd /tmp/package-$APP
10. su
11. chown -R root:root .
12. makepkg -c n -l y ../$PKGNAME

Test.  If it works, then modify the build script to do exactly what
you just did.

More information about the Slackbuilds-users mailing list