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 -~----------~----~----~----~------~----~------~--~---
