Hmmm ... actually it seems as if -ldl is present in
third_party/libxml/libxml.gyp ... so take a look if it's there for you
and run gclient sync if it isn't. Try running gclient runhooks --force
if none of the other things work. Perhaps your scons files have not
been updated properly.

--Craig

On Fri, Apr 24, 2009 at 3:05 PM, Craig Schlenter
<[email protected]> wrote:
> Hi
>
> At some point I had used -ldl in the xml gyp file but then I dropped
> that when I purely
> targeted chrome and not any of the other targets ... in fact I haven't
> even tried building
> the other targets for a while so it's quite possible that they won't
> build as shared targets.
>
> Try
> hammer app
> and see if that works or add '-ldl' after '-lm' in libxml.gyp near the
> xmlcatalog stuff.
>
> Thanks!
>
> --Craig
>
> On Fri, Apr 24, 2009 at 2:26 PM, Dean McNamee <[email protected]> wrote:
>>
>> The obvious fix would be to add -ldl, but I don't see why libxml
>> should be using it...
>>
>> From a quick peek at the code, I saw xmlmodules.c using dlerror / etc
>> for dynamic module support.  Since libxml is running sandboxed, do we
>> really want dynamic module support?
>>
>> In specific, it seems like we have LIBXML_MODULES_ENABLED defined in
>> our xmlversion.h...
>>
>> On Fri, Apr 24, 2009 at 2:18 PM, nshah <[email protected]> wrote:
>>>
>>> This group is very impressive, always so quick in reply!
>>> Thanks for quick reply!
>>> I did hammer --verbose and here is the command if that helps:
>>>
>>> cd /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/base
>>> && ../chrome/tools/build/linux/version.sh
>>> file_version_info_linux.h.version /home/dev/ProgramFiles/v8/home/
>>> chrome-svn/tarball/chromium/src/sconsbuild/Debug/obj/
>>> global_intermediate/base/file_version_info_linux.h
>>> flock /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>> sconsbuild/Debug/linker.lock gcc -o /home/dev/ProgramFiles/v8/home/
>>> chrome-svn/tarball/chromium/src/sconsbuild/Debug/xmlcatalog -L/home/
>>> dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/sconsbuild/
>>> Debug/lib -Wl,-rpath=/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
>>> chromium/src/sconsbuild/Debug/lib -m32 -pthread /home/dev/ProgramFiles/
>>> v8/home/chrome-svn/tarball/chromium/src/sconsbuild/Debug/obj/
>>> third_party/libxml/xmlcatalog.o -Wl,--start-group -lm -lxml2 -Wl,--end-
>>> group
>>> /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>> sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlsym'
>>> /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>> sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlerror'
>>> /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>> sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlopen'
>>> /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>> sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlclose'
>>> collect2: ld returned 1 exit status
>>> scons: *** [/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>> src/sconsbuild/Debug/xmlcatalog] Error 1
>>> gcc -o /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>> sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-tibetan.os -c -
>>> m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse -I/
>>> usr/include/freetype2 -O0 -g -fPIC -DCHROMIUM_BUILD -DTOOLKIT_GTK=1 -
>>> D_DEBUG -I/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>> src/sconsbuild/Debug/obj/third_party/harfbuzz/src -I/home/dev/
>>> ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/third_party/
>>> harfbuzz/src /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
>>> chromium/src/third_party/harfbuzz/src/harfbuzz-tibetan.c
>>> scons: building terminated because of errors.
>>>
>>> On Apr 24, 7:41 am, Dean McNamee <[email protected]> wrote:
>>>> Looks like it's missing -ldl, but I haven't looked closely.
>>>>
>>>> On Fri, Apr 24, 2009 at 12:57 PM, nshah <[email protected]> wrote:
>>>>
>>>> > hi there,
>>>>
>>>> > thanks for working on getting the shared lib of libraries! I was
>>>> > pointed to this work by Evan Martin as well and he pointed me to this
>>>> > (http://codereview.chromium.org/88058). However I am having some
>>>> > difficulty getting it to build and it errors out while building
>>>> > libxml.
>>>>
>>>> > ==================================================
>>>> > ...
>>>> > Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>>> > src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-gsub.os
>>>> > Linking /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>>> > sconsbuild/Debug/lib/libxml2.so
>>>> > Linking /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>>> > sconsbuild/Debug/xmlcatalog
>>>> > Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>>> > src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-impl.os
>>>> > Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>>> > src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-open.os
>>>> > Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>>> > src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-shaper.os
>>>> > /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>>> > sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlsym'
>>>> > /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>>> > sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlerror'
>>>> > /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>>> > sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlopen'
>>>> > /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
>>>> > sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlclose'
>>>> > collect2: ld returned 1 exit status
>>>> > scons: *** [/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
>>>> > src/sconsbuild/Debug/xmlcatalog] Error 1
>>>> > scons: building terminated because of errors.
>>>> > ===============================================
>>>>
>>>> >  Here are the steps that I tried:
>>>>
>>>> > a) first I tried to download each patch from patch set 4 and patched
>>>> > the corresponding files  manually. Removed sconsbuild directory and
>>>> > rebuilt. it had the same errors.
>>>>
>>>> > I read your instructions in Description section but I did not
>>>> > understand where exactly I need to make changes to exclude and include
>>>> > those files. I looked at all_main.scons and common.gypi. it would be
>>>> > really helpful if you can elaborate on those instructions.
>>>>
>>>> > b) I did a get latest with revision 14166 by using following command:
>>>> > CHROMIUM_ROOT$ gclient sync --revision s...@14166
>>>>
>>>> > (chromium root = directory that has src directory in it).
>>>>
>>>> > Let me know what steps I might be missing. Another point I want to add
>>>> > is that I have followed the instructions in 'Staying Green more of the
>>>> > time' section of getting code on chrome wiki for linux developers, if
>>>> > that matters any.
>>>>
>>>> > Thanks,
>>>>
>>>> > On Apr 21, 8:21 pm, Steven Knight <[email protected]> wrote:
>>>> >> The gyp build can generate shared libraries on Linux (as of r14166).
>>>>
>>>> >> You can set up to use shared libraries by setting the GYP_DEFINES 
>>>> >> variable
>>>> >> as follows:
>>>>
>>>> >> $ export GYP_DEFINES='library=shared_library'
>>>> >> $ gclient runhooks --force
>>>>
>>>> >> If it's not set when you run "gclient", it will silently generate .scons
>>>> >> files that build with static libraries, of course, so put it in your
>>>> >> .profile or .bashrc or whatever suits.
>>>>
>>>> >> As an alternative to an environment variable, put the following text in 
>>>> >> the
>>>> >> ~/.gyp/include.gypi startup file in your home directory:
>>>>
>>>> >> {
>>>> >>   'variables': {
>>>> >>     'library': 'shared_library',
>>>> >>   },
>>>>
>>>> >> }
>>>>
>>>> >> Note that you *can* build shared and static in the same tree by 
>>>> >> switching
>>>> >> back and forth (the shared object files will have a different suffix), 
>>>> >> but
>>>> >> the .a and .so files get built in the same 
>>>> >> sconsbuild/{Debug,Release}/lib
>>>> >> directory.  This can throw you for a loop if the linker decides to use 
>>>> >> an
>>>> >> old .so in preference to the new .a you just built, so it's safer to 
>>>> >> clean
>>>> >> things out (at least the lib/ subdirectory, anyway).
>>>>
>>>> >>         --SK
>>> >
>>>
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to