when build sci-electronics/ktechlab package, it fail at ld stage, which indicate libgpsimcli.so does't provide exit_gpsim function. it is gpsim-0.23.0's fault which generate /usr/lib/libgpsimcli.so library without exit_gpsim function. Reproducible: Always Steps to Reproduce: 1. emerge gpsim 2. emerge ktechlab 3. /bin/sh ../libtool --silent --mode=link --tag=CXX i686-pc-linux-gnu-g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=pentium4 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -fexceptions -Wl,-O1 -o ktechlab -module -L/usr/kde/3.5/lib -L/usr/qt/3/lib -L/usr/lib -R /usr/kde/3.5/lib -R /usr/kde/3.5/lib -R /usr/qt/3/lib -R /usr/lib ktechlab.o node.o connector.o itemlibrary.o libraryitem.o projectmanager.o picitem.o variant.o canvasitemparts.o flowcontainer.o microsettings.o fpnode.o cells.o asmformatter.o conrouter.o nodegroup.o canvasmanipulator.o iteminterface.o itemgroup.o ciwidgetmgr.o filemetainfo.o resizeoverlay.o document.o view.o docmanager.o cnitem.o item.o cnitemgroup.o itemview.o itemdocument.o textview.o textdocument.o circuitdocument.o flowcodedocument.o icnview.o icndocument.o viewcontainer.o circuitview.o flowcodeview.o eventinfo.o oscilloscopedata.o itemdocumentdata.o docmanageriface.o documentiface.o viewiface.o simulator.o katemdi.o debugmanager.o recentfilesaction.o variablelabel.o docmanageriface_skel.o viewiface_skel.o documentiface_skel.o oscilloscopedata.moc.o microsettings.moc.o ../src/gui/libgui.la ../src/micro/libmicro.la ../src/flowparts/libflowparts.la ../src/mechanics/libmechanics.la ../src/electronics/libelectronics.la ../src/electronics/simulation/libelements.la ../src/electronics/components/libcomponents.la ../src/languages/liblanguages.la ../src/drawparts/libdrawparts.la ../src/core/libcore.la -lkutils -lreadline -lgpsim -lgpsim_eXdbm -lgpsimcli -lktexteditor -lkio -lkdeprint /usr/lib/libgpsimcli.so: undefined reference to `exit_gpsim(int)' collect2: ld returned 1 exit status make[3]: *** [ktechlab] Error 1 make[3]: Leaving directory `/var/build/portage/sci-electronics/ktechlab-0.3.6/work/ktechlab-0.3/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/build/portage/sci-electronics/ktechlab-0.3.6/work/ktechlab-0.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/build/portage/sci-electronics/ktechlab-0.3.6/work/ktechlab-0.3' make: *** [all] Error 2 * * ERROR: sci-electronics/ktechlab-0.3.6 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 4299: Called kde_src_compile * environment, line 3094: Called kde_src_compile 'all' * environment, line 3109: Called kde_src_compile 'make' * environment, line 3101: Called die * The specific snippet of code: * emake || die "died running emake, $FUNCNAME:make" * The die message: * died running emake, kde_src_compile:make * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/sci-electronics:ktechlab-0.3.6:20090711-125124.log'. * The ebuild environment file is located at '/var/build/portage/sci-electronics/ktechlab-0.3.6/temp/environment'. * should compile sci-electronics/ktechlab successfully
Created attachment 197541 [details, diff] patch of gpsim
Created attachment 197543 [details, diff] patch of ebuild
You wrote this patch yourself? I'm only wondering if it's a prob with klabtech or gpsim, maybe the function was renamed or removed in purpose? I'd ask & check upstream.
Still not convinced it's gpsim that needs patching. Fedora is using ktechlab 0.3.7; http://cvs.fedoraproject.org/viewvc/rpms/ktechlab/devel/ktechlab-detect_gpsim.patch?revision=1.1&view=markup
Even if it is not compatible with gpsim-0.23.0 this is not correct ebuild code: RDEPEND=">=dev-embedded/gpsim-0.21.11 <dev-embedded/gpsim-0.23.0" portage will scream as two different versions of gpsim are pulled into the same slot. !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-embedded/gpsim:0 ('ebuild', '/', 'dev-embedded/gpsim-0.22.0', 'merge') pulled in by <dev-embedded/gpsim-0.23.0 required by ('installed', '/', 'sci-electronics/ktechlab-0.3.6', 'nomerge') (and 1 more) ('ebuild', '/', 'dev-embedded/gpsim-0.23.0', 'merge') pulled in by >=dev-embedded/gpsim-0.21.11 required by ('installed', '/', 'sci-electronics/ktechlab-0.3.6', 'nomerge') This is because the two atoms are not intersected, but tried to satisfy individually. Maybe change you should change the "<dev-embedded/gpsim-0.23.0" into "!>=dev-embedded/gpsim-0.23.0".
yes, I wrote this, just spend a few time hunting down this problem ;-) em, a little confused?! the err log is actually point to ktechlab, but I'm reporting a bug to gpsim. I can't find previous ktechlab ebuild, long time ago. but I remembered quite clearly that ktechlab call the function "exit_gpsim", and package gpsim doesn't publish it. you can "objdump -t /usr/lib/libgpsimcli.so | grep exit_gpsim", if I'm correct you won't find exit_gpsim. my fix is move exit_gpsim to it's library, so it will publish via /usr/lib/libgpsimcli.so, then ktechlab can access it. I believe the URL you gave just introduce the bug, hence need my patch, otherwise wont bother.. (In reply to comment #4) > Still not convinced it's gpsim that needs patching. > > Fedora is using ktechlab 0.3.7; > http://cvs.fedoraproject.org/viewvc/rpms/ktechlab/devel/ktechlab-detect_gpsim.patch?revision=1.1&view=markup >
It's rude to just mask out gpsim-0.23.0, with my patch, should work fine with ktechlab. btw, gpsim-0.24.0 is out, bump it? and, open another bug? (In reply to comment #5) > Even if it is not compatible with gpsim-0.23.0 this is not correct ebuild code: > RDEPEND=">=dev-embedded/gpsim-0.21.11 > <dev-embedded/gpsim-0.23.0" > > portage will scream as two different versions of gpsim are pulled into the same > slot. > !!! Multiple package instances within a single package slot have been pulled > !!! into the dependency graph, resulting in a slot conflict: > > dev-embedded/gpsim:0 > > ('ebuild', '/', 'dev-embedded/gpsim-0.22.0', 'merge') pulled in by > <dev-embedded/gpsim-0.23.0 required by ('installed', '/', > 'sci-electronics/ktechlab-0.3.6', 'nomerge') > (and 1 more) > > ('ebuild', '/', 'dev-embedded/gpsim-0.23.0', 'merge') pulled in by > >=dev-embedded/gpsim-0.21.11 required by ('installed', '/', > 'sci-electronics/ktechlab-0.3.6', 'nomerge') > > This is because the two atoms are not intersected, but tried to satisfy > individually. > Maybe change you should change the "<dev-embedded/gpsim-0.23.0" into > "!>=dev-embedded/gpsim-0.23.0". >
I've made a test. simply bump gpsim to version 0.24.0 also solve the problem. That mean gpsim-0.24.0 works fine with ktechlab-0.3.6 cheers ;-) (In reply to comment #4) > Still not convinced it's gpsim that needs patching. > > Fedora is using ktechlab 0.3.7; > http://cvs.fedoraproject.org/viewvc/rpms/ktechlab/devel/ktechlab-detect_gpsim.patch?revision=1.1&view=markup >
(In reply to comment #8) > I've made a test. > > simply bump gpsim to version 0.24.0 also solve the problem. > That mean gpsim-0.24.0 works fine with ktechlab-0.3.6 > cheers ;-) > > (In reply to comment #4) > > Still not convinced it's gpsim that needs patching. > > > > Fedora is using ktechlab 0.3.7; > > http://cvs.fedoraproject.org/viewvc/rpms/ktechlab/devel/ktechlab-detect_gpsim.patch?revision=1.1&view=markup > > > ktechlab-0.3.6 did not build for me for the same reason with gpsim-0.24.0 Dennis' patch fixed the problem
sci-electronics/ktechlab removal, see bug #293089 for reference