Dear EdScott;
I am trying to make a port for your applications for crux linux.
libtubo, librfm, libdbh were a success and installed by their ports.
but for the rodent I get this:
::bash
file=`echo zh_TW | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file zh_TW.po
file=`echo zu | sed 's,.*/,,'`.gmo \
&& rm -f $file && /usr/bin/msgfmt -o $file zu.po
make[4]: Leaving directory '/usr/ports/work/src/rodent-5.3.14.5/apps/rodent-diff/po'
Making all in Build
make[4]: Entering directory '/usr/ports/work/src/rodent-5.3.14.5/apps/rodent-diff/Build'
gcc -DHAVE_CONFIG_H -I. -I.. -I./ -I.. -DLIBDIR=\"/usr/lib\" -DPACKAGE_DATA_DIR=\""/usr/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -pthread -I/usr/include/rfm -I/usr/include/dbh -I/usr/include/libxml2 -I/usr/lib/libzip/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -MT ../src/rodent_diff-rfm-diff.o -MD -MP -MF ../src/.deps/rodent_diff-rfm-diff.Tpo -c -o ../src/rodent_diff-rfm-diff.o `test -f '../src/rfm-diff.c' || echo './'`../src/rfm-diff.c
mv -f ../src/.deps/rodent_diff-rfm-diff.Tpo ../src/.deps/rodent_diff-rfm-diff.Po
/bin/sh ../libtool --tag=CC --mode=link gcc -DPACKAGE_DATA_DIR=\""/usr/share"\" -DPACKAGE_LOCALE_DIR=\""/usr/share/locale"\" -pthread -I/usr/include/rfm -I/usr/include/dbh -I/usr/include/libxml2 -I/usr/lib/libzip/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -o rodent-diff ../src/rodent_diff-rfm-diff.o -lrfm -lrodent -lX11 -lpthread -lrt -ltubo -ldbh -lm -lrt -lxml2 -lgthread-2.0 -pthread -Wl,--export-dynamic -lgmodule-2.0 -pthread -lzip -lz -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lmagic -lpthread -lpthread -lrt
libtool: link: cannot find the library `/usr/lib/librfm.la' or unhandled argument `/usr/lib/librfm.la'
Makefile:505: recipe for target 'rodent-diff' failed
make[4]: *** [rodent-diff] Error 1
make[4]: Leaving directory '/usr/ports/work/src/rodent-5.3.14.5/apps/rodent-diff/Build'
Makefile:603: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/usr/ports/work/src/rodent-5.3.14.5/apps/rodent-diff'
Makefile:480: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/usr/ports/work/src/rodent-5.3.14.5/apps/rodent-diff'
Makefile:379: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/ports/work/src/rodent-5.3.14.5/apps'
Makefile:438: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
=======> ERROR: Building '/usr/ports/PKGS/rodent#5.3.14.5-1.pkg.tar.gz' failed.
my port for the rodent is
::bash
# Description: ^^ more than a file manager; it could be called gui shell ^^
# URL: http://xffm.org
# Maintainer: r004; r_00_t[at]openmailbox[dot]org
# Depends on: desktop-file-utils librfm5 intltool librsvg pkg-config python27
name=rodent
version=5.3.14.5
release=1
source=(http://downloads.sourceforge.net/project/xffm/$version/$name-$version$
build() {
cd "$name-$version"
./configure --prefix=/usr --mandir=/usr/man
make
make DESTDIR=$PKG PREFIX=/usr MANPREFIX=/usr/man install
}
you could find the other ports (i.e librfm and ...) in https://bitbucket.org/r004/crux .
I'm not familiar with Crux, but it seems that for some reason it is trying to determine the link parameters for librfm by means of the librfm.la file instead of directly using the actual library, librfm.so.3.0.0.
Although the build process for librfm creates and installs the .la file, this is removed ater installation, since pkg-config is used instead of .la file.
I don't know why Crux wants to use .la files, but you can avoid their removal by patching the Makefile.am in librfm/Build/lib as follows (and rerun autogen.sh):
--- /home/edscott/GIT/xffm/librfm/Build/lib/Makefile.am 2014-08-20 12:38:53.000000000 -0500
+++ /home/edscott/GIT/xffm/librfm/Build/lib/Makefile.am.with-la 2014-12-08 11:12:46.000000000 -0600
@@ -119,6 +119,6 @@
../../rodent/rodent_population_threads.i
# Don't install .la files, .pc file is used instead
-install-data-hook:
+#install-data-hook:
+# rm -f $(DESTDIR)$(libdir)/librfm.la
+# rm -f $(DESTDIR)$(libdir)/librodent.la
If this works i can put in a configure directive to keep .la files so that your build process for librfm does not have to patch the makefile.
Let me know if it works or not.
hello;
Crux is a source based linux distro based on port system .much like freebsd
in that matter. but the ports are not categorized based on their nature.
but grouped by repositories. the main are core, Xorg, contrib, comapt; and
some other user made ports.
they are being updated on svn based environment.
the Pkgfile of each port in each group is exactly the bash script of what
you would do in terminal all in one file.
I will report back with the result shortly.
Thanks
Hello;
Yes It was successful in manual build and worked to. So I suggest you go ahead plz and add that to the code.
please report either here or in changlog for me to change my port (build script) accordingly)
Thanks
Ok. I have added the option "--with-la-files" to the configure script for librfm and tested that it works as intended. This has been committed to the git repository and will be present in next release tarball.
regards!
very much thanks;
I also will post an development request.