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