delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/08/19/10:37:41

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
From: "Herb Martin" <HerbM AT learnquick DOT com>
To: <cygwin AT cygwin DOT com>
Subject: RE: Trying to build crm114 (20050721) under CygWin 1.5.18-1
Date: Fri, 19 Aug 2005 09:36:52 -0500
MIME-Version: 1.0
In-Reply-To: <4305CD33.7010606@familiehaase.de>
Message-ID: <EILH4L4-0007JS-3C@mail2.learnquick.com>
X-Sign-LQC: HerbM AT learnquick DOT com/2005-08-19 09:36:42/<cygwin AT cygwin DOT com>=mpjfipgj

Thanks to everyone who offered a suggestion -- I don't
have crm114 building yet, but I at least feel like I
am BEGINNING to understand the link (not well enough
however.)

> From: Gerrit P. Haase [mailto:gerrit AT familiehaase DOT de] 
> > regerror.c:68: undefined reference to `_libintl_gettext'
> > collect2: ld returned 1 exit status
> The above error just means that you'r missing libintl at your 
> link command, try to add -lintl to the Makefile where appropriate.

Will do.  (If I can figure out where.)

There is a /bin/cygintl.dll, and in /lib there are:

	libintl.a libintl.dll.a libintl.la

If I change -L/usr/local/lib to -L/usr/local/lib:/lib
the problem moves to "-ltre"; if I leave out the :/lib
or try to use a separate -L/lib then the errors messages
references libintl again.  (Obviously, I am just flailing,
trying each combination.)

gcc -static -L/usr/local/lib:/lib  -lintl -liconv  crm_main.o crm_compiler.o
crm_errorhandlers.o crm_exec_engine.o crm_p
reprocessor.o crm_var_hash_table.o crm_math_exec.o crm_expandvar.o
crm_stmt_parser.o crm_expr_alter.o crm_expr_match.o c
rm_css_maintenance.o crm_markovian.o    crm_osb_bayes.o crm_osb_hyperspace.o
crm_correlate.o crm_osb_winnow.o crm_winnow
_maintenance.o crm_osbf_bayes.o crm_osbf_maintenance.o crm_expr_window.o
crm_expr_isolate.o  crm_expr_file_io.o crm_expr
_syscall.o crm_expr_classify.o crm_debugger.o crm_str_funcs.o  \
  crmregex_tre.o \
  -lm -ltre -o crm114_tre
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot
find -ltre
collect2: ld returned 1 exit status
make[1]: *** [crm114_tre] Error 1
make[1]: Leaving directory
`/etc/mail/spamassassin/crm114-20050721-BlameNeilArmstrong.src'
make: *** [crm114] Error 2

Or: (leave out the :/lib or try to use a separate -L/lib)

gcc -static -L/usr/local/lib  -lintl -liconv  crm_main.o crm_compiler.o
crm_errorhandlers.o crm_exec_engine.o crm_prepro
cessor.o crm_var_hash_table.o crm_math_exec.o crm_expandvar.o
crm_stmt_parser.o crm_expr_alter.o crm_expr_match.o crm_cs
s_maintenance.o crm_markovian.o crm_osb_bayes.o crm_osb_hyperspace.o
crm_correlate.o crm_osb_winnow.o crm_winnow_mainten
ance.o crm_osbf_bayes.o crm_osbf_maintenance.o crm_expr_window.o
crm_expr_isolate.o  crm_expr_file_io.o crm_expr_syscall
.o crm_expr_classify.o crm_debugger.o crm_str_funcs.o  \
  crmregex_tre.o \
  -lm -ltre -o crm114_tre
/usr/local/lib/libtre.a(regerror.o): In function `regerror':
/etc/mail/spamassassin/crm114-20050721-BlameNeilArmstrong.src/tre-0.7.2/lib/
regerror.c:68: undefined reference to `_libi
ntl_gettext'
collect2: ld returned 1 exit status

> There are ready to use TRE packages.  E.g. here:
> ftp://sunsite.dk/projects/cygwinports/release/tre/

TRE makes and tests just fine.  Do you think that TRE
is (the cause of) the linking problem or just the target?

> From Dave Korn
>   Or perhaps giving the --disable-nls option to configure 
> would also fix it?

crm114 doesn't use configure.  Did you intend this 
for TRE (which doesn't seem [to me] to be the cause 
of the problem.)

> > fix this you must edit /etc/ld.so.conf to include 
> > /usr/local/lib, and then run ldconfig.

> ld.so.conf and ldconfig are aspects of the Linux dynamic 
> linker.  There is no such thing under Windows or Cygwin, so 
> those instructions are meaningless.  

And since the TRE is set to static (by configure instruction
when TRE is made), TRE shouldn't be the problem. ???

> The closest equivalent 
> is to ensure that the installed DLL is in the path.  This 
> normally means that if you configured with 
> --prefix=/usr/local (the default) that you should get a 
> cyg<whatever>.dll in /usr/local/bin and hence you need 
> /usr/local/bin in the path.  Only static libraries and import 
> libraries go in /usr/local/lib, and these do not need to be 
> in the path.

So, as I understand it, the TRE libs in /usr/local/lib
make sense, correct?

--
Herb Martin


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019