Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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" To: 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit In-Reply-To: <4305CD33.7010606@familiehaase.de> Message-ID: X-Sign-LQC: HerbM AT learnquick DOT com/2005-08-19 09:36:42/=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.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/