Closed Bug 129412 Opened 24 years ago Closed 24 years ago

Mach-o (FizzillaMach) build fails due to dlfcn.h from fink (/sw/include/dlfcn.h) not in include search path

Categories

(SeaMonkey :: Build Config, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED INVALID

People

(Reporter: am2stewa, Assigned: netscape)

Details

Attachments

(1 file)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:0.9.9) Gecko/20020304 BuildID: CVS pull 20:30 PST March 6 After about 10 minutes of compiling, the build fails with: [snip lots] c++ -o nsIInterfaceRequestor.o -c -DOSTYPE=\"Darwin5.3\" -DOSARCH=\"Darwin\" -DOJI -D_IMPL_NS_COM -I../../dist/include/string -I../../dist/include/xpcom -I../../dist/include -I/Users/alex/src/mozilla/dist/include/nspr -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long-long -fpascal-strings -traditional-cpp -fno-common -I/Developer/Headers/FlatCarbon -F/System/Library/Frameworks -pipe -DNDEBUG -DTRIMMED -O2 -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../config-defs.h -Wp,-MD,.deps/nsIInterfaceRequestor.pp nsIInterfaceRequestor.cpp nsTraceRefcnt.cpp c++ -o nsTraceRefcnt.o -c -DOSTYPE=\"Darwin5.3\" -DOSARCH=\"Darwin\" -DOJI -D_IMPL_NS_COM -I../../dist/include/string -I../../dist/include/xpcom -I../../dist/include -I/Users/alex/src/mozilla/dist/include/nspr -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long-long -fpascal-strings -traditional-cpp -fno-common -I/Developer/Headers/FlatCarbon -F/System/Library/Frameworks -pipe -DNDEBUG -DTRIMMED -O2 -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../config-defs.h -Wp,-MD,.deps/nsTraceRefcnt.pp nsTraceRefcnt.cpp nsTraceRefcnt.cpp:68: dlfcn.h: No such file or directory make[4]: *** [nsTraceRefcnt.o] Error 1 make[4]: Leaving directory `/Users/alex/src/mozilla/xpcom/base' make[3]: *** [libs] Error 2 make[3]: Leaving directory `/Users/alex/src/mozilla/xpcom' make[2]: *** [tier_9] Error 2 make[2]: Leaving directory `/Users/alex/src/mozilla' make[1]: *** [default] Error 2 make[1]: Leaving directory `/Users/alex/src/mozilla' make: *** [build] Error 2 make: Leaving directory `/Users/alex/src/mozilla' I pulled from CVS about 11:30pm EST. This is my first attempt to build on Mac OS X. .mozconfig: # sh # Build configuration script # # See http://www.mozilla.org/build/unix.html for build instructions. # # Options for client.mk. mk_add_options MOZ_CVS_FLAGS="-q -z 9" # Options for 'configure' (same as command-line options). ac_add_options --disable-debug ac_add_options --enable-optimize=-O2 ac_add_options --enable-strip Where this file is: $ find / -name dlfcn.h [errors about lack of permissions] /sw/include/dlfcn.h Reproducible: Always Steps to Reproduce: 1. cd mozilla 2. make -w -f client.mk build Actual Results: The build failed due to a missing include file. Expected Results: The build should succeed. I'm using Dec 2001 developer tools according to Project Builder -> About.
The error looks familiar but I don't remember where and I don't see that problem in my build. Looking at a OSX box, /sw/include/dlfcn.h comes if you have dlcompat installed. What happens if you add -I/sw/include to your CFLAGS or remove dlcompat? Pinkerton/Dagley, any ideas?
After removing dlcompat (and a bunch of stuff that depends on it; good thing I don't delete the .debs), touching configure and removing config.cache, I get: [snip] checking for png_get_valid in -lpng... no checking for mng_initialize in -lmng... no checking for cplus_demangle in -liberty... no checking for gcc -pipe support... yes checking for correct overload resolution with const and templates... no checking whether compiler supports -Wno-long-long... yes checking for glib-config... no checking for GLIB - version >= 1.2.0... no *** The glib-config script installed by GLIB could not be found *** If GLIB was installed in PREFIX, make sure PREFIX/bin is in *** your path, or set the GLIB_CONFIG environment variable to the *** full path to glib-config. checking for libIDL-config... no checking for libIDL - version >= 0.6.3... no *** The libIDL-config script installed by libIDL could not be found *** If libIDL was installed in PREFIX, make sure PREFIX/bin is in *** your path, or set the LIBIDL_CONFIG environment variable to the *** full path to libIDL-config. checking for orbit-config... no configure: error: libIDL not found. libIDL 0.6.3 or higher is required. *** Fix above errors and then restart with "make -f client.mk build" make: *** [/Users/alex/src/mozilla/Makefile] Error 1 make: Leaving directory `/Users/alex/src/mozilla' Next, I re-installed everything, then added -I/sw/include to OS_CPPFLAGS in config/autoconf.mk. That seems to be working, as moz has compiled past where it was last time, and still going strong, as I write this message. I'll report back when the build's done.
The build worked, and I'm using it to post this message. So could you either a) Document the workaround (add /sw/include to OS_CPPFLAGS) in http://www.mozilla.org/ports/fizzilla/Mach.html or b) Include /sw/include where it's needed by default on Mac OS X ? Thanks, and confirming since it appears that modifying a Mozilla makefile will fix this.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Can you provide a complete configure & build log of the original problem? I see that you are getting HAVE_LIBDL set. I also have dlcompat installed but HAVE_LIBDL isn't being set. Is your ld searching /sw/lib by default? Or do you have libdl installed on the system (non-fink dirs) as well?
I tracked down where ld (called from configure) was getting its libdl.dylib. It was /usr/local/lib/libdl.dylib, which I created by installing bash from http://www.apple.com/downloads/macosx/unix_apps_utilities/\ bashthegnubourneagainshell.html. When I removed the files from that tarball (including /usr/local/lib/libdl.dylib) and installed bash from fink, Mozilla compiled fine without the -I/sw/include. So I guess steps to reproduce are: 1) download http://www.savagetranscendental.com/data/OSX/bash-2.0.5-macosx.tgz 2) cd / 3) untar the tarball from step 1 4) rm $MOZCOMPILEDIR/config.cache 5) Compile Mozilla.
Ugh. That's a bug in apple's bash package. If you didn't have fink's dlcompat package installed, then you wouldn't have the headers that go with that libdl at all. Marking invalid.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → INVALID
This should be documented somewhere (such as http://www.mozilla.org/ports/fizzilla/Mach.html), as installing the vendor-linked-to version of a package may cause Mozilla not to build. Are website patches accepted/desired?
Sure, we'll take website patches too.
verified invalid.
Status: RESOLVED → VERIFIED
That VERIFIED helped me to get going on the patch. I've fixed up the HTML enough to get it validating. It seems to work in Mozilla, IE5.1, and NN4, but I added a strict DOCTYPE, so the layout (in particular the spacing) has changed a bit.
thanks alex, i put your changes on the website (and gave you credit).
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: