I've attached my system.mk and make's output. I can get around this
error by taking out gettext, but it would be cool to figure it out.
I have no clue, personally. The libtu.a compiles just fine, and -lintl
is clearly in the gcc command line, in front of -llibtu.
-Bryan
aka chreekat
##
## System settings
##
##
## Installation paths
##
PREFIX=/usr/local
# For relocatable build, use the following, and start with absolute path.
# RELOCATABLE=1
# PREFIX=
# Unless you are creating a package conforming to some OS's standards, you
# probably do not want to modify the following directories:
# Main binaries
BINDIR=$(PREFIX)/bin
# Configuration .lua files
ETCDIR=$(PREFIX)/etc/ion3
# Some .lua files and ion-* shell scripts
SHAREDIR=$(PREFIX)/share/ion3
# Manual pages
MANDIR=$(PREFIX)/share/man
# Some documents
DOCDIR=$(PREFIX)/share/doc/ion3
# Nothing at the moment
INCDIR=$(PREFIX)/include/ion3
# Nothing at the moment
LIBDIR=$(PREFIX)/lib
# Modules
MODULEDIR=$(LIBDIR)/ion3/mod
# Compiled Lua source code
LCDIR=$(LIBDIR)/ion3/lc
# ion-completefile (does not belong in SHAREDIR being a binary file)
EXTRABINDIR=$(LIBDIR)/ion3/bin
# For ion-completeman system-wide cache
VARDIR=/var/cache/ion3
# Message catalogs
LOCALEDIR=$(PREFIX)/share/locale
##
## Modules
##
# Set PRELOAD_MODULES=1 if your system does not support dynamically loaded
# modules through 'libdl' or has non-standard naming conventions.
PRELOAD_MODULES=1
# Flags to link with libdl.
DL_LIBS=-ldl
##
## Lua
##
# If you have installed Lua 5.1 from the official tarball without changing
# paths, this should do it.
LUA_DIR=/usr/local
LUA_LIBS = -L$(LUA_DIR)/lib -llua
LUA_INCLUDES = -I$(LUA_DIR)/include
LUA=$(LUA_DIR)/bin/lua
LUAC=$(LUA_DIR)/bin/luac
# If you are using the Debian packages, the following settings should be
# what you want.
#LUA_LIBS=`pkg-config --libs lua5.1`
#LUA_INCLUDES=`pkg-config --cflags lua5.1`
#LUA=/usr/bin/lua5.1
#LUAC=/usr/bin/luac5.1
##
## X libraries, includes and options
##
X11_PREFIX=/usr/X11R6
# SunOS/Solaris
#X11_PREFIX=/usr/openwin
X11_LIBS=-L$(X11_PREFIX)/lib -lX11 -lXext
X11_INCLUDES=-I$(X11_PREFIX)/include
# XFree86 libraries up to 4.3.0 have a bug that can cause a segfault.
# The following setting should work around that situation.
#DEFINES += -DCF_XFREE86_TEXTPROP_BUG_WORKAROUND
# Use the Xutf8 routines (XFree86 extension) instead of the Xmb routines
# in an UTF-8 locale. (No, you don't need this in UTF-8 locales, and
# most likely don't even want. It's only there because both Xmb and
# Xutf8 routines are broken, in different ways.)
#DEFINES += -DCF_DE_USE_XUTF8
# Remap F11 key to SunF36 and F12 to SunF37? You may want to set this
# on SunOS.
#DEFINES += -DCF_SUN_F1X_REMAP
##
## libc
##
# You may uncomment this if you know your system has
# asprintf and vasprintf in the c library. (gnu libc has.)
# If HAS_SYSTEM_ASPRINTF is not defined, an implementation
# in sprintf_2.2/ is used.
HAS_SYSTEM_ASPRINTF=1
# If you're on an archaic system (such as relatively recent *BSD releases)
# without even dummy multibyte/widechar and localisation support, you may
# have to uncomment the following line:
#DEFINES += -DCF_NO_LOCALE -DCF_NO_GETTEXT
# On some other systems you may something like this:
EXTRA_LIBS += -lintl
#EXTRA_INCLUDES +=
# clock_gettime for monotonic time
# Not available in standard cygwin
#EXTRA_LIBS += -lrt
##
## C compiler
##
CC=gcc
# Same as '-Wall -pedantic' without '-Wunused' as callbacks often
# have unused variables.
WARN= -W -Wimplicit -Wreturn-type -Wswitch -Wcomment \
-Wtrigraphs -Wformat -Wchar-subscripts \
-Wparentheses -pedantic -Wuninitialized
CFLAGS=-Os $(WARN) $(DEFINES) $(EXTRA_INCLUDES) $(INCLUDES)
LDFLAGS=-Os $(EXTRA_LIBS) $(LIBS)
EXPORT_DYNAMIC=-Xlinker --export-dynamic
# The following options are mainly for development use and can be used
# to check that the code seems to conform to some standards. Depending
# on the version and vendor of you libc, the options may or may not have
# expected results. If you define one of C99_SOURCE or XOPEN_SOURCE, you
# may also have to define the other.
#C89_SOURCE=-ansi
#POSIX_SOURCE=-D_POSIX_C_SOURCE=200112L
# Most systems
#XOPEN_SOURCE=-D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED
# SunOS, (Irix)
#XOPEN_SOURCE=-D__EXTENSIONS__
#C99_SOURCE=-std=c99 -DCF_HAS_VA_COPY
# The -DCF_HAS_VA_COPY option should allow for some optimisations, and
# in some cases simply defining
#C99_SOURCE=-DCF_HAS_VA_COPY
# might allow for those optimisations to be taken without any special
# libc or compiler options.
##
## make depend
##
DEPEND_FILE=.depend
DO_MAKE_DEPEND=$(CC) -MM $(DEFINES) $(EXTRA_INCLUDES) $(INCLUDES)
MAKE_DEPEND=$(DO_MAKE_DEPEND) $(SOURCES) > $(DEPEND_FILE)
##
## AR
##
AR=ar
ARFLAGS=cr
RANLIB=ranlib
##
## Install & strip
##
INSTALL=sh $(TOPDIR)/install-sh -c
INSTALLDIR=mkdir -p
BIN_MODE=755
DATA_MODE=644
STRIP=strip
RM=rm
gcc ion.o preload.o ../mod_tiling/mod_tiling.a ../mod_query/mod_query.a
../mod_menu/mod_menu.a ../mod_dock/mod_dock.a ../mod_sp/mod_sp.a
../mod_sm/mod_sm.a ../mod_statusbar/mod_statusbar.a ../de/de.a
../ioncore/ioncore.a -Os -lintl -L/usr/X11R6/lib -lX11 -lXext
-L../libmainloop -lmainloop -L../libextl -lextl -L../libtu -ltu
-L/usr/local/lib -llua -ldl -lm -lSM -lICE -o ion3
../libtu/libtu.a(output.o):output.c:(.text+0xef): undefined reference to
`_libintl_dgettext'
../libtu/libtu.a(optparser.o):optparser.c:(.text+0x46b): undefined reference to
`_libintl_dgettext'
../libtu/libtu.a(optparser.o):optparser.c:(.text+0x48a): undefined reference to
`_libintl_dgettext'
../libtu/libtu.a(optparser.o):optparser.c:(.text+0x4a9): undefined reference to
`_libintl_dgettext'
collect2: ld returned 1 exit status
make: *** [ion3] Error 1