On Tue, 22 Jan 2013 22:16:09 -0200 Gustavo Sverzut Barbieri <barbi...@profusion.mobi> said:
> On Tue, Jan 22, 2013 at 9:55 PM, Carsten Haitzler <ras...@rasterman.com> > wrote: > > On Tue, 22 Jan 2013 13:58:25 -0800 "Enlightenment SVN" > > <no-re...@enlightenment.org> said: > > > > as of this commit... efl build is broken due to DSO changes. > > > > also.. efl build is currently "broken" anyway - with or without this as it > > prefers to link to installed efl libs rather than the newly compiled ones... > > inside the efl tree... :( so eg - add new func to lib and use it .. and u > > get symbol problems. :( fyi the DSO problems happen all over the place in > > linking stuff (normally i parallel build so i see it in lots of binaries - > > i turned parallel build off for this log): > > doing make -j30 here (icecream buildfarm at company), with ccache I'm > able to build efl in 10 seconds or so :-/ well it's not a make -j parallel problem - i just get DSO link problems on like almost every binary efl is building - the above is just a sample from one. :) i use make -j10 normally... so just fyi - its not just the "eet" binary - it's many others too. :) > > /bin/bash ../libtool --tag=CC --mode=link ccache gcc -std=gnu99 -O2 -g > > -pipe -march=native -fvisibility=hidden -ffast-math -W -Wall -Wextra > > -Wno-shadow -Wno-unused-but-set-parameter -o bin/eet/eet > > bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections > > -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed > > -Wl,--no-copy-dt-needed-entries lib/eet/libeet.la > > > > libtool: link: ccache gcc -std=gnu99 -O2 -g -pipe -march=native > > -fvisibility=hidden -ffast-math -W -Wall -Wextra -Wno-shadow > > -Wno-unused-but-set-parameter -o bin/eet/.libs/eet > > bin/eet/bin_eet_eet-eet_main.o -fvisibility=hidden -fdata-sections > > -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed > > -Wl,--no-copy-dt-needed-entries lib/eet/.libs/libeet.so /usr/bin/ld: > > bin/eet/bin_eet_eet-eet_main.o: undefined reference to symbol > > 'eina_iterator_next' /usr/bin/ld: note: 'eina_iterator_next' is defined in > > DSO /usr/local/lib/libeina.so.1 so try adding it to the linker command > > line /usr/local/lib/libeina.so.1: could not read symbols: Invalid operation > > collect2: ld returned 1 exit status > > > > i have to revert this (plus the follow-on patch to fix cserve2) because this > > basically stops efl being built entirely if your binutils enforce DSO > > linking. > > As said in the previous email (the one that you revert): It would be > nice to force the DSO everywhere, so it will fail in every distro. I > tried that with the -Wl,--no-copy-dt-needed-entries (that would avoid > recursively copying of DT_NEEDED), without success. yeah - agreed. it seems to not be working. i add NO options and i get the DSO stuff. testing, other than making an ubuntu 12.10 chroot and building inside of it, i don't know how you "turn this on everywhere". > > so right now the efl tree has 1 major problem... libs and binaries LINK to > > the installed system ones instead of the compile in efl tree ones... and > > that is going (and already does) cause all manner of pain. it affects > > anyone rebuilding efl who has it already installed as well. doesn't affect > > fresh "efl-free" systems. :\ > > They shouldn't as we always refer to libname.la, and this should > -Llib/name/.libs before -lname. Also when we run the binaries the > libtool should do the right thing and LD_LIBRARY_PATH the directories. but they are not. they SHOULD... but don't. > This libtool and autotools in general is becoming depressing, it can't > get shit right, and particularly can't get shit homogeneously. Our > buildbot (gentoo 64bits) runs the same libtool version as I do (arch > 32bits) yet it will fail when relinking, but just when distcheck, not > the other times. > > Tasn have said about cmake, if he could get it out for a try it would > be nice. I doubt the 'in-tree' problem would be solved, as unlike > libtool it does not LD_LIBRARY_PATH and similar, but if that's the > only problem we can try to overcome this ourselves by using a > launcher-command that will do the right thing. > > Alternatively I'm thinking about getting Kernel's kbuild and modifying > that to produce stuff that we need. We basically have 4 types of > binaries: programs (bin/), libraries (lib/), helpe programs > (lib/name/arch/program) and modules (lib/name/modname/arch/module.so). > Except of dependencies, they are all in the same template, but > automake doesn't know that and we need to replicate everything every > time. If we could do: > > programs += src/bin/efreet/efreetd > helper_programs += src/bin/efreet/efreet_desktop_cache_create > libraries += src/lib/efreet/libefreet.so > > then a simple way to declare their dependencies, it could figure from > path where to install, specify version and other linker stuff that > right now we replicate all over the place :-/ indeed the replication is bad. something is wrong with our template setup though. if i get some time i'll dig into it. > -- > Gustavo Sverzut Barbieri > http://profusion.mobi embedded systems > -------------------------------------- > MSN: barbi...@gmail.com > Skype: gsbarbieri > Mobile: +55 (19) 9225-2202 > > ------------------------------------------------------------------------------ > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > MVPs and experts. ON SALE this month only -- learn more at: > http://p.sf.net/sfu/learnnow-d2d > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel