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

Reply via email to