Tango Problems..
I have several files, which I am trying to import as modules to a central file. However, whyile trying to complie with dmd -L-ltango-dmd list of files space separated However, I am getting this error : /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput6formatMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput': ./tango/io/Stdout.d:(.text._D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput6formatMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput+0x12b): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput8formatlnMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput': ./tango/io/Stdout.d:(.text._D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput8formatlnMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput+0x130): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput5printMFYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput': ./tango/io/Stdout.d:(.text._D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput5printMFYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput+0x131): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout6sprintMFAaAxaYAa': ./tango/io/Stdout.d:(.text._D5tango4text7convert6Layout13__T6LayoutTaZ6Layout6sprintMFAaAxaYAa+0x125): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAxaYAa': ./tango/io/Stdout.d:(.text._D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAxaYAa+0x11e): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o):./tango/io/Stdout.d:(.text._D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFDFAxaZmAxaYk+0x114): more undefined references to `_D4core4stdc6stdarg6va_endFPvZv' follow I tried a small hellow owrld file, the same problem. Yes, the 64 bit linux system updated today, and since then, this is a problem - how do I start to look for cause and solve?
Re: Tango Problems..
Oh, I am using netrunner linux with arch/manjaro core.
Re: Tango Problems..
From what I understand in the error message, the linker cannot find a druntime function: void core.stdc.stdarg.va_end(void*). I would advise to check that the druntime lib is in the import path. In your the dmd repository, you should have a dmd.conf file containing something like: [Environment64] DFLAGS=-I%@P%/../src/phobos -I%@P%/../src/druntime/import -L-L%@P%/../lib64 -L--export-dynamic (%@P% means the compiler path). This should help you to fix your command line adding for instance: -I/usr/local/lib/dmd/druntime/ In my dmd installation (2.066.0), the druntime is contained in libphobos.a/libphobos.so. Are you linking with libphobos? On 08/31/2014 03:53 PM, seany wrote: I have several files, which I am trying to import as modules to a central file. However, whyile trying to complie with dmd -L-ltango-dmd list of files space separated However, I am getting this error : /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput6formatMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput': ./tango/io/Stdout.d:(.text._D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput6formatMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput+0x12b): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput8formatlnMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput': ./tango/io/Stdout.d:(.text._D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput8formatlnMFxAaYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput+0x130): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput5printMFYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput': ./tango/io/Stdout.d:(.text._D5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput5printMFYC5tango2io6stream6Format20__T12FormatOutputTaZ12FormatOutput+0x131): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout6sprintMFAaAxaYAa': ./tango/io/Stdout.d:(.text._D5tango4text7convert6Layout13__T6LayoutTaZ6Layout6sprintMFAaAxaYAa+0x125): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o): In function `_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAxaYAa': ./tango/io/Stdout.d:(.text._D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAxaYAa+0x11e): undefined reference to `_D4core4stdc6stdarg6va_endFPvZv' /usr/lib/libtango-dmd.a(tango-io-Stdout-release.o):./tango/io/Stdout.d:(.text._D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFDFAxaZmAxaYk+0x114): more undefined references to `_D4core4stdc6stdarg6va_endFPvZv' follow I tried a small hellow owrld file, the same problem. Yes, the 64 bit linux system updated today, and since then, this is a problem - how do I start to look for cause and solve?
Re: Tango Problems..
On Sunday, 31 August 2014 at 15:40:04 UTC, Rémy Mouëza wrote: From what I understand in the error message, the linker cannot find a druntime function: void core.stdc.stdarg.va_end(void*). I would advise to check that the druntime lib is in the import path. In your the dmd repository, you should have a dmd.conf file containing something like: [Environment64] DFLAGS=-I%@P%/../src/phobos -I%@P%/../src/druntime/import -L-L%@P%/../lib64 -L--export-dynamic (%@P% means the compiler path). This should help you to fix your command line adding for instance: -I/usr/local/lib/dmd/druntime/ In my dmd installation (2.066.0), the druntime is contained in libphobos.a/libphobos.so. Are you linking with libphobos? This is what I have : Environment] DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib -L-L/usr/lib32 -L--export-dynamic
Re: Tango Problems..
I am linking against tango ldc -I/path/to/tango -L-L/path/to/tango -L-ltango-dmd \
Re: Tango Problems..
I have checked my ldc installation: the druntime library is located in ldc2-0.12.0-linux-x86/x86/libdruntime-ldc.a You should also add a some extra flags like: -L-L/path/to/ldc/lib/architecture -L-Ldruntime-ldc . On 08/31/2014 05:52 PM, seany wrote: I am linking against tango ldc -I/path/to/tango -L-L/path/to/tango -L-ltango-dmd \
Re: Tango Problems..
On Sunday, 31 August 2014 at 20:40:06 UTC, Rémy Mouëza wrote: -L-L/path/to/ldc/lib/architecture -L-Ldruntime-ldc . there is no /path/to/ldc/lib in my system - i have an /etc/ldc.conf and a /usr/bin/ldc2
Re: Tango Problems..
Have you tried something like this: find /lib /usr/lib* /usr/local/lib* -name \*.a | grep -i druntime or a simple: locate druntime ? On 08/31/2014 10:50 PM, seany wrote: On Sunday, 31 August 2014 at 20:40:06 UTC, Rémy Mouëza wrote: -L-L/path/to/ldc/lib/architecture -L-Ldruntime-ldc . there is no /path/to/ldc/lib in my system - i have an /etc/ldc.conf and a /usr/bin/ldc2
Re: Tango Problems..
In case you don't find any druntime library, try to see if the missing symbol is in the libphobos2.a file (you'll first have to identify the directory where phobos is located): $ nm libphobos2.a | ddemangle | grep stdc | grep va_end T nothrow void core.stdc.stdarg.va_end(char*) If you get a similar result, your next step will be to try compiling your program with phobos. On 08/31/2014 11:09 PM, Rémy Mouëza wrote: Have you tried something like this: find /lib /usr/lib* /usr/local/lib* -name \*.a | grep -i druntime or a simple: locate druntime ? On 08/31/2014 10:50 PM, seany wrote: On Sunday, 31 August 2014 at 20:40:06 UTC, Rémy Mouëza wrote: -L-L/path/to/ldc/lib/architecture -L-Ldruntime-ldc . there is no /path/to/ldc/lib in my system - i have an /etc/ldc.conf and a /usr/bin/ldc2
Re: Tango Problems..
About find command : I use find / -iname *druntime*.a with root permission - how else will i find what is where, kfind probably uses find internally too, or boost, egal ... for the nm command : without ddemangle, i dont have the command installed : T _D4core4stdc6stdarg6va_endFNbPS4core4stdc6stdarg13__va_list_tagZv U _D4core4stdc6stdarg6va_endFNbPS4core4stdc6stdarg13__va_list_tagZv U _D4core4stdc6stdarg6va_endFNbPS4core4stdc6stdarg13__va_list_tagZv now what?
Re: Tango Problems..
On Sunday, 31 August 2014 at 21:40:51 UTC, seany wrote: On the other hand, phobos works. But I want some tango functionality, without having to hack it all by hand ...
Re: Tango Problems..
I suggest to try linking with both phobos and tango. Only the druntime functions contained in phobos should be used by the linker (if I am correct). Otherwise, did you take a look at code.dlang.org? Depending on your needs, there might be a dub package you could use to fill in for the missing Tango functionalites. On 08/31/2014 11:42 PM, seany wrote: On Sunday, 31 August 2014 at 21:40:51 UTC, seany wrote: On the other hand, phobos works. But I want some tango functionality, without having to hack it all by hand ...