Hi, I find a new version of StarDict 3.0.0 released on 2007-08-12 jjmmma Reproducible: Always
Created attachment 127927 [details] ebuild for Stardict 3.0.0
Portage 2.1.3.5 (default-linux/x86/2007.0, gcc-4.2.0, glibc-2.6.1-r0, 2.6.21-gentoo i686) ================================================================= System uname: 2.6.21-gentoo i686 Intel(R) Pentium(R) D CPU 3.00GHz Gentoo Base System release 1.12.10 Timestamp of tree: Mon, 13 Aug 2007 06:00:01 +0000 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17-r1 sys-devel/gcc-config: 1.3.16 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LC_ALL="en_US.UTF-8" LINGUAS="zh_CN en ko" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/gentoo-china /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl aiglx alsa berkdb bitmap-fonts cdr cjk cli cracklib crypt dri esd fortran gdbm gnome gpm gtk gtk2 iconv isdnlog jpeg midi mmx mudflap ncurses nls nptl nptlonly openmp oss pam pcre perl pppd python readline reflection session spl sse sse2 ssl tcpd truetype-fonts type1-fonts unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" CAMERAS="samsung" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="zh_CN en ko" USERLAND="GNU" VIDEO_CARDS="i810" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 127952 [details] stardict-3.0.0.ebuild I have added several use flags to this ebuild and several missing dependencies. Previous ebuild didn't make it through configure stage at my machine. My configures ok, but compilation fails with: prefsdlg.cpp: In member function ‘void PrefsDlg::setup_dictionary_sound_page()’: prefsdlg.cpp:738: error: ‘label’ was not declared in this scope prefsdlg.cpp:751: error: redeclaration of ‘GtkWidget* label’ prefsdlg.cpp:738: error: ‘<typeprefixerror>label’ previously declared here
Created attachment 128052 [details] a working stardict-3.0.0 ebuild with patches
Created attachment 128054 [details, diff] stardict 3.0.0 patch 1
Created attachment 128056 [details, diff] stardict 3.0.0 patch 2
Created attachment 128058 [details, diff] stardict 3.0.0 patch 3
Created attachment 128070 [details, diff] patch to use.local.desc
The ebuild I've uploaded is already in gentoo-china overlay. You can try it, just run the following: layman -a gentoo-china emerge -av stardict
(In reply to comment #9) > The ebuild I've uploaded is already in gentoo-china overlay. > You can try it, just run the following: > layman -a gentoo-china > emerge -av stardict > Just tried it, but without success. Here's the error: ----------------------------------------------------------------------- * Failed Running autoconf ! * * Include in your bugreport the contents of: * * /var/tmp/portage/app-dicts/stardict-3.0.0/temp/autoconf-5439.out !!! ERROR: app-dicts/stardict-3.0.0 failed. Call stack: ebuild.sh, line 1632: Called dyn_unpack ebuild.sh, line 763: Called qa_call 'src_unpack' ebuild.sh, line 44: Called src_unpack stardict-3.0.0.ebuild, line 45: Called eautoreconf autotools.eclass, line 95: Called eautoconf autotools.eclass, line 165: Called autotools_run_tool 'autoconf' autotools.eclass, line 218: Called die !!! Failed Running autoconf ! !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/app-dicts/stardict-3.0.0/temp/build.log'. !!! This ebuild is from an overlay: '/usr/portage/local/layman/gentoo-china' ----------------------------------------------------------------------- and here's the contents of /var/tmp/portage/app-dicts/stardict-3.0.0/temp/autoconf-5439.out : ----------------------------------------------------------------------- ***** autoconf ***** configure.in:217: error: possibly undefined macro: AM_GCONF_SOURCE_2 If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. ----------------------------------------------------------------------- Tell me if you need any other information about my setup (emerge --info, list of packages, etc.)
(In reply to comment #10) > Tell me if you need any other information about my setup (emerge --info, list > of packages, etc.) emerge --info, please
(In reply to comment #10) > configure.in:217: error: possibly undefined macro: AM_GCONF_SOURCE_2 > If this token and others are legitimate, please use m4_pattern_allow. > See the Autoconf documentation. > I found the cause. It is because you don't have gconf, and thus don't have gconf-2.m4. And you have disabled gnome support. But aclocal required gconf-2.m4 to produce a correct aclocal.m4 to be used by autoconf. The solution is to place a gconf-2.m4 under m4 dir. A patch and new ebuild is coming.
Created attachment 128247 [details] really working stardict-3.0.0.ebuild
Created attachment 128250 [details, diff] stardict 3.0.0 patch 4
I build it failed. my buildlog below: x86_64-pc-linux-gnu-g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtbeginS.o .libs/stardict_festival.o -L/usr/lib64 /usr/lib64/libSM.so /usr/lib64/libICE.so -lFestival -lestools -lestbase -leststring /usr/lib64/libX11.so -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../lib64/crtn.o -Wl,--version-script=stardict_festival.v -Wl,-soname -Wl,stardict_festival.so -o .libs/stardict_festival.so /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libFestival.a(festival.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib64/libFestival.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[3]: *** [stardict_festival.la] Error 1 make[3]: Leaving directory `/var/tmp/portage/app-dicts/stardict-3.0.0/work/stardict-3.0.0/stardict-plugins/stardict-festival-tts-plugin' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/app-dicts/stardict-3.0.0/work/stardict-3.0.0/stardict-plugins' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-dicts/stardict-3.0.0/work/stardict-3.0.0' make: *** [all] Error 2 !!! ERROR: app-dicts/stardict-3.0.0 failed. Call stack: ebuild.sh, line 1632: Called dyn_compile ebuild.sh, line 983: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile stardict-3.0.0.ebuild, line 55: Called gnome2_src_compile gnome2.eclass, line 71: Called die !!! compile failure !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/app-dicts/stardict-3.0.0/temp/build.log'.
I replaced the festival in the gentoo-china overlay with the newly added festival-1.96_beta. Then the emerge of stardict success. But when I run it. It display: Gucharmap插件加载成功。 更新信息插件加载成功。 HTML数据解析插件加载成功。 Then crashed.
BTW, festival bug was reported upstream: https://sourceforge.net/tracker/?func=detail&atid=560632&aid=1805411&group_id=80679
StarDict 3.0.1 Released http://stardict.sourceforge.net/ChangeLog http://sourceforge.net/project/showfiles.php?group_id=80679&package_id=82452
(In reply to comment #18) > StarDict 3.0.1 Released > http://stardict.sourceforge.net/ChangeLog > http://sourceforge.net/project/showfiles.php?group_id=80679&package_id=82452 > gentoo-china overlay has it now. some more info here: http://r0bertz.blogspot.com/2007/11/myths-about-stardict-301s-text-to.html
Thank you Zhang for new ebuild and investigation of problems. Just a few notes... Please quote ${S} and ${FILESDIR}. Recent repoman should warn you about that. Also there is trailing space. Also it's worth to add elog with information about changes in plugins. Something like: 'Note: plugins are not built any more. For additional information, please, see: http://r0bertz.blogspot.com/2007/11/myths-about-stardict-301s-text-to.html If you wish to enable speak engine, please, enable 'Use TTS program.' at Preferences -> Sound and fill in Commandline with "echo %s | festival --tts" or "espeak %s" depending on engine you wish. You can do the same from command line, e.g. for festival run: gconftool-2 --type string --set /apps/stardict/preferences/dictionary/tts_program_cmdline "echo %s | festival --tts" gconftool-2 --type boolean --set /apps/stardict/preferences/dictionary/use_tts_program 1 ' BTW, how do you enable/disable plugin at run time? I wanted to reproduce you crash but failed to find out how... In any case IMO it's worth to report crash upstream. And last note. I do not think that plugins are dispensable. Do not have real numbers but I'm sure that they should work with less delay (they are already loaded and at least time to link external program is avoided). On my system I very often run cpu consuming programs and large delay to pronounce words could become very large on busy system. Another argument is that this is upstream desision to provide both mechanisms: plugins and external program and in gentoo we ordinary follow upstream desisions. That said, I think in this version of stardict it's better to keep things as they are in your ebuild until bug is fixed: https://sourceforge.net/tracker/index.php?func=detail&aid=1830330&group_id=80679&atid=560632 But may be next version could have plugins enabled again. Thank you again for your work.
(In reply to comment #20) > Thank you Zhang for new ebuild and investigation of problems. Just a few > notes... > > Please quote ${S} and ${FILESDIR}. Recent repoman should warn you about that. > Also there is trailing space. > > Also it's worth to add elog with information about changes in plugins. > Something like: > > 'Note: plugins are not built any more. For additional information, please, see: > http://r0bertz.blogspot.com/2007/11/myths-about-stardict-301s-text-to.html > If you wish to enable speak engine, please, enable 'Use TTS program.' at > Preferences -> Sound and fill in Commandline with "echo %s | festival --tts" > or "espeak %s" depending on engine you wish. You can do the same from command > line, e.g. for festival run: > gconftool-2 --type string --set > /apps/stardict/preferences/dictionary/tts_program_cmdline "echo %s | festival > --tts" > gconftool-2 --type boolean --set > /apps/stardict/preferences/dictionary/use_tts_program 1 > ' Thank you for your comments! > BTW, how do you enable/disable plugin at run time? I wanted to reproduce you > crash but failed to find out how... In any case IMO it's worth to report crash > upstream. Click the button in the right upper corner, choose "manage plugins", check/uncheck those checkboxes to enable/disable plugins. > And last note. I do not think that plugins are dispensable. Do not have real > numbers but I'm sure that they should work with less delay (they are already > loaded and at least time to link external program is avoided). That seems appealing to me. We can add it back when it is fixed.
there is no amd64 support in gentoo-china overlay
I'm sorry, can anyone make it clear, what exactly is the problem with stardict-3? The bug was posted half a year ago and there are still no ebuilds in portage. I'm not complaining, really. If any testing is needed, I can try to help.
I get: /usr/include/festival/festival.h:47:17: error: EST.h: No such file or directory (and some others) if I try to compile stardict 3.0.1 (renamed the ebuild) with festival flag enabled. The files are in /usr/share/speech-tools/include/, but I have not yet understood how to add --icludedir=/usr/share/speech-tools/include/ to ebuild.
(In reply to comment #24) > I get: > /usr/include/festival/festival.h:47:17: error: EST.h: No such file or directory > (and some others) if I try to compile stardict 3.0.1 (renamed the ebuild) with > festival flag enabled. The files are in /usr/share/speech-tools/include/, but I > have not yet understood how to add --icludedir=/usr/share/speech-tools/include/ > to ebuild. Try to add gentoo-china overlay to layman and install stardict from there. For me it works also with festival flag enabled. My only problem is that it doesn't work for me with festival but this can just be problem with my local festival configuration. But with espeak it works without any problems. If you don't want to keep gentoo-china overlay you can just copy the stardict directory to your local overlay and remove gentoo-china overlay again. Btw., it would be great if the ebuild from gentoo-china overlay could be attached to this bug report and added to the official portage tree.
Finally stardict-3.0.1 is in the tree. Thank you all for all the work/tests/suggestions! Zhen, I still hope that you'll finish ebuild quiz and help with this package ;) Until that I've added myself as maintainer.
Thanks! ;)