Opened 12 years ago
Last modified 3 months ago
#38182 new defect
tcLex @1.2a1 build failure: missing header: <tclInt.h>
Reported by: | cooljeanius (Eric Gallager) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | Cc: | ||
Port: | tcLex |
Description
Log is attached. Relevant part of log including error:
DEBUG: Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_tcLex/tcLex/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.7' DEBUG: Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src" && /usr/bin/make -j4 -w all' DEBUG: Executing command line: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src" && /usr/bin/make -j4 -w all make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src' /usr/bin/clang -fno-common -framework Tcl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_tcl/tcl/work/tcl8.6.0/generic -I/opt/local/include -DTCLEX_VERSION=\"1.2\" -c -o tcLex.o tcLex.c /usr/bin/clang -fno-common -framework Tcl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_tcl/tcl/work/tcl8.6.0/generic -I/opt/local/include -DTCLEX_VERSION=\"1.2\" -c -o tcLexRE.o tcLexRE.c (if test -f /opt/local/lib/tcLex1.2/pkgIndex.tcl; \ then grep -v 1.2 /opt/local/lib/tcLex1.2/pkgIndex.tcl; \ else true; fi;) | \ echo 'package ifneeded tcLex 1.2 [list load [file join $dir tcLex.dylib.1.2] tcLex]' > pkgIndex.tcl clang: clang: warning: -framework Tcl: 'linker' input unusedwarning: -framework Tcl: 'linker' input unused tcLexRE.c:6:10: fatal error: 'tclInt.h' file not found tcLex.c:26:10: fatal error: 'tclInt.h' file not found #include <tclInt.h> ^ #include <tclInt.h> ^ 1 error generated. make: *** [tcLexRE.o] Error 1 make: *** Waiting for unfinished jobs.... 1 error generated. make: *** [tcLex.o] Error 1 make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src" && /usr/bin/make -j4 -w all Exit code: 2 Error: org.macports.build for port tcLex returned: command execution failed DEBUG: Error code: CHILDSTATUS 21927 2 DEBUG: Backtrace: command execution failed while executing "system -nice 0 $fullcmdstring" ("eval" body line 1) invoked from within "eval system $notty $nice \$fullcmdstring" invoked from within "command_exec build" (procedure "portbuild::build_main" line 8) invoked from within "$procedure $targetname" Warning: targets not executed for tcLex: org.macports.activate org.macports.build org.macports.destroot org.macports.install
Relevant system info:
gl00b05046:~ root# uname -a Darwin gl00b05046.cats.gwu.edu 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 gl00b05046:~ root# port version Version: 2.1.3 gl00b05046:~ root# port installed tcl The following ports are currently installed: tcl @8.6.0_1+corefoundation+threads+universal (active) gl00b05046:~ root# port contents tcl | grep \\.h /opt/local/include/fakemysql.h /opt/local/include/fakepq.h /opt/local/include/fakesql.h /opt/local/include/itcl.h /opt/local/include/itcl2TclOO.h /opt/local/include/itclDecls.h /opt/local/include/itclInt.h /opt/local/include/itclIntDecls.h /opt/local/include/itclMigrate2TclCore.h /opt/local/include/itclTclIntStubsFcn.h /opt/local/include/mysqlStubs.h /opt/local/include/odbcStubs.h /opt/local/include/pqStubs.h /opt/local/include/tcl.h /opt/local/include/tclDecls.h /opt/local/include/tclOO.h /opt/local/include/tclOODecls.h /opt/local/include/tclPlatDecls.h /opt/local/include/tclThread.h /opt/local/include/tclTomMath.h /opt/local/include/tclTomMathDecls.h /opt/local/include/tdbc.h /opt/local/include/tdbcDecls.h /opt/local/include/tdbcInt.h
tcLex is nomaintainer so anyone can try to fix this...
Attachments (1)
Change History (6)
Changed 12 years ago by cooljeanius (Eric Gallager)
comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Summary: | tcLex @1.2a1 build failure on Lion: missing header: <tclInt.h> → tcLex @1.2a1 build failure: missing header: <tclInt.h> |
---|
The problem is tclInt.h is a private header; projects should not be using it. tcLex 1.2a1 was released a loooong time ago, in 1999, possibly before the header was made private. tcLex needs to be patched to not use tclInt.h. Perhaps such a patch already exists somewhere on the Internet.
comment:2 Changed 12 years ago by cooljeanius (Eric Gallager)
ok, in the process of trying to cook up a patch, I copied tclInt.h from OS X's System Tcl's private-headers folder into the project, changed the <>
quotes to ""
quotes, and copied the rest of the private headers that tclInt.h needs, too, but then I ran into this error:
/usr/bin/clang -fno-common -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_tcl/tcl/work/tcl8.6.0/generic -I/opt/local/include -DTCLEX_VERSION=\"1.2\" -c -o tcLexRE.o tcLexRE.c tcLexRE.c:11:10: fatal error: 'tclRegexp.h' file not found #include <tclRegexp.h> ^ 1 error generated. make: *** [tcLexRE.o] Error 1
I don't see tclRegexp.h among Tcl's private-headers; where might it be?
comment:4 Changed 13 months ago by cooljeanius (Eric Gallager)
I'm keeping my attempts to fix tcLex in the following GitHub repo: https://github.com/cooljeanius/tcLex
(not really sure if it's ready for submission as a Portfile update or not yet, though...)
comment:5 Changed 3 months ago by barracuda156
I am getting:
---> Building tcLex ---> Patching Makefile: s|-fno-common|-fno-common -framework Tcl|g Executing: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src" && /usr/bin/make -j6 -w all make: Entering directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src' /usr/bin/gcc-4.2 -fno-common -framework Tcl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_tcl/tcl/work/tcl8.6.14/generic -I/opt/local/include -DTCLEX_VERSION=\"1.2\" -c -o tcLex.o tcLex.c /usr/bin/gcc-4.2 -fno-common -framework Tcl -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_tcl/tcl/work/tcl8.6.14/generic -I/opt/local/include -DTCLEX_VERSION=\"1.2\" -c -o tcLexRE.o tcLexRE.c (if test -f /opt/local/lib/tcLex1.2/pkgIndex.tcl; \ then grep -v 1.2 /opt/local/lib/tcLex1.2/pkgIndex.tcl; \ else true; fi;) | \ echo 'package ifneeded tcLex 1.2 [list load [file join $dir tcLex.dylib.1.2] tcLex]' > pkgIndex.tcl tcLexRE.c:7:23: error: tclRegexp.h: No such file or directory In file included from tcLexRE.c:19: RE82.c: In function ‘getRegexp’: RE82.c:18: error: ‘TclRegexp’ undeclared (first use in this function) RE82.c:18: error: (Each undeclared identifier is reported only once RE82.c:18: error: for each function it appears in.) RE82.c:18: error: ‘regexpPtr’ undeclared (first use in this function) RE82.c:18: error: expected expression before ‘)’ token RE82.c:19: error: ‘REG_ADVANCED’ undeclared (first use in this function) RE82.c:19: error: ‘REG_BOSONLY’ undeclared (first use in this function) RE82.c:19: error: ‘REG_EXPECT’ undeclared (first use in this function) RE82.c:20: error: ‘REG_NEWLINE’ undeclared (first use in this function) RE82.c:21: error: ‘REG_ICASE’ undeclared (first use in this function) RE82.c:47: warning: assignment discards qualifiers from pointer target type RE82.c: In function ‘RuleExec’: RE82.c:71: error: ‘TclRegexp’ undeclared (first use in this function) RE82.c:71: error: ‘regexpPtr’ undeclared (first use in this function) RE82.c:71: error: expected expression before ‘)’ token RE82.c:79: error: ‘REG_NLANCH’ undeclared (first use in this function) RE82.c:81: error: ‘REG_NOTBOL’ undeclared (first use in this function) RE82.c: In function ‘RuleGetRange’: RE82.c:129: error: ‘TclRegexp’ undeclared (first use in this function) RE82.c:129: error: ‘regexpPtr’ undeclared (first use in this function) RE82.c:129: error: expected expression before ‘)’ token make: *** [tcLexRE.o] Error 1 make: *** Waiting for unfinished jobs.... tcLex.c: In function ‘LexerNew’: tcLex.c:735: warning: initialization discards qualifiers from pointer target type tcLex.c: In function ‘LexerCreateObjCmd’: tcLex.c:1276: warning: passing argument 7 of ‘Tcl_GetIndexFromObjStruct’ from incompatible pointer type tcLex.c: In function ‘LexerMainObjCmd’: tcLex.c:1474: warning: passing argument 7 of ‘Tcl_GetIndexFromObjStruct’ from incompatible pointer type tcLex.c: In function ‘LexerEvalObjCmd’: tcLex.c:2111: warning: assignment from incompatible pointer type tcLex.c:2297: warning: assignment from incompatible pointer type tcLex.c: In function ‘LexerConditionsObjCmd’: tcLex.c:2567: warning: passing argument 7 of ‘Tcl_GetIndexFromObjStruct’ from incompatible pointer type tcLex.c: In function ‘LexerObjCmd’: tcLex.c:2940: warning: passing argument 7 of ‘Tcl_GetIndexFromObjStruct’ from incompatible pointer type powerpc-apple-darwin10-gcc-4.2.1: -framework: linker input file unused because linking not done powerpc-apple-darwin10-gcc-4.2.1: Tcl: linker input file unused because linking not done make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_tcLex/tcLex/work/tcLex1.2a1/src" && /usr/bin/make -j6 -w all Exit code: 2 Error: Failed to build tcLex: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_textproc_tcLex/tcLex/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port tcLex failed
tcLex's main.log