LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 12-14-2015, 04:10 PM   #1
gf@LQ
LQ Newbie
 
Registered: Dec 2015
Posts: 2

Rep: Reputation: Disabled
Build problem for Seamonkey 2.39 nsThreadUtils.h error: Iteration used but never defined


Hi All, been reading the forum for a long time but first time post :-)
Got Slackware 14.1 x86_64 DVD full install.

The problem
Seamonkey 2.39 SlackBuild fails, but I'm not sure how to track down the problem. (or I might be misunderstanding the problem)

Compiling seamonkey 2.39, received error messages but I'm such a noob on C++ templates, so I thought
"maybe I"m missing some libs, or passing the wrong args.."

It would be nice if fellow slackware users could nudge me in the right direction, even just a hint, for what sort of mistake I'm making...

The following was performed
Using seamonkey.SlackBuild from
http://slackbuilds.org/mirror/slackw...xap/seamonkey/
good old wget -r -np && chmod +x seamonkey.SlackBuild
And running
Code:
./seamonkey.SlackBuild
[...skipping lines...]
make[2]: *** [compile] Error 2
make[2]: Leaving directory `/tmp/seamonkey-2.39/obj'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/tmp/seamonkey-2.39/obj'
make: *** [build] Error 2
The error message was hard to track with -j7, so changed number of jobs to 1 and got
Code:
NUMJOBS=" -j1 " ./seamonkey.SlackBuild
[...skipping lines...]
make[4]: Entering directory `/tmp/seamonkey-2.39/obj/dom/media'
c++ -o Unified_cpp_dom_media1.o -c -I../../dist/stl_wrappers -I../../dist/system_wrappers -include /tmp/seamonkey-2.39/mozilla/config/gcc_hidden.h -DMOZILLA_INTERNAL_API -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DAB_CD=en-US -DNO_NSPR_10_SUPPORT -I/tmp/seamonkey-2.39/mozilla/dom/media -I. -I/tmp/seamonkey-2.39/obj/ipc/ipdl/_ipdlheaders -I/tmp/seamonkey-2.39/mozilla/caps -I/tmp/seamonkey-2.39/mozilla/dom/base -I/tmp/seamonkey-2.39/mozilla/dom/camera -I/tmp/seamonkey-2.39/mozilla/layout/generic -I/tmp/seamonkey-2.39/mozilla/layout/xul -I/tmp/seamonkey-2.39/mozilla/netwerk/base -I/tmp/seamonkey-2.39/mozilla/media/webrtc/signaling/src/common -I/tmp/seamonkey-2.39/mozilla/media/webrtc/trunk -I/tmp/seamonkey-2.39/mozilla/ipc/chromium/src -I/tmp/seamonkey-2.39/mozilla/ipc/glue -I../../dist/include   -I/tmp/seamonkey-2.39/obj/dist/include/nspr -I/tmp/seamonkey-2.39/obj/dist/include/nss       -fPIC   -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MP -MF .deps/Unified_cpp_dom_media1.o.pp  -Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -fno-exceptions -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -pipe  -DNDEBUG -DTRIMMED -g -O2 -fomit-frame-pointer  -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wno-error=attributes   /tmp/seamonkey-2.39/obj/dom/media/Unified_cpp_dom_media1.cpp
In file included from ../../dist/include/AudioCompactor.h:11:0,
                 from ../../dist/include/MediaDecoderReader.h:16,
                 from ../../dist/include/PlatformDecoderModule.h:10,
                 from ../../dist/include/SamplesWaitingForKey.h:12,
                 from ../../dist/include/mozilla/CDMCaps.h:16,
                 from ../../dist/include/mozilla/CDMProxy.h:10,
                 from /tmp/seamonkey-2.39/mozilla/dom/media/MediaDecoder.h:206,
                 from /tmp/seamonkey-2.39/mozilla/dom/media/MP3Decoder.h:9,
                 from /tmp/seamonkey-2.39/mozilla/dom/media/MP3Decoder.cpp:8,
                 from /tmp/seamonkey-2.39/obj/dom/media/Unified_cpp_dom_media1.cpp:20:
../../dist/include/VideoUtils.h: In instantiation of ‘mozilla::InvokeUntil(Work, Condition)::Helper::Iteration(nsRefPtr<mozilla::MozPromise<bool, nsresult, false>::Private>, Work, Condition) [with Work = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>; Condition = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>]::<lambda()>’:
../../dist/include/VideoUtils.h:294:33:   required from ‘struct mozilla::InvokeUntil(Work, Condition)::Helper::Iteration(nsRefPtr<mozilla::MozPromise<bool, nsresult, false>::Private>, Work, Condition) [with Work = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>; Condition = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>]::<lambda()>’
../../dist/include/VideoUtils.h:297:11:   required from ‘static void mozilla::InvokeUntil(Work, Condition)::Helper::Iteration(nsRefPtr<mozilla::MozPromise<bool, nsresult, false>::Private>, Work, Condition) [with Work = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>; Condition = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>]’
../../dist/include/VideoUtils.h:303:3:   required from ‘nsRefPtr<mozilla::MozPromise<bool, nsresult, false> > mozilla::InvokeUntil(Work, Condition) [with Work = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>; Condition = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>]’
/tmp/seamonkey-2.39/mozilla/dom/media/MediaDecoderReader.cpp:169:4:   required from here
../../dist/include/VideoUtils.h:295:17: error: ‘Iteration’ was not declared in this scope
In file included from ../../dist/include/mozilla/MozPromise.h:19:0,
                 from ../../dist/include/mozilla/TaskQueue.h:11,
                 from /tmp/seamonkey-2.39/mozilla/dom/media/MediaStreamGraph.h:11,
                 from /tmp/seamonkey-2.39/mozilla/dom/media/MediaStreamGraphImpl.h:9,
                 from /tmp/seamonkey-2.39/mozilla/dom/media/GraphDriver.cpp:6,
                 from /tmp/seamonkey-2.39/obj/dom/media/Unified_cpp_dom_media1.cpp:2:
../../dist/include/nsThreadUtils.h:267:31: error: ‘nsRunnableFunction<Function>* NS_NewRunnableFunction(const Function&) [with Function = mozilla::InvokeUntil(Work, Condition)::Helper::Iteration(nsRefPtr<mozilla::MozPromise<bool, nsresult, false>::Private>, Work, Condition) [with Work = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>; Condition = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>]::<lambda()>]’, declared using local type ‘const mozilla::InvokeUntil(Work, Condition)::Helper::Iteration(nsRefPtr<mozilla::MozPromise<bool, nsresult, false>::Private>, Work, Condition) [with Work = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>; Condition = mozilla::MediaDecoderReader::DecodeToFirstVideoData()::<lambda()>]::<lambda()>’, is used but never defined [-fpermissive]
make[4]: *** [Unified_cpp_dom_media1.o] Error 1
make[4]: Leaving directory `/tmp/seamonkey-2.39/obj/dom/media'
make[3]: *** [dom/media/target] Error 2
make[3]: Leaving directory `/tmp/seamonkey-2.39/obj'
make[2]: *** [compile] Error 2
make[2]: Leaving directory `/tmp/seamonkey-2.39/obj'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/tmp/seamonkey-2.39/obj'
make: *** [build] Error 2

This seem to indicate, [from my understanding] that
1) /tmp/seamonkey-2.39/obj/dom/media/Unified_cpp_dom_media1.cpp had failed compiling.
2) /tmp/seamonkey-2.39/obj/dist/include/VideoUtils.h on line 295 is using a cpp template of some sort.
3) The lines in question is
Code:
nsCOMPtr<nsIRunnable> r =
  NS_NewRunnableFunction(
    [aPromise, aWork, aCondition] () {
      Iteration(aPromise, aWork, aCondition);
    }
  );
4) It's using
Code:
Iteration(aPromise, aWork, aCondition);
5) The typical error of
error: ‘x’, declared using local type ‘y’, is used but never defined [-fpermissive] is being generated
6) It it indicated that "Iteration" is not within scope,
so googling led me to
http://stackoverflow.com/questions/4...he-header-file
7)Humm... <- stuck here

I thought about missing libs, but /var/log/packages/ indicate otherwise... (and seamonkey 2.26. was built ok, using same box)
The changes I have made since building 2.26.1 is
installing gstreamer1 package (as a slackbuld, naturally)
So the only thing that comes up to my mind is BUG 886180
https://bugzilla.mozilla.org/show_bug.cgi?id=886180
but that's supposed to be disabled by default, right? (Well, its said to be FIXED anyway...)
Or due to using a different .mozconfig
(2.26.1 was built using a custom .mozconfig, but the 2.39 is straight off from SlackBuild)

Stepping back a few steps, the SlackBuilds should work for most,
and the mozilla devs have the build bots.

So it's me who is passing something wrong to the build process...
But I'm kinda lost on how to proceed.
Please, I'd like to receive opinion/guesses from others on the subject.
[on building seamonkey 2.39]

Thanks for reading :-)

greenfox
 
Old 12-14-2015, 05:15 PM   #2
Didier Spaier
LQ Addict
 
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,057

Rep: Reputation: Disabled
Hi and welcome,

You could instead try to build from the stuff available here: http://slackbuilds.org/mirror/slackw...xap/seamonkey/

If that doesn't work, just wait for Slacwkare-14.2 to be released

Also, bear in mind that requirements for building concerning dependencies can change when you upgrade.
 
Old 12-14-2015, 06:37 PM   #3
John VV
LQ Muse
 
Registered: Aug 2005
Location: A2 area Mi.
Posts: 17,624

Rep: Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651
mozilla uses gcc 4.7

newer versions might not build seamonkey
-- from
Code:
about:buildconfig
-------------

Build platform
target
x86_64-unknown-linux-gnu
Build tools
Compiler 	Version 	Compiler flags
/usr/bin/ccache /builds/slave/rel-c-rel-lnx64-bld/build/gcc/bin/gcc 	4.7.3 	-Wall -Wdeclaration-after-statement -Wempty-body -Wpointer-to-int-cast -Wsign-compare -Wtype-limits -Wno-unused -Wcast-align -gdwarf-2 -DYUV_DISABLE_ASM=1 -std=gnu99 -fgnu89-inline -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pthread -pipe
/usr/bin/ccache /builds/slave/rel-c-rel-lnx64-bld/build/gcc/bin/g++ 	4.7.3 	-Wall -Wempty-body -Woverloaded-virtual -Wsign-compare -Wwrite-strings -Wno-invalid-offsetof -Wcast-align -gdwarf-2 -DYUV_DISABLE_ASM=1 -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -std=gnu++0x -pthread -D_GLIBCXX_USE_CXX11_ABI=0 -pipe -DNDEBUG -DTRIMMED -gdwarf-2 -freorder-blocks -Os -fomit-frame-pointer
Configure arguments

--enable-crashreporter --enable-release --enable-elf-hack --enable-stdcxx-compat --enable-default-toolkit=cairo-gtk2 --enable-application=suite --enable-optimize --enable-update-channel=release --enable-update-packaging --disable-debug --enable-tests --enable-debug-symbols=-gdwarf-2 --with-ccache=/usr/bin/ccache --with-external-source-dir=/builds/slave/rel-c-rel-lnx64-bld/build
 
Old 12-14-2015, 07:24 PM   #4
gf@LQ
LQ Newbie
 
Registered: Dec 2015
Posts: 2

Original Poster
Rep: Reputation: Disabled
hi Didier
Thanks for the greetings :-)

and...Um, there was a typo...
naturally, the url was not /slackware-14.1/ but /slackware-current/ ...

After you mentioned it, I intentionally did try running /slackware-14.1/seamonkey.SlackBuild against
seamonkey-2.39.source.tar.xz, and it [correctly] fails with the message
Code:
wget -O seamonkey.SlackBuild141 http://slackbuilds.org/mirror/slackware/slackware-14.1/source/xap/seamonkey/seamonkey.SlackBuild141
chmod +x seamonkey.SlackBuild141
./seamonkey.SlackBuild141
[...skipping outout of tar...]
seamonkey-2.39/client.py
./sb-14.1: line 58: cd: comm-release: No such file or directory
so yes, logically I would be unable to get such error message[as listed in the avobe post] if I was using the 14.1 repo.
The above post of mine did get the error message from /slackware-current/eamonkey.SlackBuild

However, I do sincerely apologize for the confusing typo I have made. ;-)
Somehow the 14.1 number was stuck in my head (probably from a different box).

OK, so let me set my self straight. The box in question has...
Code:
cat /etc/slackware-version
Slackware 14.0
seamonkey --version
Mozilla SeaMonkey 2.26.1
gcc --version |head -1
gcc (GCC) 4.7.1
OK, I seem to have 14.0 [on this box I'm typing], and yes, the 2.26.1 is what I am typing this message atm.
http://slackbuilds.org/mirror/slackw...xap/seamonkey/
14.1 has seamonkey-2.21.source.tar.xz
and
http://slackbuilds.org/mirror/slackw...xap/seamonkey/
current has seamonkey-2.39.source.tar.xz

So deducting the difference, requirement has changed between 2.26.1 and 2.39
and that I'm not exactly sure about the status of this box.
I do know that I have applied numerous patches and installed various libs over the years.

Just for curiosity's sake, how would one deduce the logical steps needed to upgrade necessary packages to build sm2.39 ?

I'm still not sure about why such a error (template/scope error of cpp) could be generated...
(something similar happened in the past when I forgot to install boost, but that's another story)
I know it might sound silly, but I would like to know the technical reasoning/background for future reference.

Oh, and I'm more then happy to upgrade anyway. Just more learning.

greenfox
 
Old 12-14-2015, 08:27 PM   #5
Drakeo
Senior Member
 
Registered: Jan 2008
Location: Urbana IL
Distribution: Slackware, Slacko,
Posts: 3,716
Blog Entries: 3

Rep: Reputation: 483Reputation: 483Reputation: 483Reputation: 483Reputation: 483
If your building from that you need to use this one from patches. make sure your system is up to date. http://slackbuilds.org/mirror/slackw...rce/seamonkey/.
if using slackpkg slackpkg update slackpackage up grade all. I rebuild Seamonkey every update. I build it with pulseaudio enabled. I do not seem to have an issue.
but I keep an up to date mirror of the repo on my system. http://www.slackware.com/~alien/tool...are-current.sh
Use the command if running default. Run as root.
Code:
sh  mirror-slackware-current.sh -a x86_64 -r 14.1
By default it places the repo and builds the install iso to this location.
Code:
/home/ftp/pub/Linux/Slackware/slackware64-14.1/
some of the stuff you build actually use other parts of the repo at the time of building.
Make sure you have a full install.

Last edited by Drakeo; 12-14-2015 at 08:38 PM. Reason: Make sure you have a full install.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
C error "warning: iteration 250u invokes undefined behaviour" knobby67 Programming 20 04-23-2015 07:33 AM
[SOLVED] Problem in dispaly of output using awk in array iteration. saurabhmehan Linux - Newbie 4 07-29-2010 11:04 AM
firmware build error edimax br-6215SRG, It appears you have defined _FILE_OFFSET_BIT dont_stop_me Linux - Embedded & Single-board computer 0 02-03-2010 04:19 AM
Build seamonkey from source onto Lenny Cyberman Debian 1 04-22-2009 04:52 PM
no swf sound in mozilla ( seamonkey source build ) drkstr Slackware 31 05-30-2006 02:31 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 06:36 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration