Neil Hopcroft

A digital misfit

Adding project of-database

The database package depends upon the struct package and has a src/ directory containing a bootstrap script. Running this script leads to and error:

checking for PQconnectdb in -lpq… no
configure: error: unable to find the PQconnectdb() function in pq

This seems to be because it cannot find libpq.so – checking on the system libpq.so.5 exists but there is no libpq.so. Adding a link libpq.so allows the build to complete.


Updates to the octave forge package list

It has been a while since I’ve checked the Octave package list, there have been some changes since I set up the original projects. These are the packages on that page that I haven’t got set up in Jenkins:

  • bim
  • bsltl
  • cgi
  • database
  • fpl
  • msh
  • NaN
  • ncarray
  • netcdf
  • nurbs
  • ocs
  • octcdf
  • queuing
  • secs
  • sparsersb
  • tisean
  • tsa
  • zeromq

There are also some listed on the git and mercurial pages that are missing from my Jenkins project list:

  • ann
  • automatic_differentiation
  • civil
  • data-structures
  • engine
  • generate_latex
  • gnuplot
  • graceplot
  • irsa
  • jhandles
  • nnet
  • missing-functions
  • multicore
  • nlwing2
  • oct2mat
  • octave-forge
  • octgpr
  • odebvp
  • pdb
  • perl-inline::Octave
  • plot
  • project-web
  • real2rgb
  • robotics
  • soctcl
  • symband
  • system-identification
  • tk_octave
  • triangular
  • vibes
  • xraylib

Some of these I have tried to set up before.


Adding imlib2 project

imlib2 is part of the Enlightenment EFL libraries. It is built using ./autogen.sh, configure and make.
In the initial build it is missing support for gif and id3, gif support is added by installing the giflib-devel package, id3 support needs a new project, id3lib.


Setting up the navit build

After installing the dbus-devel package, the navit build fails with this error:

In file included from /usr/share/tomcat7/.jenkins/workspace/navit/navit/binding/dbus/binding_dbus.c:22:0:
/usr/include/dbus-1.0/dbus/dbus.h:29:33: fatal error: dbus/dbus-arch-deps.h: No such file or directory
#include
^
compilation terminated.

Looking at the cmake/FindDBus.cmake file shows that it is checking in /usr/lib/include but not in /usr/lib64/include, where the dbus directory can be found. Adding another check to look in lib64 allows the build to continue.
Next to add some dependencies

  • libosso and liblocation are from the Maemo project, where there isn’t an awful lot going on, so I’m going to ignore those for the moment as I believe them to be no longer maintained
  • imlib2 is added as a project
  • libgarmin is added as a project

Segfault is oftests #24

Test stk_example_kb09 failed with a segfault. Looks like this might be related to a problem that has been discussed on the octave mailing list, although my symptoms are significantly worse than those described in that report. I’ll rerun the tests once the build machine is a bit more quiescent.
Following a further couple of builds, this appears to be resolved, or at least a random failure. I’ll not investigate any further.


Build break in of-video #234

There are some more FFMPEG errors in the of-video build, ironically they appear to be introduced by

Changeset 50:73e26dc9bd9a by Andreas Weber :
Fix compiler warnings, replace deprecated functions, bump version

…or maybe my previous changes were undone by this change.
Once again, this is some missing AV_ prefixes.
Fixed in build #244.


Fixing the mesa build

At long last I’ve gotten around to fixing the mesa build – there were a couple of problems:

nouveau_screen.c: In function ‘nouveau_init_screen2’:
nouveau_screen.c:105:2: error: implicit declaration of function ‘nouveau_drm_new’ [-Werror=implicit-function-declaration]
ret = nouveau_drm_new(dri_screen->fd, &screen->drm);
^
nouveau_screen.c:111:2: error: implicit declaration of function ‘nouveau_device_new’ [-Werror=implicit-function-declaration]
ret = nouveau_device_new(&screen->drm->client, NV_DEVICE,
^
nouveau_screen.c:111:39: error: dereferencing pointer to incomplete type
ret = nouveau_device_new(&screen->drm->client, NV_DEVICE,
^
nouveau_screen.c: In function ‘nouveau_destroy_screen’:
nouveau_screen.c:229:2: error: implicit declaration of function ‘nouveau_drm_del’ [-Werror=implicit-function-declaration]
nouveau_drm_del(&screen->drm);
^

I spent a little while tracking this down, it turns out that I had three sets of pkgconfig .pc files for drm nouveau, one in /usr/lib/pkgconfig, one in /usr/lib64/pkgconfig and one in /usr/local/lib64/pkgconfig – the version being built by Jenkins being the one in /usr/local/lib64 while the others represented versions installed by the package manager. Removing those from /usr/lib and /usr/lib64 got the build looking at the latest version. However the error remained unchanged.

Looking at the build log, I notice this from the configure output:

DRI platform: drm
DRI drivers: i915 i965 nouveau r200 radeon swrast
DRI driver dir: ${libdir}/dri
GLX: DRI-based

The error occurs during the compilation of the nouveau DRI driver, so setting “–with-dri-drivers=i915,i965,r200,radeon,swrast” on the configure command line removes the driver from the build.
This leaves me with

../../src/loader/.libs/libloader_dri3_helper.a(loader_dri3_helper.o): In function `dri3_wait_for_event’:
/usr/share/tomcat7/.jenkins/workspace/mesa/src/loader/loader_dri3_helper.c:280: undefined reference to `xcb_wait_for_special_event’
../../src/loader/.libs/libloader_dri3_helper.a(loader_dri3_helper.o): In function `dri3_find_back’:
/usr/share/tomcat7/.jenkins/workspace/mesa/src/loader/loader_dri3_helper.c:380: undefined reference to `xcb_wait_for_special_event’
../../src/loader/.libs/libloader_dri3_helper.a(loader_dri3_helper.o): In function `dri3_flush_present_events’:
/usr/share/tomcat7/.jenkins/workspace/mesa/src/loader/loader_dri3_helper.c:613: undefined reference to `xcb_poll_for_special_event’
../../src/loader/.libs/libloader_dri3_helper.a(loader_dri3_helper.o): In function `dri3_update_drawable’:
/usr/share/tomcat7/.jenkins/workspace/mesa/src/loader/loader_dri3_helper.c:986: undefined reference to `xcb_register_for_special_xge’
/usr/share/tomcat7/.jenkins/workspace/mesa/src/loader/loader_dri3_helper.c:1030: undefined reference to `xcb_unregister_for_special_event’
../../src/loader/.libs/libloader_dri3_helper.a(loader_dri3_helper.o): In function `loader_dri3_drawable_fini’:
/usr/share/tomcat7/.jenkins/workspace/mesa/src/loader/loader_dri3_helper.c:122: undefined reference to `xcb_unregister_for_special_event’
collect2: error: ld returned 1 exit status

Again there are multiple pkgconfig .pc files for xcb in /usr/lib/pkgconfig, /usr/lib64/pkgconfig and /usr/local/lib64/pkgconfig. Removing those installed by the package manager and leaving those from the libxcb build resolves this problem.
Fixed in build #438.


Adding id3lib project

The id3lib project is required for the imlib2 project, it lives in cvs at sourceforge. It is built with ./configure, make and make install.
This project appears not to be under active maintenance in the sourceforge CVS repository.