gcc -o oxdvi.bin xdvi.o dvi-draw.o dvi-init.o events.o font-open.o string-utils.o my-vsnprintf.o my-snprintf.o help-window.o message-window.o statusline.o xserver-info.o gf.o pk.o psdps.o psgs.o psheader.o psnews.o special.o util.o vf.o sfDir.o sfDraw.o sfPath.o sfSelFile.o hypertex.o mime.o wwwfetch.o alloca.o dvips.o tfmload.o -L/usr/lib -lwwwxml -lxmltok -lxmlparse -lwwwzip -lwwwsql -lwwwinit -lwwwapp -lwwwhtml -lwwwtelnet -lwwwnews -lwwwhttp -lwwwmime -lwwwgopher -lwwwftp -lwwwfile -lwwwdir -lwwwcache -lwwwstream -lwwwmux -lwwwtrans -lwwwcore -lwwwutils -lmd5 -ldl -lz -L/usr/lib/mysql -lmysqlclient -L/usr/lib -lssl -lcrypto ../../libs/t1lib/libt1.a ../../libs/t1lib/../type1/libtype1.a -L/usr/X11R6/lib -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 ../kpathsea/STATIC/libkpathsea.a -lm /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../../../i686-pc-linux-gnu/bin/ld: warning: libmysqlclient.so.10, needed by /usr/lib/libwwwxml.so, not found (try using -rpath or -rpath-link) /usr/lib/libwwwsql.so: undefined reference to `mysql_connect' /usr/lib/libwwwsql.so: undefined reference to `mysql_create_db' collect2: ld returned 1 exit status make[2]: *** [oxdvi.bin] Error 1 make[2]: Leaving directory `/var/tmp/portage/tetex-2.0/work/tetex-src-2.0/texk/oxdvik' make[1]: *** [all] Error 1 make[1]: Leaving directory `/var/tmp/portage/tetex-2.0/work/tetex-src-2.0/texk' make: *** [all] Error 1 !!! ERROR: app-text/tetex-2.0 failed. !!! Function src_compile, Line 102, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. make sure that USE keyword includes mysql. 2. Emerge libwww 3. Attempt to emerge TeTex 2.0 Actual Results: Get the above compilation failures. Expected Results: It should have installed TeTek 2.0. :)
IF I re emerge libwww with a USE keyword of -mysql and then emerge TeTex again, everything is OK.
Ok, I have a couple questions. In between the time when you first emerged libwww, did you upgrade mysql? What we're seeing here is undefined symbols because a particular library is no longer in existence. I'm in the middle of testing it right now, I was just hopign we could get rid of anything I might have missed first...
Yeah I did. Now that I think about it. I had upgraded from 3.23.5x to 4.0.8. Hmm.. wonder if I reemerged libwww WITH mysql if it would work. I'll go try that and let you know the results of it.
I tried to reemerge netlibs/libwww-5.4.0-r1 with mysql 4.0.8. It failed. I get the following compilation errors: gcc -O2 -march=athlon-xp -pipe -Wall -o .libs/head head.o ../src/.libs/libwwwinit.so -L/usr/lib/mysql -L/usr/lib ../src/.libs/libwwwapp.so ../../Library/src/.libs/libwwwxml.so ../../modules/expat/xmlparse/.libs/libxmlparse.so ../../modules/expat/xmltok/.libs/libxmltok.so ../src/.libs/libwwwhtml.so ../src/.libs/libwwwtelnet.so ../src/.libs/libwwwnews.so ../src/.libs/libwwwhttp.so ../src/.libs/libwwwmime.so ../src/.libs/libwwwgopher.so ../src/.libs/libwwwftp.so ../src/.libs/libwwwdir.so ../src/.libs/libwwwcache.so ../src/.libs/libwwwstream.so ../src/.libs/libwwwfile.so ../src/.libs/libwwwmux.so ../src/.libs/libwwwtrans.so ../src/.libs/libwwwcore.so ../src/.libs/libwwwutils.so ../../Library/src/SSL/.libs/libwwwssl.so ../../Library/src/.libs/libwwwzip.so ../../Library/src/.libs/libwwwsql.so ../../modules/md5/.libs/libmd5.so -ldl /usr/lib/mysql/libmysqlclient.so -lz -lcrypt -lnsl -lm -lssl -lcrypto -Wl,--rpath -Wl,/usr/lib/mysql ../../Library/src/.libs/libwwwsql.so: undefined reference to `mysql_connect' ../../Library/src/.libs/libwwwsql.so: undefined reference to `mysql_create_db' collect2: ld returned 1 exit status make[3]: *** [head] Error 1 make[3]: *** Waiting for unfinished jobs.... gcc -O2 -march=athlon-xp -pipe -Wall -o .libs/libapp_1 libapp_1.o ../src/.libs/libwwwinit.so -L/usr/lib/mysql -L/usr/lib ../src/.libs/libwwwapp.so ../../Library/src/.libs/libwwwxml.so ../../modules/expat/xmlparse/.libs/libxmlparse.so ../../modules/expat/xmltok/.libs/libxmltok.so ../src/.libs/libwwwhtml.so ../src/.libs/libwwwtelnet.so ../src/.libs/libwwwnews.so ../src/.libs/libwwwhttp.so ../src/.libs/libwwwmime.so ../src/.libs/libwwwgopher.so ../src/.libs/libwwwftp.so ../src/.libs/libwwwdir.so ../src/.libs/libwwwcache.so ../src/.libs/libwwwstream.so ../src/.libs/libwwwfile.so ../src/.libs/libwwwmux.so ../src/.libs/libwwwtrans.so ../src/.libs/libwwwcore.so ../src/.libs/libwwwutils.so ../../Library/src/SSL/.libs/libwwwssl.so ../../Library/src/.libs/libwwwzip.so ../../Library/src/.libs/libwwwsql.so ../../modules/md5/.libs/libmd5.so -ldl /usr/lib/mysql/libmysqlclient.so -lz -lcrypt -lnsl -lm -lssl -lcrypto -Wl,--rpath -Wl,/usr/lib/mysql ../../Library/src/.libs/libwwwsql.so: undefined reference to `mysql_connect' ../../Library/src/.libs/libwwwsql.so: undefined reference to `mysql_create_db' collect2: ld returned 1 exit status make[3]: *** [libapp_1] Error 1 make[3]: Leaving directory `/var/tmp/portage/libwww-5.4.0-r1/work/w3c-libwww-5.4.0/Library/Examples' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/libwww-5.4.0-r1/work/w3c-libwww-5.4.0/Library' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/libwww-5.4.0-r1/work/w3c-libwww-5.4.0' make: *** [all-recursive-am] Error 2 !!! ERROR: net-libs/libwww-5.4.0-r1 failed. !!! Function src_compile, Line 46, Exitcode 2 !!! (no error message)
Ok. Looks like libwww hasn't caught up with the API changes in mysql->4.0. So we've got a couple options for now to solve your problem -- you can do what you suggested earlier, which is re-emerge libwww without USE="mysql", or you can keep your existing libwww and merge tetex with USE="-libwww" or you can downgrade mysql. I'm working on a solution so that compiles of libwww will work with mysql 4.0 installed, simply ignoring the mysql use variable. I'll leave this open until that is solved.
Ok, I've spoken with carpaski, and he suggested we wait until the next version of portage, which will include a CDEPEND variable, thus allowing portage to deal wiht the conditional inclusion of mysql. For now, I guess we need to stick with the workaround.
Actually, what I've ended up doing is blocking mysql >= 4. So until CDEPEND is in portage, this is the resolution; when CDEPEND comes out, I will have to reorganize tons of ebuilds, so this will get absorbed into that, instead. Marking as closed.
By the way, (just so that you know), I re-emerged tetex and libwww without mysql. So it's all ok here. :) (Just wanted to inform you what I did.)
i just commited mysql-4.0.11a-r1 with a fix for this problem #bug fix for #15099, should make this api backward compatible, thanks dragon export CFLAGS="${CFLAGS} -DUSE_OLD_FUNCTIONS" thats the fix, can we get someone who had these problems wuth libwww and tetex to give it a shot? thanks
Joshua: That works 8-)!
FYI, unless this has been fixed in CVS, libwww-5.4.0-r1.emerge still has: mysql? ( >=dev-db/mysql-3.23.26 <dev-db/mysql-4 ) so portage still wants to downgrade mysql to satisfy this dependancy (and emerge mysql4 the next time, to upgrade it. Then downgrade again...)
db fix