emerging quirc fails with ... >>> emerge net-irc/quirc-0.9.82 to / >>> md5 ;-) quirc-0.9.82.tar.gz Calculating dependencies .\>>> Unpacking source... >>> Unpacking quirc-0.9.82.tar.gz >>> Source unpacked. creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking whether the C compiler (gcc -march=athlon-tbird -O3 -pipe ) works... ye checking whether the C compiler (gcc -march=athlon-tbird -O3 -pipe ) is a cross- checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for c++... c++ checking whether the C++ compiler (c++ -march=athlon-tbird -O3 -pipe ) works... checking whether the C++ compiler (c++ -march=athlon-tbird -O3 -pipe ) is a cros checking whether we are using GNU C++... yes checking whether c++ accepts -g... yes checking for c++... c++ checking whether the C++ compiler (c++ -march=athlon-tbird -O3 -pipe ) works... checking whether the C++ compiler (c++ -march=athlon-tbird -O3 -pipe ) is a cros checking whether we are using GNU C++... yes checking whether c++ accepts -g... yes checking for a BSD compatible install... /bin/install -c checking how to run the C preprocessor... gcc -E checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include checking for dnet_ntoa in -ldnet... no checking for dnet_ntoa in -ldnet_stub... no checking for gethostbyname... yes checking for connect... yes checking for remove... yes checking for shmat... yes checking for IceConnectionNumber in -lICE... yes checking for connect in -lsocket... no checking for gethostbyname in -lnsl... yes checking for dlopen in -ldl... yes checking for sqrt in -lm... yes checking for XOpenDisplay in -lX11... yes checking for res_init in -lresolv... no checking if compiles without using std::string... no checking for wish8.3... /usr/bin/wish8.3 checking for tcl8.3/tcl.h... no checking for tcl8.2/tcl.h... no checking for tcl8.1/tcl.h... no checking for tcl8.0/tcl.h... no checking for tcl.h... no .. ...done! configure: error: Could not find Tcl include file. !!! ERROR: The ebuild did not complete successfully. !!! Function econf, Line 9, Exitcode 1 !!! econf failed It also has another problem in that it was failing due to lacking #include <IOSTREAM> lines in both its tcl.cc and servertcl.cc src files. I was able to get it to compile correctly by adding the #include lines a couple of weeks ago and was going to sublint a bug report on that but now it fails for not finding tcl.h. FWIW doing ./configure from original source for quirc fails at the same point. Also the program still emerges perfectly when done from my gentoo1.2 install.
can you check the config.log file ? it probably errors for some other reason (maybe undefined reference because it didnt link against enough libraries) better yet, could you post the config.log file ?
I just got it sorted out. To fix it you need to rerun autoconf against configure.in. then add a #include <iostream> line to both tcl.cc and servertcl.cc Im willing to submit a new ebuild in total noob fashion if it will help
what would be better is if you would submit to the upstream provider of quirc
quirc-0.9.83 has been added to portage. I modified some of the source code to compile properly. I also added CXX="g++" to the ebuild which seemed to fix the tcl/tk detection problem. Please test this new ebuild and let me know how things go.
The Ebuild still fails on detecting tcl.h and tk.h. I modified the diff and the ebuild for quirc-0.9.83 and got it working. I will attach the 2 files below.
Created attachment 4903 [details] Modified quirc-0.9.83-p1.ebuild.
Created attachment 4904 [details, diff] Modified diff for quirc-0.9.83.
The modified diff just comments out one line in configure.in and the modified ebuild reruns autoconf after the src gets patched. This emerges fine for me.
I have added -r1 to portage. No longer marked unstable. I updated the patch to include your change and a couple other little picky changes... Please let me know if everything works for you properly.
I just tried the -r1 ebuild and the ./configure still failed to find tcl. I ran autoconf from /var/tmp/portage/quirc-0.9.83-r1/work/quirc-0.9.83 and then ran make on that and the configure worked and running make succeeded. make install at that point of course installs it all to /usr/local, not where it ought to. Is there a reason to not run autoconf from the ebuild?
Also heres something else weird. Both exe's work fine but what happened? # ls -al /usr/bin/quirc -rwxr-xr-x 1 root root 434568 Oct 27 18:23 /usr/bin/quirc # ls -al /usr/local/bin/quirc -rwxr-xr-x 1 root root 2185166 Nov 6 08:07 /usr/local/bin/quirc file grew by almost 5x.
ns1 quirc # emerge quirc Calculating dependencies ...done! >>> emerge (1 of 1) net-irc/quirc-0.9.83-r1 to / >>> md5 ;-) quirc-0.9.83.tar.gz >>> Unpacking source... >>> Unpacking quirc-0.9.83.tar.gz patching file configure.in patching file server.cc patching file servertcl.cc patching file tcl.cc >>> Source unpacked. from configure output... checking for wish8.3... /usr/bin/wish8.3 ... checking for tcl.h... yes ... checking for tk.h... yes checking for Tcl_Init in -ltcl8.3... yes checking for Tk_MainLoop in -ltk8.3... yes So far so good... >>> Regenerating /etc/ld.so.cache... >>> net-irc/quirc-0.9.83-r1 merged. >>> Recording net-irc/quirc in "world" favorites file... * GNU info directory index is up-to-date. * IMPORTANT: 71 config files in /etc need updating. * Type emerge --help config to learn how to update config files. ns1 quirc # Maybe try and re-emerge tcl and tk... then emerge the latest quirc... Let me know how things go.
Created attachment 5699 [details] falied emerge of quirc I re-emerged tcl and tk but it still fails. tcl.h and tk.h are located in /usr/include/.
Do you use any other programs that depend on tcl/tk? I cannot reproduce the problem. Can you send me your config.log file? It can be found in /var/tmp/portage/quirc-0.9.83-r1/work/quirc-0.9.83/config.log
Nick I'd post the config.log except for one little drawback. The ebuild works now ;) the only thing that changed between now and the last time i tried (about 3 days ago ) is that I updated to GCC 3.2.1 right before I emerged quirc this time. I did have GCC 3.2-r4 installed prior to this. But what the heck it works now! Thanks for the effort though.
vapier, you're cc'd on this bug... do you have any problems emerging quirc?
works over here dad
quirc won't compile with tcl/tk 8.4, even after some futzing about with the configure.in. The start of the failure: make[2]: Entering directory `/var/tmp/portage/quirc-0.9.83-r1/work/quirc-0.9.83' g++ -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c quirc.cc quirc.cc:75:29: warning: pasting "TT_Proc_version" and "," does not give a valid preprocessing token quirc.cc: In function `int main(int, char**)': quirc.cc:75: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**)' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:107:32: warning: pasting "TT_Proc_n_complete" and "," does not give a valid preprocessing token quirc.cc:107: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:108:33: warning: pasting "TT_Proc_complete" and "," does not give a valid preprocessing token quirc.cc:109:36: warning: pasting "TT_Proc_expandmatch" and "," does not give a valid preprocessing token quirc.cc:110:34: warning: pasting "TT_Proc_getpwents" and "," does not give a valid preprocessing token quirc.cc:113:34: warning: pasting "TT_Proc_activebutton" and "," does not give a valid preprocessing token quirc.cc:113: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:114:29: warning: pasting "TT_Proc_bgerror" and "," does not give a valid preprocessing token quirc.cc:114: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:115:30: warning: pasting "TT_Proc_callproc" and "," does not give a valid preprocessing token quirc.cc:115: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:116:29: warning: pasting "TT_Proc_channel" and "," does not give a valid preprocessing token quirc.cc:116: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:117:32: warning: pasting "TT_Proc_configtags" and "," does not give a valid preprocessing token quirc.cc:117: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:118:29: warning: pasting "TT_Proc_connect" and "," does not give a valid preprocessing token quirc.cc:118: invalid conversion from `int (*)(void*, Tcl_Interp*, int, char**) ' to `int (*)(void*, Tcl_Interp*, int, const char**)' quirc.cc:119:33: warning: pasting "TT_Proc_closewindow" and "," does not give a valid preprocessing token