Lightspark on FreeBSD

Bug #798843 reported by Rusty Nejdl
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Lightspark
New
Undecided
Unassigned

Bug Description

I am picking up the packaging of lightspark for FreeBSD as it seems that lightspark compiles much easier now on FreeBSD. That being said, I have it compiling and installing with only a few patches. I am using GCC 4.6 and have the current version of libxml++26 (pr submitted to FreeBSD to update the port). I am using Firefox 4 as well as that seems to be working now per notes I have seen online.

That being said, I am unable to get it to run without core dumping or be picked up by Firefox. I am attaching a core file and am looking for any pointers on how to get this working.

Revision history for this message
Rusty Nejdl (rnejdl) wrote :
Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

My first guess would be that there is a problem with thread local storage. The error seems to be in __tls_get_addr.

#0 0x00000008006085c3 in _rtld_error () from /libexec/ld-elf.so.1
#1 0x00000008006089f2 in _rtld_error () from /libexec/ld-elf.so.1
#2 0x0000000800608c19 in _rtld_error () from /libexec/ld-elf.so.1
#3 0x0000000800609256 in dladdr () from /libexec/ld-elf.so.1
#4 0x0000000800606c75 in __tls_get_addr () from /libexec/ld-elf.so.1
#5 0x00000008006090b8 in dladdr () from /libexec/ld-elf.so.1
#6 0x000000080060b0ee in dlopen () from /libexec/ld-elf.so.1
#7 0x000000080082a100 in std::_Rb_tree<lightspark::QName, std::pair<lightspark::QName const, lightspark::Class_base*>, std::_Select1st<std::pair<lightspark::QName const, lightspark::Class_base*> >, std::less<lightspark::QName>, std::allocator<std::pair<lightspark::QName const, lightspark::Class_base*> > >::_M_insert_unique<std::pair<lightspark::QName, lightspark::Class<lightspark::ASString>*> >
    () from /usr/local/lib/lightspark/liblightspark.so.0.4

Revision history for this message
Rusty Nejdl (rnejdl) wrote : Re: [Bug 798843] Re: Lightspark on FreeBSD

Alessandro,

I've done some looking around but not being a C programmer, I have to
admit I am stuck. Would you have any suggestions on how to move forward
on this? My thought was that perhaps perhaps I had the wrong threading
engine selected but basically those issues were resolved years ago on
FreeBSD.

Thanks!
Rusty Nejdl

On Fri, 17 Jun 2011 20:49:24 -0000, Alessandro Pignotti wrote:
> My first guess would be that there is a problem with thread local
> storage. The error seems to be in __tls_get_addr.
>
> #0 0x00000008006085c3 in _rtld_error () from /libexec/ld-elf.so.1
> #1 0x00000008006089f2 in _rtld_error () from /libexec/ld-elf.so.1
> #2 0x0000000800608c19 in _rtld_error () from /libexec/ld-elf.so.1
> #3 0x0000000800609256 in dladdr () from /libexec/ld-elf.so.1
> #4 0x0000000800606c75 in __tls_get_addr () from /libexec/ld-elf.so.1
> #5 0x00000008006090b8 in dladdr () from /libexec/ld-elf.so.1
> #6 0x000000080060b0ee in dlopen () from /libexec/ld-elf.so.1
> #7 0x000000080082a100 in std::_Rb_tree<lightspark::QName,
> std::pair<lightspark::QName const, lightspark::Class_base*>,
> std::_Select1st<std::pair<lightspark::QName const,
> lightspark::Class_base*> >, std::less<lightspark::QName>,
> std::allocator<std::pair<lightspark::QName const,
> lightspark::Class_base*> >
> >::_M_insert_unique<std::pair<lightspark::QName,
> lightspark::Class<lightspark::ASString>*> >
> () from /usr/local/lib/lightspark/liblightspark.so.0.4
>
> --
> You received this bug notification because you are subscribed to the
> bug
> report.
> https://bugs.launchpad.net/bugs/798843
>
> Title:
> Lightspark on FreeBSD
>
> Status in Lightspark:
> New
>
> Bug description:
> I am picking up the packaging of lightspark for FreeBSD as it seems
> that lightspark compiles much easier now on FreeBSD. That being
> said,
> I have it compiling and installing with only a few patches. I am
> using GCC 4.6 and have the current version of libxml++26 (pr
> submitted
> to FreeBSD to update the port). I am using Firefox 4 as well as
> that
> seems to be working now per notes I have seen online.
>
> That being said, I am unable to get it to run without core dumping
> or
> be picked up by Firefox. I am attaching a core file and am looking
> for any pointers on how to get this working.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/lightspark/+bug/798843/+subscriptions

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

I don't really have any suggestion. You can try running some simple code using thread local storage, as the error seems to be triggered by __tls_get_addr.

Also, try to build disabling the -fvisibility-hidden compiler flag, maybe that is not properly supported on FreeBSD.

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

Is there any news about this issue?

Revision history for this message
Rusty Nejdl (rnejdl) wrote :

Alessandro,

I didn't make much progress after spending 2 days hacking at it. I saw
recently that there was a newer version of Lightspark so I might try
hacking at it again. Are you up for helping out?

Rusty Nejdl

Revision history for this message
Alessandro Pignotti (a-pignotti) wrote :

I don't have much knowledge about FreeBSD internals, but I will be happy to help if I can. You can also try to drop by the #lightspark IRC channel on freenode.

Revision history for this message
Rusty Nejdl (rnejdl) wrote :
  • output Edit (6.3 MiB, application/octet-stream; name=output)
Download full text (4.1 KiB)

I'm testing with this cmake setup:

[tethys]:/home/rnejdl/lightspark-0.5.4/objs> cmake
-DCMAKE_C_COMPILER=/usr/local/bin/gcc46
-DCMAKE_CXX_COMPILER=/usr/local/bin/gcc46 -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/local/bin/gcc46
-- Check for working C compiler: /usr/local/bin/gcc46 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/local/bin/gcc46
-- Check for working CXX compiler: /usr/local/bin/gcc46 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Performing Test GCC_IS_4_4
-- Performing Test GCC_IS_4_4 - Success
-- Gnash not found
-- The ASM-NASM compiler identification is unknown
-- Found assembler: /usr/local/bin/nasm
-- The ASM_NASM compiler identification is unknown
-- Found assembler: /usr/local/bin/nasm
-- LLVM llvm-config found at: /usr/local/bin/llvm-config
-- LLVM version: 3.0svn
-- LLVM CXX flags: -I/usr/local/include -DNDEBUG -D_GNU_SOURCE
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
-O2 -fno-exceptions -fPIC -Woverloaded-virtual -Wcast-qual
-- LLVM LD flags: -L/usr/local/lib -lpthread -lm
-- LLVM core libs:
-lLLVMLinker-lLLVMArchive-lLLVMBitWriter-lLLVMBitReader-lLLVMInstrumentation-lLLVMipo-lLLVMScalarOpts-lLLVMInstCombine-lLLVMTransformUtils-lLLVMipa-lLLVMAnalysis-lLLVMTarget-lLLVMMC-lLLVMCore-lLLVMSupport
-- LLVM JIT libs:
-lLLVMX86Disassembler-lLLVMX86AsmParser-lLLVMX86CodeGen-lLLVMX86Desc-lLLVMSelectionDAG-lLLVMAsmPrinter-lLLVMMCParser-lLLVMX86AsmPrinter-lLLVMX86Utils-lLLVMX86Info-lLLVMJIT-lLLVMExecutionEngine-lLLVMCodeGen-lLLVMScalarOpts-lLLVMInstCombine-lLLVMTransformUtils-lLLVMipa-lLLVMAnalysis-lLLVMTarget-lLLVMMC-lLLVMCore-lLLVMSupport
-- LLVM JIT objs:
-- Found LLVM: /usr/local/include
-- Found ZLIB: /usr/include
-- Found Freetype: /usr/local/lib/libfreetype.so
-- Looking for XOpenDisplay in
/usr/local/lib/libX11.so;/usr/local/lib/libXext.so
-- Looking for XOpenDisplay in
/usr/local/lib/libX11.so;/usr/local/lib/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/local/lib/libX11.so
-- Found OpenGL: /usr/local/lib/libGL.so
-- Found GLEW: /usr/local/lib/libGLEW.so
-- Found PCRE: /usr/local/lib/libpcre.so
-- Found JPEG: /usr/local/lib/libjpeg.so
-- checking for module 'libxml++-2.6>=2.33.1'
-- found libxml++-2.6, version 2.34.2
-- Boost version: 1.45.0
-- Found the following Boost libraries:
-- filesystem
-- system
-- checking for modules 'cairo;pangocairo'
-- found cairo, version 1.10.2
-- found pangocairo, version 1.28.4
-- checking for module 'x11'
-- found x11, version 1.4.4
-- checking for modules 'libavcodec;libavutil;libavformat'
-- found libavcodec, version 52.123.0
-- found libavutil, version 50.43.0
-- found libavformat, version 52.111.0
-- Looking f...

Read more...

Revision history for this message
Jani Monoses (jani) wrote :

gmake VERBOSE=1 should give you the actual g++ commands executed.

Looks like C++ symbols are missing (std::XXXX, delete operator), so maybe the invocation of the liker step needs to add or change some flags. Maybe an explicit link to lstdc++ ?

Revision history for this message
Rusty Nejdl (rnejdl) wrote :

I banged at this for hours and never got it to compile. Different errors from before. I will do what I have done for other projects and put this aside for now and pick it back up after a few more releases to see if I can make any more progress.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.