gio-fam-backend install stuck

I'm running 8.1-RELEASE. I recently cleaned the entire system of all packages and did 'portsnap fetch update', installed portupgrade and now I'm trying to 'portinstall cacti'.

It looks like it's getting stuck at the install script of gio-fam-backend..

Code:
--->  Installing the new version via the port
===>  Installing for gio-fam-backend-2.24.2
===>   gio-fam-backend-2.24.2 depends on executable: pkg-config - found
===>   gio-fam-backend-2.24.2 depends on shared library: fam.0 - found
===>   gio-fam-backend-2.24.2 depends on shared library: intl - found
===>   gio-fam-backend-2.24.2 depends on shared library: glib-2.0.0 - found
===>   Generating temporary packing list
===>  Checking if devel/gio-fam-backend already installed
gmake[1]: Entering directory `/usr/ports/devel/gio-fam-backend/work/glib-2.24.2/gio/fam'
gmake[1]: Nothing to be done for `install-exec-am'.
test -z "/usr/local/lib/gio/modules" || ../.././install-sh -c -d "/usr/local/lib/gio/modules"
 /bin/sh ../../libtool   --mode=install /usr/bin/install -c -o root -g wheel   libgiofam.la '/usr/local/lib/gio/modules'
libtool: install: /usr/bin/install -c -o root -g wheel .libs/libgiofam.so /usr/local/lib/gio/modules/libgiofam.so
libtool: install: /usr/bin/install -c -o root -g wheel .libs/libgiofam.lai /usr/local/lib/gio/modules/libgiofam.la
libtool: install: /usr/bin/install -c -o root -g wheel .libs/libgiofam.a /usr/local/lib/gio/modules/libgiofam.a
libtool: install: chmod 644 /usr/local/lib/gio/modules/libgiofam.a
libtool: install: ranlib /usr/local/lib/gio/modules/libgiofam.a
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib/gio/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
gmake  install-data-hook
gmake[2]: Entering directory `/usr/ports/devel/gio-fam-backend/work/glib-2.24.2/gio/fam'
if true && test -z "" ; then                                    \
                gio-querymodules /usr/local/lib/gio/modules ;   \
        fi

And that's as far as it gets. No segfaults, the system just goes idle. If I look at /usr/local/lib/gio/modules, the libs are there.

I started over and tried to add everything via 'pkg_add -r' but the Apache module isn't in the php5 package! So I have to build ports.
 
OK, so I just booted up a fresh 8.1-RELEASE VM and it builds and installs just fine. Hmm.. I did take the box from 7.0-RELEASE to 8.1-RELEASE a week or two ago via freebsd-update. Could there be some old libraries or something that needs to be cleaned up?
 
Alright, so I had a chance to debug this some more tonight. The issue is that the install script hangs when it runs [cmd=]gio-querymodules /usr/local/lib/gio/modules[/cmd]

If I run that manually it does the same thing.. nothing. I found this thread. I renamed /usr/local/bin/gio-querymodules to gio-querymodules.bak, created a new empty file named gio-querymodules and made it executable and that seemed to get it past the make install script. The gio cache obviously isn't updated so who knows if that will break something. Other threads found via Google suggest that this is only a problem on i386.

I did upgrade this box from 6.1-RELEASE > 6.3-RELEASE > 7.2-RELEASE and now it's at 8.1-RELEASE. I ran a freebsd-update IDS and it didn't find anything out of whack other than password files in /etc and such. I wonder if this is possibly linked to some specific hardware?
 
And... we're stuck once again. Something broken in GLib?

Code:
===>  Installing for cacti-0.8.7g
===>   cacti-0.8.7g depends on executable: rrdtool - not found
===>    Verifying install for rrdtool in /usr/ports/databases/rrdtool
===>   rrdtool-1.4.4 depends on executable: gmake - found
===>   rrdtool-1.4.4 depends on file: /usr/local/bin/perl5.10.1 - found
===>   rrdtool-1.4.4 depends on package: libtool>=2.2 - found
===>   rrdtool-1.4.4 depends on file: /usr/local/bin/intltool-extract - found
===>   rrdtool-1.4.4 depends on shared library: freetype.9 - found
===>   rrdtool-1.4.4 depends on shared library: cairo.2 - found
===>   rrdtool-1.4.4 depends on shared library: png.6 - found
===>   rrdtool-1.4.4 depends on shared library: xml2 - found
===>   rrdtool-1.4.4 depends on shared library: pangocairo-1.0.0 - not found
===>    Verifying install for pangocairo-1.0.0 in /usr/ports/x11-toolkits/pango
===>   pango-1.28.1 depends on file: /usr/local/libdata/pkgconfig/freetype2.pc - found
===>   pango-1.28.1 depends on executable: g-ir-scanner - not found
===>    Verifying install for g-ir-scanner in /usr/ports/devel/gobject-introspection
===>  Building for gobject-introspection-0.6.14
gmake  all-recursive
gmake[1]: Entering directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14'
Making all in girepository
gmake[2]: Entering directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/girepository'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/girepository'
Making all in giscanner
gmake[2]: Entering directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/giscanner'
gmake  all-am
gmake[3]: Entering directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/giscanner'
gmake[3]: Nothing to be done for `all-am'.
gmake[3]: Leaving directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/giscanner'
gmake[2]: Leaving directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/giscanner'
Making all in tools
gmake[2]: Entering directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/tools'
gmake[2]: Nothing to be done for `all'.
gmake[2]: Leaving directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/tools'
Making all in gir
gmake[2]: Entering directory `/usr/ports/devel/gobject-introspection/work/gobject-introspection-0.6.14/gir'
  GISCAN GLib-2.0.gir
/usr/include/machine/endian.h:107: syntax error, unexpected '{' in ' return (__extension__ ({ register __uint32_t __X = (_x); __asm ("bswap %0" 
: "+r" (__X)); __X; }));' at '{'
/usr/include/machine/endian.h:107: syntax error, unexpected ';' in ' return (__extension__ ({ register __uint32_t __X = (_x); __asm ("bswap %0" 
: "+r" (__X)); __X; }));' at ';'
 
Geez, will this ever end? OK, more Google'ing says that gamin and gio-fam-backend has to be deinstalled for gobject-introspection to build. Did that and it built and installed fine. Now I'm going back to rebuild gamin and gio-fam-backend.

It seems like something is seriously wrong with one or all of glib2, gamin, gio-fam-backend and gobject-introspection.
 
g0098 said:
I give up.

Don't.

One tip you don't seem to have tried is to kill the gio-querymodules process while it is hanging. Open a second terminal, [cmd=""]ps -ax | grep querymodules[/cmd][cmd=""]kill -HUP 00001[/cmd] or so, check the syntax of my commands to be sure they are correct.

For me this caused the installation to complete. Might have messed something up, but it hasn't shown yet.
 
mix_room said:
Don't.

One tip you don't seem to have tried is to kill the gio-querymodules process while it is hanging. Open a second terminal, [cmd=""]ps -ax | grep querymodules[/cmd][cmd=""]kill -HUP 00001[/cmd] or so, check the syntax of my commands to be sure they are correct.

For me this caused the installation to complete. Might have messed something up, but it hasn't shown yet.

I tried to HUP it the first time and that didn't work (the install script detected that the process hung and quit) which led me to rename the gio-querymodules executable and replace it with an empty file and that worked. After deinstalling gamin and gio-fam-backend, I returned to the Cacti install and that went through when it finished the install of gobject-introspect. After going back to re-make and install gmain and gio-fam-backend, for some reason it tries to build and install glib20 again and that fails on the gio-querymodules again and will not get further since that is the package that contains gio-querymodules (it's possible that I deinstalled glib by mistake).

It looks like this has been a problem for at least a year now. All of this GLib stuff has trouble on i386 at least. I don't get how it works fine on an 8.1-RELEASE i386 VM running on VirtualBox. FYI, the real box is a SuperMicro PDSMi with a Pentium-D 820 and 2GB of RAM.

This is my Nagios/Cacti monitoring box.. at least Nagios is running.

I'll try again tomorrow..
 
Problem solved! I knew it was a library issue.

I did:

Code:
pkg_delete -a

and cleaned out everything in:

Code:
rm -rf /usr/local/bin/* /usr/local/include/* /usr/local/lib/* /usr/local/libdata/* /usr/local/libexec/*

then:

Code:
cd /usr/src
make check-old

and it found stuff, so:

Code:
yes | make delete-old
yes | make delete-old-libs

Bummer, that didn't work. After getting some more ideas just Google'ing around, I thought I'd look deeper for lib/link issues. So I started up my 8.1-R VM in VirtualBox on my PC and looked at /lib and /usr/lib.

After about 10 minutes, there it was: /usr/lib/libpthread.so -> libthr.so was missing! So it would seem that somewhere between 6.1 > 6.3 > 7.x > 8.1 this was lost. No clue why.

Everything is now building and installing without issue.
 
Looks like all is well. Cacti is back up and running and Nagios/NagiosQL is good to go.

P.S. I apologize to the mods. My forum formatting skills are.. lacking.
 
Back
Top