Closed Bug 1343781 Opened 7 years ago Closed 7 years ago

libgobject-2.0.so: undefined reference to ffi_type_double, etc.. bustage

Categories

(SeaMonkey :: Build Config, defect)

SeaMonkey 2.48 Branch
defect
Not set
normal

Tracking

(firefox55 fixed)

RESOLVED FIXED
seamonkey2.51
Tracking Status
firefox55 --- fixed

People

(Reporter: ewong, Assigned: ewong)

References

Details

Attachments

(1 file, 5 obsolete files)

linux64 bustage:

/builds/slave/rel-c-beta-lnx64-bld/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.5/../../../../x86_64-unknown-linux-gnu/bin/as: /lib64/libz.so.1: no version information available (required by /builds/slave/rel-c-beta-lnx64-bld/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.5/../../../../x86_64-unknown-linux-gnu/bin/as)
/builds/slave/rel-c-beta-lnx64-bld/build/objdir/_virtualenv/bin/python /builds/slave/rel-c-beta-lnx64-bld/build/mozilla/config/expandlibs_exec.py --uselist --  /usr/bin/ccache /builds/slave/rel-c-beta-lnx64-bld/build/gcc/bin/g++ -std=gnu++11 -o screentopng  -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -D_GLIBCXX_USE_CXX11_ABI=0 -pipe  -g -freorder-blocks -Os -fomit-frame-pointer -Werror gdk-screenshot.o   -lpthread -L/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib  -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id   -L/usr/lib64 -Wl,-rpath-link,/builds/slave/rel-c-beta-lnx64-bld/build/objdir/dist/bin -Wl,-rpath-link,/usr/local/lib   ../../../build/unix/stdc++compat/libstdc++compat.a    -ldl  -L/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0  
make[4]: Entering directory `/builds/slave/rel-c-beta-lnx64-bld/build/objdir/security/manager/ssl/tests/unit/pkcs11testmodule'
mkdir -p '.deps/'
libpkcs11testmodule.so.symbols
/builds/slave/rel-c-beta-lnx64-bld/build/objdir/_virtualenv/bin/python -m mozbuild.action.file_generate /builds/slave/rel-c-beta-lnx64-bld/build/mozilla/python/mozbuild/mozbuild/action/generate_symbols_file.py generate_symbols_file libpkcs11testmodule.so.symbols .deps/libpkcs11testmodule.so.symbols.pp /builds/slave/rel-c-beta-lnx64-bld/build/mozilla/security/manager/ssl/tests/unit/pkcs11testmodule/pkcs11testmodule.symbols -DNDEBUG=1 -DTRIMMED=1
Executing: /usr/bin/ccache ../../../../gcc/bin/g++ -std=gnu++11 -o screentopng -Wall -Wc++11-compat -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -D_GLIBCXX_USE_CXX11_ABI=0 -pipe -g -freorder-blocks -Os -fomit-frame-pointer -Werror /builds/slave/rel-c-beta-lnx64-bld/build/objdir/testing/tools/screenshot/tmplJy6HQ.list -lpthread -L/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib -Wl,-z,noexecstack -Wl,-z,text -Wl,--build-id -L/usr/lib64 -Wl,-rpath-link,/builds/slave/rel-c-beta-lnx64-bld/build/objdir/dist/bin -Wl,-rpath-link,/usr/local/lib -ldl -L/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
/builds/slave/rel-c-beta-lnx64-bld/build/objdir/testing/tools/screenshot/tmplJy6HQ.list:
    INPUT("gdk-screenshot.o")
    INPUT("../../../build/unix/stdc++compat/stdc++compat.o")

/builds/slave/rel-c-beta-lnx64-bld/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.5/../../../../x86_64-unknown-linux-gnu/bin/ld: /lib64/libz.so.1: no version information available (required by /builds/slave/rel-c-beta-lnx64-bld/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.5/../../../../x86_64-unknown-linux-gnu/bin/ld)
/builds/slave/rel-c-beta-lnx64-bld/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.5/../../../../x86_64-unknown-linux-gnu/bin/ld: warning: libffi.so.6, needed by /builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgio-2.0.so, not found (try using -rpath or -rpath-link)
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_double'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_pointer'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_sint64'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_void'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_sint32'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_uint64'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_call'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_uint32'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_prep_cif'
/builds/slave/rel-c-beta-lnx64-bld/build/gtk3/usr/local/lib/libgobject-2.0.so: undefined reference to `ffi_type_float'
collect2: error: ld returned 1 exit status
make[4]: *** [screentopng] Error 1
make[4]: Leaving directory `/builds/slave/rel-c-beta-lnx64-bld/build/objdir/testing/tools/screenshot'
/usr/bin/yasm -o vp9mc.o -f elf64 -rnasm -pnasm  -g dwarf2 -D__x86_64__ -DPIC -DELF -I/builds/slave/rel-c-beta-lnx64-bld/build/mozilla/media/ffvpx -Pconfig_unix64.asm   /builds/slave/rel-c-beta-lnx64-bld/build/mozilla/media/ffvpx/libavcodec/x86/vp9mc.asm
make[3]: *** [testing/tools/screenshot/target] Error 2
make[3]: *** Waiting for unfinished jobs....
Ah, this is possibly because m-b's build/unix/mozconfig.gtk still isn't
the same as c-b's build/unix/mozconfig.gtk and so overrides the gtk2
with gtk3.
Attachment #8842768 - Flags: review?(mh+mozilla)
Attachment #8842768 - Attachment is obsolete: true
Attachment #8842768 - Flags: review?(mh+mozilla)
Preliminary look through how the mozconfigs are parsed, I came up to :

https://hg.mozilla.org/releases/mozilla-beta/file/f79f0090924c/build/moz.configure/init.configure#l114

    if os.path.dirname(os.path.abspath(old_configure[0])).endswith('/js/src'):
        return {'path': None}

    loader = MozconfigLoader(build_env.topsrcdir)

build_env.topsrcdir is *always* /builds/slave/rel-c-beta-lnx-bld/build/mozilla,
so this is what I understand:

it parses /builds/slave/rel-c-beta-lnx-bld/build/.mozconfig which includes
  "build/unix/mozconfig.linux"  and since build_env.topsrcdir is the mozilla subdirectory,
it includes /builds/slave/rel-c-beta-lnx-bld/build/mozilla/build/unix/mozconfig.linux,
which then includes /builds/slave/rel-c-beta-lnx-bld/build/mozilla/build/unix/mozconfig.gtk.
instead of /builds/slave/rel-c-beta-lnx-bld/build/build/unix/mozconfig.gtk.

That said, I'm still trying to determine *why* it still sets the topsrcdir as
/builds/slave/rel-c-beta-lnx-bld/build/mozilla.
From what I see:

https://hg.mozilla.org/releases/mozilla-beta/file/f79f0090924c/build/moz.configure/init.configure#l17

is where topsrcdir is set, and will always be set to the mozilla subdir.

However, changing this isn't right since it needs this topsrcdir to access the
mozilla/python/..  directories.
Attached patch [mozconfigs] proposed patch (obsolete) — Splinter Review
The rationale for this patch is that since the topsrcdir shouldn't
be changed anywhere else other than the mozconfig loading part,
ensuring that the TOOLTOOL_DIR is used as the topsrcdir for the
mozconfig. if TOOLTOOL_DIR isn't found, then it uses the buildenv_topsrcdir.
Attachment #8843665 - Flags: review?(mh+mozilla)
Attached patch [mozconfigs] proposed patch(v2) (obsolete) — Splinter Review
forgot the imports
Attachment #8843665 - Attachment is obsolete: true
Attachment #8843665 - Flags: review?(mh+mozilla)
Attachment #8843666 - Flags: review?(mh+mozilla)
Blocks: 1344529
Comment on attachment 8843666 [details] [diff] [review]
[mozconfigs] proposed patch(v2)

Review of attachment 8843666 [details] [diff] [review]:
-----------------------------------------------------------------

Use the value from --with-external-source-dir.
Attachment #8843666 - Flags: review?(mh+mozilla) → review-
Attached patch proposed patch (v3) (obsolete) — Splinter Review
use the external-source-dir if given, otherwise default to build_env.topsrcdir
Attachment #8843666 - Attachment is obsolete: true
Attachment #8844754 - Flags: review?(mh+mozilla)
Attached patch proposed patch (v4) (obsolete) — Splinter Review
use the option method
Assignee: nobody → ewong
Attachment #8844754 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8844754 - Flags: review?(mh+mozilla)
Attachment #8844783 - Flags: review?(mh+mozilla)
Comment on attachment 8844783 [details] [diff] [review]
proposed patch (v4)

Review of attachment 8844783 [details] [diff] [review]:
-----------------------------------------------------------------

::: build/moz.configure/init.configure
@@ +95,5 @@
>  # Note: the dependency on --help is only there to always read the mozconfig,
>  # even when --help is passed. Without this dependency, the function wouldn't
>  # be called when --help is passed, and the mozconfig wouldn't be read.
>  @depends('MOZ_CURRENT_PROJECT', 'MOZCONFIG', 'OLD_CONFIGURE',
> +         check_build_environment, 'EXTERNAL_SOURCE_DIR',

--with-external-source-dir would work the same, and is more along what we tend to do.

@@ -614,1 @@
>  add_old_configure_assignment('EXTERNAL_SOURCE_DIR', external_source_dir)

please move this too.
Attachment #8844783 - Flags: review?(mh+mozilla)
moved the add_old_configure_assignment to the top.
Attachment #8844783 - Attachment is obsolete: true
Attachment #8844785 - Flags: review?(mh+mozilla)
Attachment #8844785 - Flags: review?(mh+mozilla) → review+
Pushed by ewong@pw-wspx.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ef165ee587ef
Ensure MozconfigLoader uses the right topsrcdir. r=glandium
https://hg.mozilla.org/mozilla-central/rev/ef165ee587ef
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.51
Blocks: SM2.48
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: