gnucap-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnucap-devel] link order


From: Patrick Mulder
Subject: Re: [Gnucap-devel] link order
Date: Sat, 29 Jun 2019 18:30:23 +0200

On Sat, Jun 29, 2019 at 5:20 PM Patrick Mulder <address@hidden>
wrote:

> hi all,
>
> interesting discussion to learn more on the gnucap architecture.
>
> On Sat, Jun 29, 2019 at 12:42 PM Felix Salfelder <address@hidden>
> wrote:
>
>>
>> PS: please Patrick, give us more details on the error you are actually
>> seeing -- this is getting a bit theoretical (:
>>
>
> I get the problem in the modelgen phase - when trying to compile e.g. the
> diode.
>
> C:\Users\mulderpa\git\gnucap\build4 (cmake-3 -> origin)
> λ cmake --build .
> [ 34%] Built target gnucap
> [ 40%] Built target gnucap-modelgen
> [ 41%] Generating d_diode.cc
> @@#
> @@@
> unreachable:C:/Users/mulderpa/git/gnucap/include/l_dispatcher.h:81:install
> build error: link order: dispatcher not yet constructed
>
> @@#
> @@@
> unreachable:C:/Users/mulderpa/git/gnucap/include/l_dispatcher.h:81:install
> build error: link order: dispatcher not yet constructed
>
> @@#
> @@@
> unreachable:C:/Users/mulderpa/git/gnucap/include/l_dispatcher.h:81:install
> build error: link order: dispatcher not yet constructed
>
> @@#
> @@@
> unreachable:C:/Users/mulderpa/git/gnucap/include/l_dispatcher.h:81:install
> build error: link order: dispatcher not yet constructed
>
> @@#
> @@@
>
> unreachable:C:/Users/mulderpa/git/gnucap/include/l_dispatcher.h:41:DISPATCHER_BASE
> build error: link order: constructing dispatcher that already has contents
>
>
setting this:

  std::map<std::string, CKT_BASE*> * _map = nullptr;

works fine.
However, the commit
https://git.savannah.gnu.org/cgit/gnucap.git/commit/?h=pending&id=847095f7965e4f92e8c124817c8f855f560387dd

seems an interesting option to try also - what do you think, will it make
sense for this case (MinGW) ?

The previous build runs with nullptr until:

λ cmake --build .
[ 34%] Built target gnucap
[ 40%] Built target gnucap-modelgen
[ 41%] Linking CXX shared module gnucap-default-plugins.dll
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x1c):
undefined reference to `ELEMENT::ELEMENT(ELEMENT const&)'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x4a):
undefined reference to `ELEMENT::ELEMENT()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x20a):
undefined reference to `ELEMENT::tr_iwant_matrix_passive()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x2c2):
undefined reference to `ELEMENT::ac_iwant_matrix_passive()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x79e):
undefined reference to `ELEMENT::tr_iwant_matrix_active()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x870):
undefined reference to `COMPONENT::volts_limited(node_t const&, node_t
const&)'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0x89c):
undefined reference to `ELEMENT::ac_iwant_matrix_active()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0xbce):
undefined reference to `ELEMENT::precalc_last()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.text+0xc2e):
undefined reference to `ELEMENT::tr_begin()'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.rdata+0x700):
undefined reference to `CKT_BASE::help(CS&, OMSTREAM&) const'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.rdata+0x710):
undefined reference to
`ELEMENT::tr_probe_num(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'
CMakeFiles/gnucap-default-plugins.dir/objects.a(d_admit.cc.obj):d_admit.cc:(.rdata+0x718):
undefined reference to
`ELEMENT::ac_probe_ext(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&) const'


reply via email to

[Prev in Thread] Current Thread [Next in Thread]