[Ohrrpgce] unlump and relump not building

Ralph Versteegen teeemcee at gmail.com
Mon Jan 2 01:51:11 PST 2017


I managed to fix the problems I hit by forward-declaring Frame and
Palette16 in gfx.bi. I was too pessimistic before; I don't think we'll have
much trouble in future, since udts.bi is no longer included by any of the
'low level' modules like lumpfile.bas and reload.bas which are linked into
utilities. And it's a separation between the medium level stuff (slices.bi,
common.bi and udt.bi) and the high-level headers such as scriptcommands.bi
and menustuf.bi.

A release build of unlump is 244KB (102KB zipped), and ohrrpgce-game is
2.6MB (886KB zipped). So linking all the common modules would actually add
a lot of bloat (I didn't check how much). With unlump+relump combined it
would increase download size about 1MB.

On 2 January 2017 at 17:13, James Paige <Bob at hamsterrepublic.com> wrote:

> I have no problem at all with linking everything and the kitchen sink into
> the command line programs. Trying to keep them minimalist doesn't sound
> worth the effort.
>
> On Sun, Jan 1, 2017 at 7:16 PM, Ralph Versteegen <teeemcee at gmail.com>
> wrote:
>
>> This is the perfect excuse to cleanup udts.bi, moving definitions to
>> allmodex.bi or elsewhere!
>>
>> (Some time later) Oh dear, this is near-hopeless. Our header files all
>> have circular dependencies on things in other header files, and the
>> utilities aren't linked against allmodex.bas, common.bas, or maybe other
>> modules. If we want to add more constructors to other UDTs we'll get a lot
>> more error messages like that. I think I can maybe work my way around the
>> Animation ctor problem, but long term we might be forced to either use a
>> bunch of #ifdefs in the header, or link everything into each commandline
>> utility.
>>
>> On 2 January 2017 at 05:52, James Paige <Bob at hamsterrepublic.com> wrote:
>>
>>> unlump and relump are currently not building, apparently something to do
>>> with ANIMATION::ANIMATION()
>>>
>>> james at ghostorchid:~/Dropbox/src/ohr/wip$ scons relump
>>> scons: Reading SConscript files ...
>>> Using target: linux  arch: x86  gcc: gcc  gcctarget: x86_64-linux-gnu
>>> fbcversion: 1050
>>> scons: done reading SConscript files.
>>> scons: Building targets ...
>>> fbc -c relump.bas -o build/relump.o -m relump -mt -exx -g -O 2 -target
>>> linux -arch 686
>>> g++ -O3 -DFBCVERSION=1050 -m32 -mpreferred-stack-boundary=2 -mno-sse
>>> --std=c++0x -g -Wall -Wno-non-virtual-dtor -o relump build/relump.o
>>> build/lumpfile.o build/os_unix.o build/os_unix2.o build/util.o build/blit.o
>>> build/base64.o build/unicode.o build/array.o build/miscc.o
>>> build/filelayer.o build/vector.o build/common_base.o "-Wl,-("
>>> -Wl,--add-needed -Wl,-L/usr/local/bin/../lib/freebasic/linux-x86
>>> /usr/local/bin/../lib/freebasic/linux-x86/fbrt0.o -lfbmt
>>> linux/fb_icon.c -lncurses -lpthread "-Wl,-)"
>>> build/lumpfile.o: In function `SPRITESET::operator=(SPRITESET const&)':
>>> /home/james/Dropbox/src/ohr/wip/udts.bi:153: undefined reference to
>>> `ANIMATION::ANIMATION()'
>>> collect2: error: ld returned 1 exit status
>>> scons: *** [relump] Error 1
>>> scons: building terminated because of errors.
>>>
>>>
>>> _______________________________________________
>>> Ohrrpgce mailing list
>>> ohrrpgce at lists.motherhamster.org
>>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>>
>>>
>>
>> _______________________________________________
>> Ohrrpgce mailing list
>> ohrrpgce at lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
>>
>
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20170102/aa1f087f/attachment-0001.htm>


More information about the Ohrrpgce mailing list