June 09, 2010
Hi, I have (sort of) 2 questions:

Background:
I was doing some coding using Phobos, and recently switched to using Tango.

1. I'm trying to build using dsss and it says :
/usr/bin/ld: cannot find -lphobos
collect2: ld returned 1 exit status
--- errorlevel 1
Command /usr/bin/rebuild returned with code 65280, aborting. Error: Command failed, aborting.

Then I have a shellscript that links all the object files that dsss produced together :
cd dsss_objs/D
dmd -v *.o -L-ldl ~/d/lib/libDerelictSDL.a  ~/d/lib/libDerelictSDLImage.a
~/d/lib/libDerelictGL.a ~/d/lib/libDerelictGLU.a ~/d/lib/libDerelictUtil.a
/usr/lib/libSDL_image.a

Which outputs:

gcc flb.gui.boxmaker.o flb.gui.fontdata.o
...
tango.core.Array.o tango.core.BitManip.o tango.core.Exception.o tango.core.Memory.o
tango.core.Thread.o tango.core.tools.Demangler.o tango.core.tools.LinuxStackTrace.o
tango.core.tools.StackTrace.o tango.core.tools.TraceExceptions.o tango.core.Traits.o
tango.io.Console.o tango.io.device.Conduit.o tango.io.device.Device.o tango.io.device.File.o
tango.io.model.IConduit.o tango.io.stream.Buffered.o tango.io.stream.Iterator.o
tango.io.stream.Lines.o tango.stdc.config.o tango.stdc.ctype.o tango.stdc.errno.o
tango.stdc.inttypes.o tango.stdc.locale.o tango.stdc.posix.config.o tango.stdc.posix.dlfcn.o
tango.stdc.posix.fcntl.o tango.stdc.posix.inttypes.o tango.stdc.posix.langinfo.o
tango.stdc.posix.poll.o tango.stdc.posix.pthread.o tango.stdc.posix.pwd.o
tango.stdc.posix.sched.o tango.stdc.posix.semaphore.o tango.stdc.posix.signal.o
tango.stdc.posix.stdlib.o tango.stdc.posix.sys.mman.o tango.stdc.posix.sys.select.o
tango.stdc.posix.sys.stat.o tango.stdc.posix.sys.time.o tango.stdc.posix.sys.types.o
tango.stdc.posix.sys.wait.o tango.stdc.posix.time.o tango.stdc.posix.ucontext.o
tango.stdc.posix.unistd.o tango.stdc.signal.o tango.stdc.stdarg.o tango.stdc.stddef.o
tango.stdc.stdint.o tango.stdc.stdio.o tango.stdc.stdlib.o tango.stdc.string.o
tango.stdc.stringz.o tango.stdc.time.o tango.sys.Common.o tango.sys.consts.errno.o
tango.sys.consts.fcntl.o tango.sys.consts.unistd.o tango.sys.linux.consts.errno.o
tango.sys.linux.consts.fcntl.o tango.sys.linux.consts.unistd.o tango.sys.linux.epoll.o
tango.sys.linux.linux.o tango.text.convert.DateTime.o tango.text.convert.Float.o
tango.text.convert.Format.o tango.text.convert.Integer.o tango.text.convert.Layout.o
tango.text.convert.Utf.o tango.text.locale.Data.o tango.text.locale.Posix.o tango.text.Util.o
tango.time.chrono.Calendar.o tango.time.chrono.Gregorian.o tango.time.Clock.o
tango.time.Time.o tango.time.WallClock.o tango.util.log.AppendConsole.o
tango.util.log.Config.o tango.util.log.LayoutDate.o tango.util.log.Log.o
tango.util.log.model.ILogger.o tango.util.log.Trace.o -o flb.gui.boxmaker -m32 -ldl -Xlinker -
L/usr/lib ~/d/lib/libDerelictSDL.a ~/d/lib/libDerelictSDLImage.a ~/d/lib/libDerelictGL.a
~/d/lib/libDerelictGLU.a ~/d/lib/libDerelictUtil.a /usr/lib/libSDL_image.a -ltango-dmd -
lpthread -lm

And this generates a binary file which seems to work.

However, it leaks memory as if the GC is not actually working at all. (I have some word wrap code that allocates dynamic arrays and returns them to the caller .. which has them in a local variable and later discards them)

Valgrind reports that as a leak ...

If I manually delete some intermediate arrays, it leaks less...

Isn't the GC supposed to be able to free the memory?

June 09, 2010
Fred Burton <fredlburton@gmail.com> wrote:

Please do repost this in digitalmars.D.learn. This newsgroup is no longer in use.

As for your problem, I'm afraid I have no good answers.

-- 
Simen