Jump to page: 1 2
Thread overview
Tango Problems..
Aug 31, 2014
seany
Aug 31, 2014
seany
Aug 31, 2014
Rémy Mouëza
Aug 31, 2014
seany
Aug 31, 2014
seany
Aug 31, 2014
Rémy Mouëza
Aug 31, 2014
seany
Aug 31, 2014
Rémy Mouëza
Aug 31, 2014
Rémy Mouëza
Aug 31, 2014
seany
Aug 31, 2014
seany
Aug 31, 2014
Rémy Mouëza
August 31, 2014
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?
August 31, 2014
Oh, I am using netrunner linux with arch/manjaro core.
August 31, 2014
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?

August 31, 2014
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
August 31, 2014
I am linking against tango

ldc -I/path/to/tango -L-L/path/to/tango  -L-ltango-dmd \
August 31, 2014
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 \

August 31, 2014
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
August 31, 2014
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

August 31, 2014
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
    00000000 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
>

August 31, 2014
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 :

0000000000000000 T _D4core4stdc6stdarg6va_endFNbPS4core4stdc6stdarg13__va_list_tagZv
                 U _D4core4stdc6stdarg6va_endFNbPS4core4stdc6stdarg13__va_list_tagZv
                 U _D4core4stdc6stdarg6va_endFNbPS4core4stdc6stdarg13__va_list_tagZv

now what?
« First   ‹ Prev
1 2