Closed Bug 319587 Opened 19 years ago Closed 19 years ago

make minimo build on linux.

Categories

(Minimo Graveyard :: Build Config, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: dougt, Assigned: dougt)

Details

Attachments

(2 files)

linux doesn't build.
Attached patch patch v.1Splinter Review
This is patch WFM when compiling on Knoppix 4.0.2 (gcc 3.3.6, Gnome 2.6.10). I can't give any input using the traditional or software keyboards though, when running Minimo with "./run-mozilla.sh minimo".
Attachment #205313 - Flags: review?(dveditz)
My previous comment applies to the trunk. FYI, I get this error with the code in the Firefox 1.5 release tarball: gcc -o nsStaticComponents.o -c -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=2005120811 -D_BUILD_STATIC_BIN=1 -D_IMPL_GTKMOZEMBED -I/KNOPPIX.IMG/home/knoppix/mozilla1.8/mozilla/config -I../../../../dist/include/xpcom -I../../../../dist/include/string -I../../../../dist/include/docshell -I../../../../dist/include/necko -I../../../../dist/include/widget -I../../../../dist/include/dom -I../../../../dist/include/gfx -I../../../../dist/include/layout -I../../../../dist/include/uriloader -I../../../../dist/include/webbrwsr -I../../../../dist/include/shistory -I../../../../dist/include/embed_base -I../../../../dist/include/pref -I../../../../dist/include/windowwatcher -I../../../../dist/include/profdirserviceprovider -I../../../../dist/include/gtkembedmoz -I../../../../dist/include -I../../../../dist/include/nspr -I/usr/X11R6/include -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -Os -DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/nsStaticComponents.pp nsStaticComponents.cpp make[4]: *** No rule to make target `../../../../dist/lib/libxulapp_s.a', needed by `libgtkembedmoz.a'. Stop. make[4]: Leaving directory `/KNOPPIX.IMG/home/knoppix/mozilla1.8/minimo-objdir/embedding/browser/gtk/src' make[3]: *** [libs] Error 2 make[3]: Leaving directory `/KNOPPIX.IMG/home/knoppix/mozilla1.8/minimo-objdir/embedding/minimo' make[2]: *** [tier_99] Error 2 make[2]: Leaving directory `/KNOPPIX.IMG/home/knoppix/mozilla1.8/minimo-objdir' make[1]: *** [default] Error 2 make[1]: Leaving directory `/KNOPPIX.IMG/home/knoppix/mozilla1.8/minimo-objdir'
Comment on attachment 205313 [details] [diff] [review] patch v.1 r=dveditz
Attachment #205313 - Flags: review?(dveditz) → review+
Checking in Makefile.in; /cvsroot/mozilla/Makefile.in,v <-- Makefile.in new revision: 1.325; previous revision: 1.324 done Checking in modules/plugin/Makefile.in; /cvsroot/mozilla/modules/plugin/Makefile.in,v <-- Makefile.in new revision: 1.30; previous revision: 1.29 done
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
doug, I'm afraid this patch just mask the real problem: I keep get the same error but instead of during the build of modules/plugin/*whatever* , it's during the build of TestGtkEmbed (embedding/browser/gtk/tests) and *only* inside scratchbox. To test it out, add 'tests' to 'DIRS' at embedding/browser/gtk/Makefile.in and rebuild, like this: ************************************************ DIRS=src tests ********************************************** <output - at linking time> c++ -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer -arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non -virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DNDEBUG -D TRIMMED -ffunction-sections -Os -D_XOPEN_SOURCE=500 -DXTHREADS -DXUSE_MTSAFE_AP I -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/ include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include /glib-2.0 -I/usr/lib/glib-2.0/include -o TestGtkEmbed TestGtkEmbed.o -L../ ../../../dist/bin -L../../../../dist/lib -lgtkembedmoz -lX11 -ldl -lm -L../. ./../../dist/lib/components ../../../../dist/lib/components/libxpconnect.a ../. ./../../dist/lib/components/libuconv.a ../../../../dist/lib/components/libi18n.a ../../../../dist/lib/components/libnecko.a ../../../../dist/lib/components/libj ar50.a ../../../../dist/lib/components/libpref.a ../../../../dist/lib/components /libcaps.a ../../../../dist/lib/components/librdf.a ../../../../dist/lib/compone nts/libhtmlpars.a ../../../../dist/lib/components/libgfx_gtk.a ../../../../dist/ lib/components/libimglib2.a ../../../../dist/lib/components/libgkplugin.a ../../ ../../dist/lib/components/libwidget_gtk2.a ../../../../dist/lib/components/libgk layout.a ../../../../dist/lib/components/libdocshell.a ../../../../dist/lib/comp onents/libembedcomponents.a ../../../../dist/lib/components/libwebbrwsr.a ../../ ../../dist/lib/components/libeditor.a ../../../../dist/lib/components/libtxmgr.a ../../../../dist/lib/components/libnsappshell.a ../../../../dist/lib/components /libchrome.a ../../../../dist/lib/components/libmork.a ../../../../dist/lib/comp onents/libtoolkitcomps.a ../../../../dist/lib/components/libxmlextras.a ../../.. /../dist/lib/components/libwebsrvcs.a ../../../../dist/lib/components/libsnav.a ../../../../dist/lib/components/libphone.a ../../../../dist/lib/components/libso ftkey.a ../../../../dist/lib/components/libpipboot.a ../../../../dist/lib/compon ents/libpipnss.a ../../../../dist/lib/components/libpermissions.a ../../../../di st/lib/components/libsnav.a ../../../../dist/lib/components/libphone.a ../../../ ../dist/lib/components/libsoftkey.a ../../../../dist/lib/components/libssr.a ../ ../../../dist/lib/libmozjs.a ../../../../dist/lib/libunicharutil_s.a ../../../.. /dist/lib/libucvutil_s.a ../../../../dist/lib/libgtkxtbin.a ../../../../dist/lib /libgfxshared_s.a ../../../../dist/lib/libgkgfx.a ../../../../dist/lib/libxpcom_ core.a ../../../../dist/lib/libxpcomglue.a ../../../../dist/lib/libembed_base_s. a ../../../../dist/lib/libprofdirserviceprovider_s.a -L../../../../dist/lib -lm ozpng -L../../../../dist/lib -lmozjpeg -L../../../../dist/lib -lmozz -L../../.. /../dist/bin -L../../../../dist/lib ../../../../dist/lib/libcrmf.a -lsmime3 -lss l3 -lnss3 -lsoftokn3 -lXt -L../../../../dist/bin -lmozjs -L../../../../dist/b in -lxpcom -lxpcom_core -L../../../../dist/bin -L../../../../dist/lib -lplds4 - lplc4 -lnspr4 -lpthread -ldl -lgtk-x11-2.0 -latk-1.0 -lgdk-x11-2.0 -lgdk_pixbuf- 2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgmodule-2.0 -ldl -lgobject-2.0 -lglib-2.0 /scratchbox/compilers/host-gcc/lib/gcc-lib/i386-linux/3.3.2/../../../../i386-lin ux/bin/ld: cannot find -lxpcom collect2: ld returned 1 exit status make[5]: *** [TestGtkEmbed] Error 1 make[5]: Leaving directory `/home/agomes/mozDev/mozilla/embedding/browser/gtk/te sts' make[4]: *** [libs] Error 2 make[4]: Leaving directory `/home/agomes/mozDev/mozilla/embedding/browser/gtk' make[3]: *** [libs_tier_99] Error 2 make[3]: Leaving directory `/home/agomes/mozDev/mozilla' make[2]: *** [tier_99] Error 2 make[2]: Leaving directory `/home/agomes/mozDev/mozilla' make[1]: *** [default] Error 2 make[1]: Leaving directory `/home/agomes/mozDev/mozilla' make: *** [build] Error 2 * -lxpcom * doesn't appear when linking 'minimo'. that's weird :S probably, it shouldn't on static builds ... thoughts ? (In reply to comment #5) > Checking in Makefile.in; > /cvsroot/mozilla/Makefile.in,v <-- Makefile.in > new revision: 1.325; previous revision: 1.324 > done > Checking in modules/plugin/Makefile.in; > /cvsroot/mozilla/modules/plugin/Makefile.in,v <-- Makefile.in > new revision: 1.30; previous revision: 1.29 > done >
try linking to xpcom_core xpcomglue. I haven't tested building TestGtkEmbed.
(In reply to comment #7) > try linking to xpcom_core xpcomglue. > > I haven't tested building TestGtkEmbed. are them already linked ? (embedding/browser/gtk/tests/Makefile.in) ******************************************* ifdef BUILD_STATIC_LIBS ifndef MOZ_FAT_EMBED FINAL_LINK_COMPS=../src/embed-link-comps endif ifdef MINIMO FINAL_LINK_COMPS=$(topsrcdir)/minimo/base/linux/minimo-link-comps FINAL_LINK_COMP_NAMES=$(topsrcdir)/minimo/base/linux/minimo-link-names FINAL_LINK_LIBS=$(topsrcdir)/minimo/base/linux/minimo-link-libs endif **************************************************** and at minimo/base/linux/minimo-link-libs we have them: $$ grep -nHR xpcom minimo/base/linux/minimo-link-libs minimo/base/linux/minimo-link-libs:7:xpcom_core minimo/base/linux/minimo-link-libs:8:xpcomglue :(
After a little change at the "default settings" defined at configure.in (l. 756), I got both minimo and TestGtkEmbed built inside scratchbox ... Following is the change: (at configure.in, l. 756) *I replaced* DYNAMIC_XPCOM_LIBS='-L$(DIST)/bin -lxpcom -lxpcom_core' *by* DYNAMIC_XPCOM_LIBS= to force a 'static build'. After that change, I just executed 'autoconf' to recreate the 'configure' file and built it as normaly. Make sense , doug ? (In reply to comment #8) > (In reply to comment #7) > > try linking to xpcom_core xpcomglue. > > > > I haven't tested building TestGtkEmbed. > > are them already linked ? > > (embedding/browser/gtk/tests/Makefile.in) > ******************************************* > ifdef BUILD_STATIC_LIBS > > ifndef MOZ_FAT_EMBED > FINAL_LINK_COMPS=../src/embed-link-comps > endif > > ifdef MINIMO > FINAL_LINK_COMPS=$(topsrcdir)/minimo/base/linux/minimo-link-comps > FINAL_LINK_COMP_NAMES=$(topsrcdir)/minimo/base/linux/minimo-link-names > FINAL_LINK_LIBS=$(topsrcdir)/minimo/base/linux/minimo-link-libs > endif > **************************************************** > > and at minimo/base/linux/minimo-link-libs we have them: > > $$ grep -nHR xpcom minimo/base/linux/minimo-link-libs > > minimo/base/linux/minimo-link-libs:7:xpcom_core > minimo/base/linux/minimo-link-libs:8:xpcomglue
it builds, but crashes at embedding/browser/gtk/src/EmbedPrivate.cpp l.485 (...) rv = NS_InitEmbedding(binDir, sAppFileLocProvider); if (NS_FAILED(rv)) printf ("[GTK_MOZ_EMBED] NS_InitEmbedding fails\n"); return; (...) it returns at this point, so NS_InitEmbedding fails ... any clue ? Am I missing something ? (In reply to comment #9) > After a little change at the "default settings" defined at configure.in (l. > 756), I got both minimo and TestGtkEmbed built inside scratchbox ... Following > is the change: > > (at configure.in, l. 756) > > *I replaced* > DYNAMIC_XPCOM_LIBS='-L$(DIST)/bin -lxpcom -lxpcom_core' > *by* > DYNAMIC_XPCOM_LIBS= > > to force a 'static build'. After that change, I just executed 'autoconf' to > recreate the 'configure' file and built it as normaly. Make sense , doug ?
does it have any thing to do with https://bugzilla.mozilla.org/show_bug.cgi?id=299988#c14 ? (In reply to comment #10) > it builds, but crashes at embedding/browser/gtk/src/EmbedPrivate.cpp l.485 > > (...) > rv = NS_InitEmbedding(binDir, sAppFileLocProvider); > if (NS_FAILED(rv)) > printf ("[GTK_MOZ_EMBED] NS_InitEmbedding fails\n"); > return; > (...) > > > it returns at this point, so NS_InitEmbedding fails ... any clue ? Am I missing > something ? > > > (In reply to comment #9) > > After a little change at the "default settings" defined at configure.in (l. > > 756), I got both minimo and TestGtkEmbed built inside scratchbox ... Following > > is the change: > > > > (at configure.in, l. 756) > > > > *I replaced* > > DYNAMIC_XPCOM_LIBS='-L$(DIST)/bin -lxpcom -lxpcom_core' > > *by* > > DYNAMIC_XPCOM_LIBS= > > > > to force a 'static build'. After that change, I just executed 'autoconf' to > > recreate the 'configure' file and built it as normaly. Make sense , doug ? >
shouldn't it use NS_InitEmbedding(nsnull, nsnull, kPStaticModules, kStaticModuleCount); instead of NS_InitEmbedding(binDir, sAppFileLocProvider); like minimo (minimo/base/Minimo.cpp) does ? (In reply to comment #10) > it builds, but crashes at embedding/browser/gtk/src/EmbedPrivate.cpp l.485 > > (...) > rv = NS_InitEmbedding(binDir, sAppFileLocProvider); > if (NS_FAILED(rv)) > printf ("[GTK_MOZ_EMBED] NS_InitEmbedding fails\n"); > return; > (...) > > > it returns at this point, so NS_InitEmbedding fails ... any clue ? Am I missing > something ? >
I've tried to build MiniMo on linux (pulled at 9th feb), and it failed during the building of the GtkMozEmbed (embedding/browser/gtk/) widget. There are some issues involving it: 1) gtkmozembed got integrated with libxul, or in XULRunner builds, 2) libxul is just for shared build 3) minimo shared build is boasted :( (see https://bugzilla.mozilla.org/show_bug.cgi?id=318606) During the linkage of libgtkembemoz.a, it complains about missing 'libxulapp_s.a' (from toolkit/xre), that's not built at all on MiniMo <quoted from toolkit/Makefile.in> ifndef MINIMO DIRS += \ xre \ mozapps \ $(NULL) endif <quoted> When I enable xre building, it complains about the xpcom_obsolete (for libxul.so). If I also enable this, it fails at the same point as described at bug 318606 (probably this bugs is denpend on 318606) So doug and benjamin, is gtkmozembed still supposed to build with Minimo ? And will minimo be also integrated with libxul (xulrunner) ? ps: I'd reopend it, but bugzilla get me no permissions !
I got it built statically. (In reply to comment #13) > I've tried to build MiniMo on linux (pulled at 9th feb), and it failed during > the building of the GtkMozEmbed (embedding/browser/gtk/) widget. > > There are some issues involving it: > > 1) gtkmozembed got integrated with libxul, or in XULRunner builds, > 2) libxul is just for shared build > 3) minimo shared build is boasted :( (see > https://bugzilla.mozilla.org/show_bug.cgi?id=318606) > > During the linkage of libgtkembemoz.a, it complains about missing > 'libxulapp_s.a' (from toolkit/xre), that's not built at all on MiniMo > > <quoted from toolkit/Makefile.in> > > ifndef MINIMO > DIRS += \ > xre \ > mozapps \ > $(NULL) > endif > <quoted> > > When I enable xre building, it complains about the xpcom_obsolete (for > libxul.so). If I also enable this, it fails at the same point as described at > bug 318606 (probably this bugs is denpend on 318606) > > So doug and benjamin, is gtkmozembed still supposed to build with Minimo ? > And will minimo be also integrated with libxul (xulrunner) ? > > ps: I'd reopend it, but bugzilla get me no permissions ! >
Im still got this error build when build minimo using source from MOZILLA_1_8_0_BRANCH tree, when i trying to apply the last patch i get confuse coz the source file is different Below is the the intl/uconv/src/Makefile.in from MOZILLA_1_8_0_branch $(DIST)/lib/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \ $(DIST)/lib/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \ $(DIST)/lib/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \ $(DIST)/lib/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \ $(DIST)/lib/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \ $(NULL) else SHARED_LIBRARY_LIBS += \ $(DIST)/lib/$(LIB_PREFIX)ucnative_s.$(LIB_SUFFIX) \ $(NULL)
sorry i forgot to attach my mozconfig --------------------------------------------- mk_add_options MOZ_CO_PROJECT=minimo mk_add_options MOZ_OBJDIR=../build ac_add_options --enable-application=minimo # use GTK+-2 widget set with XFT font rendering ac_add_options --enable-default-toolkit=gtk2 ac_add_options --enable-xft ac_add_options --disable-freetype2 ac_add_options --enable-optimize=-Os ac_add_options --enable-strip #ac_add_options --disable-debug ac_add_options --enable-reorder ac_add_options --enable-elf-dynstr-gc # enable static build ac_add_options --disable-shared ac_add_options --enable-static # remove link dependency on libstdc++.so LIBS=-lsupc++ CXX=gcc
what do you get for MOZILLA_1_8_BRANCH ? dougt, it 1_8_0 supported ? (In reply to comment #16) > Im still got this error build when build minimo using source from > MOZILLA_1_8_0_BRANCH tree, > when i trying to apply the last patch i get confuse coz the source file is > different > > Below is the the intl/uconv/src/Makefile.in from MOZILLA_1_8_0_branch > > $(DIST)/lib/$(LIB_PREFIX)ucvja_s.$(LIB_SUFFIX) \ > $(DIST)/lib/$(LIB_PREFIX)ucvtw2_s.$(LIB_SUFFIX) \ > $(DIST)/lib/$(LIB_PREFIX)ucvtw_s.$(LIB_SUFFIX) \ > $(DIST)/lib/$(LIB_PREFIX)ucvko_s.$(LIB_SUFFIX) \ > $(DIST)/lib/$(LIB_PREFIX)ucvcn_s.$(LIB_SUFFIX) \ > $(NULL) > else > SHARED_LIBRARY_LIBS += \ > $(DIST)/lib/$(LIB_PREFIX)ucnative_s.$(LIB_SUFFIX) \ > $(NULL) >
(In reply to comment #18) > what do you get for MOZILLA_1_8_BRANCH ? > Almost same,below the stack trace nsStaticComponents.cpp gcc -o nsStaticComponents.o -c -I../../../../dist/include/system_wrappers -include /home/gusti/minimo/mozilla/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -D_BUILD_STATIC_BIN=1 -D_IMPL_GTKMOZEMBED -I/home/gusti/minimo/mozilla/config -I../../../../dist/include/xpcom -I../../../../dist/include/string -I../../../../dist/include/docshell -I../../../../dist/include/necko -I../../../../dist/include/widget -I../../../../dist/include/dom -I../../../../dist/include/gfx -I../../../../dist/include/layout -I../../../../dist/include/uriloader -I../../../../dist/include/webbrwsr -I../../../../dist/include/shistory -I../../../../dist/include/embed_base -I../../../../dist/include/pref -I../../../../dist/include/windowwatcher -I../../../../dist/include/profdirserviceprovider -I../../../../dist/include/gtkembedmoz -I../../../../dist/include -I../../../../dist/include/nspr -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -ffunction-sections -Os -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/nsStaticComponents.pp nsStaticComponents.cpp make[4]: *** No rule to make target `../../../../dist/lib/libxulapp_s.a', needed by `libgtkembedmoz.a'. Stop. make[4]: Leaving directory `/home/gusti/minimo/build/embedding/browser/gtk/src' make[3]: *** [libs] Error 2 make[3]: Leaving directory `/home/gusti/minimo/build/embedding/minimo' make[2]: *** [tier_99] Error 2 make[2]: Leaving directory `/home/gusti/minimo/build' make[1]: *** [default] Error 2 make[1]: Leaving directory `/home/gusti/minimo/build' make: *** [build] Error 2
why is xulapp (/toolkit/xre) being built or required? did you modify any other files, in particular: http://lxr.mozilla.org/mozilla1.8/source/minimo/base/linux/
(In reply to comment #20) > why is xulapp (/toolkit/xre) being built or required? > > did you modify any other files, in particular: > http://lxr.mozilla.org/mozilla1.8/source/minimo/base/linux/ > Not at all, i just apply this patch before build --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp.orig 2006-04-25 14:39:08.882180573 +0200 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2006-04-25 14:40:01.693359781 +0200 @@ -45,7 +45,7 @@ #endif /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ -static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); +static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch") __attribute__((used)); static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args)
Antonio, your building on the branch without this problem, right? can you update?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: