Forum Navigation
Linux install of tango and how to compile
Posted: 09/23/07 15:45:31I've followed the instructions at http://www.dsource.org/projects/tango/wiki/UnixInstallGdc, even doing all the optional steps (actual steps shown at bottom of post). I still haven't gotten as much success as I'd like. The manual steps work, but building with dsss fails (in different ways depending on the configuration). dsss.conf file and various build output follows.
My dsss.conf is very simple:
[housebot.d]
target=housebot-0.6
buildflags=-Dddoc/ddoc -unittest -w -g
Manual build with dmd works:
$ dmd -unittest -w -g *.d -Dddoc -oddsss_objs -ofhousebot-0.6
gcc goban.o gogui.o gtp.o hb_version.o housebot.o ipc.o log.o random.o search.o sleep.o tangoBind.o -o housebot-0.6 -m32 -Xlinker -L/bin/../lib -ltango -lphobos -lpthread -lm
Manual build with gdc works:
gdmd -unittest -w -g *.d -Dddoc -oddsss_objs -ofhousebot-0.6 -I/import -version=Posix -L-lgtango
dsss with /etc/rebuild/default set to "profile=gdc-posix-tango" fails:
housebot.d => housebot-0.6
+ /bin/rebuild -Idsss_imports/ -I. -S./ -I/home/jhouse/d/include/d -S/home/jhouse/d/lib/ -I/include/d -S/lib -I/home/jhouse/d/include/d -S/home/jhouse/d/lib -oqdsss_objs -Dddoc/ddoc -unittest -w -g housebot.d -ofhousebot-0.6
dsss_objs/_ipc.o: In function `_D3ipc24synchronizedCommandQueue5_ctorMFZC3ipc24synchronizedCommandQueue':
/home/jhouse/housebot/0.6/ipc.d:231: undefined reference to `_D5tango4core4sync5Mutex5Mutex7ClassZ'
/home/jhouse/housebot/0.6/ipc.d:231: undefined reference to `_D5tango4core4sync5Mutex5Mutex5_ctorMFZC5tango4core4sync5Mutex5Mutex'
/home/jhouse/housebot/0.6/ipc.d:232: undefined reference to `_D5tango4core4sync9Condition9Condition7ClassZ'
/home/jhouse/housebot/0.6/ipc.d:232: undefined reference to `_D5tango4core4sync9Condition9Condition5_ctorMFC5tango4core4sync5Mutex5MutexZC5tango4core4sync9Condition9Condition'
dsss_objs/_ipc.o:(.data+0x36c): undefined reference to `_D5tango4core4sync5Mutex12ModuleInfoZ'
dsss_objs/_ipc.o:(.data+0x370): undefined reference to `_D5tango4core4sync9Condition12ModuleInfoZ'
collect2: ld returned 1 exit status
Command /bin/rebuild returned with code 65280, aborting.
dsss with /etc/rebuild/default set to "profile=dmd-posix-tango" fails:
housebot.d => housebot-0.6
+ /bin/rebuild -Idsss_imports/ -I. -S./ -I/home/jhouse/d/include/d -S/home/jhouse/d/lib/ -I/include/d -S/lib -I/home/jhouse/d/include/d -S/home/jhouse/d/lib -oqdsss_objs -Dddoc/ddoc -unittest -w -g housebot.d -ofhousebot-0.6
gcc dsss_objs/_housebot.o dsss_objs/_goban.o dsss_objs/tango.text.Ascii.o dsss_objs/tango.text.Regex.o dsss_objs/tango.stdc.string.o dsss_objs/tango.stdc.stddef.o dsss_objs/tango.stdc.stdio.o dsss_objs/tango.stdc.stdarg.o dsss_objs/tango.stdc.config.o dsss_objs/tango.stdc.ctype.o dsss_objs/tango.stdc.stdlib.o dsss_objs/tango.core.BitArray?.o dsss_objs/tango.core.Vararg.o dsss_objs/tango.text.convert.Layout.o dsss_objs/tango.text.convert.Utf.o dsss_objs/tango.text.convert.Float.o dsss_objs/tango.text.convert.Integer.o dsss_objs/tango.core.Tuple.o dsss_objs/_log.o dsss_objs/tango.io.Stdout.o dsss_objs/tango.io.Print.o dsss_objs/tango.io.model.IBuffer.o dsss_objs/tango.io.model.IConduit.o dsss_objs/tango.io.Console.o dsss_objs/tango.sys.Common.o dsss_objs/tango.sys.linux.linux.o dsss_objs/tango.stdc.time.o dsss_objs/tango.stdc.posix.dlfcn.o dsss_objs/tango.stdc.posix.config.o dsss_objs/tango.stdc.posix.fcntl.o dsss_objs/tango.stdc.stdint.o dsss_objs/tango.stdc.posix.sys.types.o dsss_objs/tango.stdc.posix.sys.stat.o dsss_objs/tango.stdc.posix.time.o dsss_objs/tango.stdc.posix.signal.o dsss_objs/tango.stdc.signal.o dsss_objs/tango.stdc.posix.poll.o dsss_objs/tango.stdc.posix.pwd.o dsss_objs/tango.stdc.posix.unistd.o dsss_objs/tango.stdc.posix.inttypes.o dsss_objs/tango.stdc.inttypes.o dsss_objs/tango.stdc.posix.sys.select.o dsss_objs/tango.stdc.posix.sys.time.o dsss_objs/tango.sys.linux.epoll.o dsss_objs/tango.stdc.errno.o dsss_objs/tango.io.Buffer.o dsss_objs/tango.io.DeviceConduit?.o dsss_objs/tango.io.Conduit.o dsss_objs/_gogui.o dsss_objs/tango.core.Traits.o dsss_objs/_ipc.o dsss_objs/tango.math.Math.o dsss_objs/tango.stdc.math.o dsss_objs/tango.math.IEEE.o dsss_objs/_tangoBind.o dsss_objs/tango.util.time.DateTime?.o dsss_objs/tango.util.time.Clock.o dsss_objs/tango.util.time.Date.o dsss_objs/tango.core.Type.o dsss_objs/tango.util.time.WallClock?.o dsss_objs/_gtp.o dsss_objs/_sleep.o dsss_objs/tango.stdc.posix.semaphore.o dsss_objs/tango.stdc.posix.pthread.o dsss_objs/tango.stdc.posix.sched.o dsss_objs/tango.stdc.posix.sys.mman.o dsss_objs/tango.stdc.posix.stdlib.o dsss_objs/tango.stdc.posix.sys.wait.o dsss_objs/tango.util.time.StopWatch?.o dsss_objs/tango.text.stream.LineIterator?.o dsss_objs/tango.text.stream.StreamIterator?.o dsss_objs/tango.text.Util.o dsss_objs/_hb_version.o dsss_objs/_search.o dsss_objs/_random.o dsss_objs/tango.math.Random.o -o housebot-0.6 -g -m32 -Xlinker --start-group -lphobos -Xlinker -L./ -Xlinker -L/home/jhouse/d/lib/ -Xlinker -L/lib -Xlinker -L/home/jhouse/d/lib -Xlinker -L/bin/../lib -ltango -Xlinker -L/bin/../lib -ltango -lphobos -lpthread -lm
dsss_objs/_search.o: In function `_D9tangoBind43T7_assignTC5goban5colorTC5goban5colorVb0Z7_assignFKC5goban5colorKC5goban5colorZv':
/home/jhouse/housebot/0.6/goban.d:298: multiple definition of `_D9tangoBind38T18isStaticArray_implTC5goban5colorZ4instC5goban5color'
dsss_objs/_housebot.o:(.bss+0x28): first defined here
dsss_objs/_search.o: In function `_D9tangoBind43T7_assignTC5goban5colorTC5goban5colorVb0Z7_assignFKC5goban5colorKC5goban5colorZv':
/home/jhouse/housebot/0.6/goban.d:298: multiple definition of `_D9tangoBind41T18isStaticArray_implTC5goban8positionZ4instC5goban8position'
dsss_objs/_housebot.o:(.bss+0x34): first defined here
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
.gnu.linkonce.t_D5goban38__T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' referenced in section .data' of dsss_objs/_search.o: defined in discarded section `.gnu.linkonce.t_D5goban38T7board2DTiTC5goban14simplePositionZ7board2D6toUtf8MFZAa' of dsss_objs/_search.o
collect2: ld returned 1 exit status
--- errorlevel 1
Command /bin/rebuild returned with code 65280, aborting.
For reference, the tango installation steps that I did:
cd /path/to/tango/lib
./build-gdc.sh
sudo ./install-gdc.sh
sudo cp -Rf ../tango /include/d/4.1.2/
cd /include/d/4.1.2/
for dir in find . -type d ; do sudo chmod 755 $dir ; done
for file in find . -type f ; do sudo chmod 644 $file ; done
cd /path/to/tango/lib # Minor issue with instructions - not mentioned
./build-tango.sh gdc
export GDC_TEMP="gdc -print-file-name=libgcc.a"
export GDC_LIB_DIR="dirname $GDC_TEMP"
sudo cp libgtango.a $GDC_LIB_DIR
There are no responses to display.