Closed Bug 472649 Opened 16 years ago Closed 14 years ago

Building xulrunner + python is impossible (on a x86-64 computer at least)

Categories

(Other Applications Graveyard :: PyXPCOM, defect)

x86_64
Linux
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Remi.Butel, Unassigned)

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.9.0.5) Gecko/2008120121 Firefox/3.0.5
Build Identifier: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.9.0.5) Gecko/2008120121 Firefox/3.0.5

When trying to install xulrunner + python extension on a x86_64 computer
1) use lib directory instead of lib64 directory for loading libraries
2) some files are not compiled
3) XPIDL generates uncorrect type for BiggerLong

Reproducible: Always

Steps to Reproduce:
1. download xulrunner tarball and untar
2. edit $HOME/.mozconfig
mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=xulrunner
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-xft
ac_add_options --enable-extensions=python
ac_add_options --disable-optimize
ac_add_options --enable-debug
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-debug
3. ./configure
4. make
Actual Results:  
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
nsPyContext.o: In function `nsPythonContext::Deserialize(nsIObjectInputStream*, nsScriptObjectHolder&)':                        /autre/mozilla/extensions/python/dom/src/nsPyContext.cpp:728: undefined reference to `PyMarshal_ReadObjectFromString'
nsPyContext.o: In function `nsPythonContext::Serialize(nsIObjectOutputStream*, void*)':                                         /autre/mozilla/extensions/python/dom/src/nsPyContext.cpp:682: undefined reference to `PyMarshal_WriteObjectToString'


Remark: I can mail you the whole make outputfile

Expected Results:  
xulrunner compiled

> There is another problem, may be it has been fixed ? : on a 64 bits computer as mine, XPIDL generates for BiggerLong an
integer with a java type which are not compatible on a x86_64 computer :

./extensions/python/xpcom/test/test_component/py_test_component.idl:    const long                  BiggerLong = 0xFFFFFFFF;
./extensions/python/xpcom/test/test_component/_xpidlgen/py_test_component.h:  enum { BiggerLong = 4294967295 };
./extensions/python/xpcom/test/test_component/_javagen/org/mozilla/interfaces/nsIPythonTestInterface.java:  int BiggerLong = 4294967295;
./extensions/python/xpcom/test/test_test_component.py:    test_constant(c, "BiggerLong", -1)
./dist/include/pyxpcom/py_test_component.h:  enum { BiggerLong = 4294967295 };
./dist/idl/py_test_component.idl:    const long                  BiggerLong = 0xFFFFFFFF;
./_javagen/default/org/mozilla/interfaces/nsIPythonTestInterface.java:  int BiggerLong = 4294967295;

> as 4294967295 is a long, not an int.
Assignee: nobody → build-config
Component: General → Build Config
Product: Firefox → SeaMonkey
QA Contact: general → build-config
(In reply to comment #0)
> Build Identifier: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.9.0.5)
> Gecko/2008120121 Firefox/3.0.5

What is this bug report about: Firefox, XulRunner, SeaMonkey ??
Which product/version(s) are you using ?

> mk_add_options MOZ_CO_PROJECT=suite

This option is obsolete in current trunks...

> ac_add_options --enable-application=xulrunner

Assuming XulRunner then.

> > There is another problem, may be it has been fixed ? : on a 64 bits computer as mine, XPIDL generates for BiggerLong an
> integer with a java type which are not compatible on a x86_64 computer :

Please, file a separate report.
Assignee: build-config → nobody
Component: Build Config → XULRunner
Product: SeaMonkey → Toolkit
QA Contact: build-config → xulrunner
This has nothing to do with xulrunner and is just pyxpcom. Since I can't find a component for pyxpcom, sticking it in core/general
Component: XULRunner → General
Product: Toolkit → Core
QA Contact: xulrunner → general
I also get this build error.  Adding marshal.h to config/system-headers seems to make it go away (but my build fails later on.)  See https://bugzilla.redhat.com/show_bug.cgi?id=436581
I believe this is because Pyxpcom requires a shared Python build (i.e. not the standard builds that are included with Linux distros).

You can build your own shared Python, just add the "--enable-shared" to the configure options, then ensure your shared Python build is the one that Mozilla uses (i.e. it's the first on the path and the LD_LIBRARY_PATH, PYTHON, PYTHONHOME variables point to your shared Python build).
Component: General → PyXPCOM
Product: Core → Other Applications
QA Contact: general → pyxpcom
marshall.h was added to the system headers, patched to pyxpcom hg repository (1.9.2):
http://hg.mozilla.org/pyxpcom/rev/2cb5add2914a
Status: UNCONFIRMED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Product: Other Applications → Other Applications Graveyard
You need to log in before you can comment on or make changes to this bug.