Bug 188684 - app-dicts/stardict-3.0.1 version bump
Bug#: 188684 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: enhancement Priority: P2
Resolution: FIXED Assigned To: cjk@gentoo.org Reported By: jjmmma@gmail.com
Component: Ebuilds
URL: 
Summary: app-dicts/stardict-3.0.1 version bump
Keywords:  
Status Whiteboard: 
Opened: 2007-08-13 07:13 0000
Description:   Opened: 2007-08-13 07:13 0000
Hi, 
I find a new version of StarDict  3.0.0 released on 2007-08-12

jjmmma

Reproducible: Always

------- Comment #1 From jjmmma 2007-08-13 07:15:18 0000 -------
Created an attachment (id=127927) [details]
ebuild for Stardict 3.0.0

------- Comment #2 From jjmmma 2007-08-13 07:15:38 0000 -------
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

------- Comment #3 From Pavel Procopiuk 2007-08-13 15:02:20 0000 -------
Created an attachment (id=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

------- Comment #4 From Zhang Le 2007-08-14 12:54:53 0000 -------
Created an attachment (id=128052) [details]
a working stardict-3.0.0 ebuild with patches

------- Comment #5 From Zhang Le 2007-08-14 12:55:42 0000 -------
Created an attachment (id=128054) [details]
stardict 3.0.0 patch 1

------- Comment #6 From Zhang Le 2007-08-14 12:57:17 0000 -------
Created an attachment (id=128056) [details]
stardict 3.0.0 patch 2

------- Comment #7 From Zhang Le 2007-08-14 12:58:10 0000 -------
Created an attachment (id=128058) [details]
stardict 3.0.0 patch 3

------- Comment #8 From Zhang Le 2007-08-14 13:47:25 0000 -------
Created an attachment (id=128070) [details]
patch to use.local.desc

------- Comment #9 From Zhang Le 2007-08-14 14:02:08 0000 -------
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

------- Comment #10 From Dmitry 'MAD' Artamonow 2007-08-15 07:16:11 0000 -------
(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.)

------- Comment #11 From Zhang Le 2007-08-15 12:23:24 0000 -------
(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

------- Comment #12 From Zhang Le 2007-08-16 09:53:06 0000 -------
(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.

------- Comment #13 From Zhang Le 2007-08-16 10:02:08 0000 -------
Created an attachment (id=128247) [details]
really working stardict-3.0.0.ebuild

------- Comment #14 From Zhang Le 2007-08-16 10:03:08 0000 -------
Created an attachment (id=128250) [details]
stardict 3.0.0 patch 4

------- Comment #15 From gorf 2007-08-20 16:22:49 0000 -------
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'.

------- Comment #16 From gorf 2007-08-30 22:57:26 0000 -------
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.

------- Comment #17 From Peter Volkov 2007-11-01 12:42:01 0000 -------
BTW, festival bug was reported upstream:
https://sourceforge.net/tracker/?func=detail&atid=560632&aid=1805411&group_id=80679

------- Comment #18 From Maxim Britov 2007-11-08 08:28:00 0000 -------
StarDict 3.0.1 Released
http://stardict.sourceforge.net/ChangeLog
http://sourceforge.net/project/showfiles.php?group_id=80679&package_id=82452

------- Comment #19 From Zhang Le 2007-11-11 17:38:48 0000 -------
(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

------- Comment #20 From Peter Volkov 2007-11-12 10:22:22 0000 -------
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.

------- Comment #21 From Zhang Le 2007-11-12 16:00:53 0000 -------
(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.

------- Comment #22 From Makurin Roman 2007-12-21 21:34:50 0000 -------
there is no amd64 support in gentoo-china overlay 

------- Comment #23 From Andrey Melentyev 2008-02-11 20:44:05 0000 -------
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.

------- Comment #24 From Erik Boritsch 2008-02-14 13:14:23 0000 -------
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.

------- Comment #25 From Heiko Baums 2008-02-14 18:13:54 0000 -------
(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.

------- Comment #26 From Peter Volkov 2008-02-25 14:49:16 0000 -------
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.

------- Comment #27 From Zhang Le 2008-03-01 13:59:35 0000 -------
Thanks! ;)