Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 396449 - games-engines/frobtads-1.2.1: version bump
Summary: games-engines/frobtads-1.2.1: version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Gentoo Games
URL: 396449
Whiteboard:
Keywords:
: 401885 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-12-29 20:16 UTC by Nikos Chantziaras
Modified: 2012-09-01 16:18 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
frobtads-1.1.ebuild.patch (frobtads-1.1.ebuild.patch,1.98 KB, patch)
2011-12-29 20:17 UTC, Nikos Chantziaras
Details | Diff
gdb session of failing test (out,5.93 KB, text/plain)
2012-09-01 16:18 UTC, Ambroz Bizjak
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikos Chantziaras 2011-12-29 20:16:57 UTC
FrobTADS 1.1 is now available. It needs ebuild changes; the compiler sources are integrated into the main package now and building them is enabled by default unless disabled with configure options.

"-pthread" needs to be appended to CXXFLAGS for the test suite (FEATURES=test USE=debug) to build correctly with "--as-needed" in the linker flags.

Also, libcurl is needed (for the game server functionality - which is not an optional feature.)

I am attaching the patch against the 1.0 ebuild.

Reproducible: Always
Comment 1 Nikos Chantziaras 2011-12-29 20:17:23 UTC
Created attachment 297341 [details, diff]
frobtads-1.1.ebuild.patch
Comment 2 Nikos Chantziaras 2012-02-02 19:54:58 UTC
*** Bug 401885 has been marked as a duplicate of this bug. ***
Comment 3 Nikos Chantziaras 2012-02-15 16:49:02 UTC
If the games herd lacks the time to take care of this, you could put it under maintainer-needed and I will contact proxy-maint to proxy-maintain this package.
Comment 4 Nikos Chantziaras 2012-08-06 08:49:03 UTC
Version 1.2 has been released.  It's now in the interactive fiction overlay:

http://repo.or.cz/w/gentoo-interactive-fiction.git/tree/HEAD:/games-engines/frobtads
Comment 5 Nikos Chantziaras 2012-08-23 13:29:47 UTC
Version 1.2.1 released (and is in the overlay.)
Comment 6 Julian Ospald 2012-08-23 19:48:45 UTC
+  23 Aug 2012; Julian Ospald <hasufell@gentoo.org> +frobtads-1.2.1.ebuild,
+  +files/frobtads-1.2.1-underlinking.patch:
+  version bump wrt #396449



make check is currently broken, I reported the bug upstream, but there is no bugtracker.
Comment 7 Nikos Chantziaras 2012-08-24 05:35:35 UTC
Thanks. Upstream for this is... me. I'll also introduce an autoconf check for pthread so that you won't have to carry any patches.
Comment 8 Julian Ospald 2012-08-24 17:47:38 UTC
while you are at it... it seems TADS upstream recommends to add -fno-strict-aliasing anyway in the Makefile

http://bugdb.tads.org/view.php?id=163
Comment 9 Nikos Chantziaras 2012-08-24 18:14:56 UTC
The test suite fix is now in Git:

https://www.assembla.com/code/frobtads/git/changesets/40ef1d46c208642855637b1e04ef2d5b116edbfc

So in the next release it will be working again.

Yes, -fno-strict-aliasing should also apply to CFLAGS, not just CXXFLAGS.  But maybe it's a bogus GCC 4.5 warning that was fixed in later versions.  I have GCC 4.6.3 and 4.7.1 installed, and neither of those produce that warning with -Wall.
Comment 10 Julian Ospald 2012-08-24 18:26:29 UTC
do all tests succeed for you? I get

PASS: test/test_obj
Preprocessor test: ansi
Preprocessor test: circ
Preprocessor test: circ2
Preprocessor test: embed
Preprocessor test: define
Preprocessor test: ifdef
Preprocessor test: concat
Preprocessor test: varmacpp
PASS: testscripts/test_pp.sh
Execution test: basic
Execution test: finally
Execution test: dstr
Execution test: fnredef
Execution test: undo
Execution test: gotofin
Execution test: builtin
FAIL: testscripts/test_ex.sh
'Make' test: asi
'Make' test: anon
'Make' test: anonfunc
'Make' test: anonobj
'Make' test: anonvarg
'Make' test: badnest
'Make' test: bignum
'Make' test: bignum2
'Make' test: findreplace
'Make' test: foreach
'Make' test: funcparm
'Make' test: htmlify
'Make' test: ifnil
'Make' test: inh_next
'Make' test: isin
'Make' test: join
'Make' test: lclprop
'Make' test: listprop
'Make' test: lookup
'Make' test: lookup2
'Make' test: lookup3
'Make' test: lookupdef
'Make' test: multidyn
'Make' test: nested
'Make' test: newprop
'Make' test: objloop
'Make' test: opoverload
'Make' test: propaddr
'Make' test: propptr
'Make' test: rexassert
'Make' test: rexreplace
'Make' test: setsc
'Make' test: shr
'Make' test: spec2html
'Make' test: spec2text
'Make' test: split
'Make' test: sprintf
'Make' test: strcomp2
'Make' test: strbuf
'Make' test: substr
'Make' test: unicode
'Make' test: varmac
'Make' test: vector
'Make' test: vector2
'Make' test: vector3
'Make' test: testaddr2
'Make' test: testaddr3
'Make' test: testaddr4
'Make' test: strtpl
'Make' test: listminmax
'Make' test: packstr
'Make' test: packarr
'Make' test: strcomp3
'Make' test: catch
'Make' test: save
'Make' test: html
'Make' test: addlist
'Make' test: listpar
'Make' test: arith
'Make' test: extfunc
'Make' test: objrep
'Make' test: funcrep
'Make' test: conflict
'Make' test: vocext
'Make' test: extern
'Make' test: objmod
'Make' test: gram2
'Make' test: rand
'Make' test: stack
'Make' test: targprop
'Make' test: clone
'Make' test: printexpr
'Make' test: dynctx
'Make' test: vec_pre
'Make' test: symtab
'Make' test: enumprop
'Make' test: modtobj
'Make' test: undef
'Make' test: undef2
'Make' test: newembed
'Make' test: newembederr
'Make' test: triplequote
'Make' test: optargs
'Make' test: optargs_err
'Make' test: optargs_err2
'Make' test: multimethod_dynamic2
'Make' test: multimethod_static2
'Make' test: namedparam
'Make' test: bifptr
'Make' test: setmethod
'Make' test: lclvars
'Make' test: dynamicGrammar
'Make' test: iter
'Restore' test: iter2
PASS: testscripts/all_make.sh
Preinit test: preinit
PASS: testscripts/test_pre.sh
=================================
1 of 5 tests failed
Please report to realnc@gmail.com
=================================
Comment 11 Nikos Chantziaras 2012-08-24 18:40:31 UTC
The failed test if a 1 byte memory leak at process exit.  That's the "finally" test (you can see which one it was in test/out; every failed test generates a *.diff).

It only happens when compiling with -O1 or higher.  So that means something in the code breaks with the GCC optimizer.  With -O0 all seems fine.
Comment 12 Nikos Chantziaras 2012-08-24 18:41:52 UTC
(In reply to comment #9)
> Yes, -fno-strict-aliasing should also apply to CFLAGS, not just CXXFLAGS. 
> But maybe it's a bogus GCC 4.5 warning that was fixed in later versions.  I
> have GCC 4.6.3 and 4.7.1 installed, and neither of those produce that
> warning with -Wall.

Strike that.  The warning is also there with 4.6/4.7.  The problem is that it is *only* emitted when building with -fstrict-aliasing.  This is very weird, since strict aliasing rules is the default setting to begin with...
Comment 13 Ambroz Bizjak 2012-09-01 16:18:39 UTC
Created attachment 322733 [details]
gdb session of failing test

The leak is in CVmImageLoader::run in the 'argmap' variable. This object is allocated on line vmimage.cpp:852, but not released on line 958. The program does reach line 958, but there, argmap==NULL, and is not released.

This seems to me like a compiler bug. Attached gdb session suggest that the compiler has optimized out the variable and the check, and assumed that argmap==NULL on line 958.