Giter Club home page Giter Club logo

Comments (3)

antonjan avatar antonjan commented on September 28, 2024

I cant find the solution on the link. what is the solution?

from leansdr.

andimik avatar andimik commented on September 28, 2024

Honestly, it was long ago and I cannot remember. I guess I had to clone the fork instead.

from leansdr.

andimik avatar andimik commented on September 28, 2024

I have the same error under Ubuntu 22.04 but I could find a workaround (see below)

$ git clone -b ldpc_tool http://github.com/pabr/xdsopl-LDPC-pabr
Klone nach 'xdsopl-LDPC-pabr' …
warning: Umleitung nach https://github.com/pabr/xdsopl-LDPC-pabr/
remote: Enumerating objects: 691, done.
remote: Total 691 (delta 0), reused 0 (delta 0), pack-reused 691
Empfange Objekte: 100% (691/691), 367.23 KiB | 893.00 KiB/s, fertig.
Löse Unterschiede auf: 100% (462/462), fertig.
andreas@E535:~/apps$ cd xdsopl-LDPC-pabr/
andreas@E535:~/apps/xdsopl-LDPC-pabr$ make CXX=g++ ldpc_tool
g++ -std=c++11 -W -Wall -Ofast -fno-exceptions -fno-rtti tables_handler.cc -c -o tables_handler.o
g++ -std=c++11 -W -Wall -Ofast -fno-exceptions -fno-rtti itls_handler.cc -c -o itls_handler.o
g++ -std=c++11 -W -Wall -Ofast -fno-exceptions -fno-rtti mods_handler.cc -c -o mods_handler.o
g++ -std=c++11 -W -Wall -Ofast -fno-exceptions -fno-rtti ldpc_tool.cc tables_handler.o itls_handler.o mods_handler.o -o ldpc_tool
/usr/bin/ld: mods_handler.o: warning: relocation against `_ZN16PhaseShiftKeyingILi8ESt7complexIfEaE6rot_cwE' in read-only section `.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4softEPaS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4softEPaS2_f]'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 21600>::hardN(signed char*, std::complex<float>*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5hardNEPaPS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5hardNEPaPS2_]+0x24): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5hardNEPaPS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5hardNEPaPS2_]+0x2c): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 21600>::mapN(std::complex<float>*, signed char*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4mapNEPS2_Pa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4mapNEPS2_Pa]+0x24): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 21600>::hard(signed char*, std::complex<float>)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4hardEPaS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4hardEPaS2_]+0x1a): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4hardEPaS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE4hardEPaS2_]+0x22): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 21600>::map(signed char*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE3mapEPa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE3mapEPa]+0x25): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE3mapEPa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE3mapEPa]+0x2d): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 10800>::hardN(signed char*, std::complex<float>*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5hardNEPaPS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5hardNEPaPS2_]+0x24): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5hardNEPaPS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5hardNEPaPS2_]+0x2c): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 10800>::mapN(std::complex<float>*, signed char*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE4mapNEPS2_Pa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE4mapNEPS2_Pa]+0x24): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 10800>::hard(signed char*, std::complex<float>)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE4hardEPaS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE4hardEPaS2_]+0x1a): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE4hardEPaS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE4hardEPaS2_]+0x22): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 10800>::map(signed char*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE3mapEPa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE3mapEPa]+0x25): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE3mapEPa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE3mapEPa]+0x2d): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 5400>::hardN(signed char*, std::complex<float>*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5hardNEPaPS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5hardNEPaPS2_]+0x24): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5hardNEPaPS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5hardNEPaPS2_]+0x2c): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 5400>::mapN(std::complex<float>*, signed char*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE4mapNEPS2_Pa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE4mapNEPS2_Pa]+0x24): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 5400>::hard(signed char*, std::complex<float>)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE4hardEPaS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE4hardEPaS2_]+0x1a): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE4hardEPaS2_[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE4hardEPaS2_]+0x22): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 5400>::map(signed char*)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE3mapEPa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE3mapEPa]+0x25): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE3mapEPa[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE3mapEPa]+0x2d): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_acw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 21600>::softN(signed char*, std::complex<float>*, float)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5softNEPaPS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5softNEPaPS2_f]+0x5a): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5softNEPaPS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi21600EE5softNEPaPS2_f]+0x62): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 5400>::softN(signed char*, std::complex<float>*, float)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5softNEPaPS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5softNEPaPS2_f]+0x5a): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5softNEPaPS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi5400EE5softNEPaPS2_f]+0x62): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o: in function `Modulation<PhaseShiftKeying<8, std::complex<float>, signed char>, 10800>::softN(signed char*, std::complex<float>*, float)':
mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5softNEPaPS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5softNEPaPS2_f]+0x5a): undefined reference to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw'
/usr/bin/ld: mods_handler.o:mods_handler.cc:(.text._ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5softNEPaPS2_f[_ZN10ModulationI16PhaseShiftKeyingILi8ESt7complexIfEaELi10800EE5softNEPaPS2_f]+0x62): more undefined references to `PhaseShiftKeying<8, std::complex<float>, signed char>::rot_cw' follow
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make: *** [Makefile:18: ldpc_tool] Fehler 1

The only way is to copy the file LDPC/mods_handler.cc from fork https://github.com/Blockstream/leansdr.git or add the following lines to this file:

diff --git a/home/andreas/apps/leansdr/LDPC/mods_handler.cc b/home/andreas/apps/xdsopl-LDPC-pabr/mods_handler.cc_orig
index b2a3a32..c428e09 100644
--- a/home/andreas/apps/leansdr/LDPC/mods_handler.cc
+++ b/home/andreas/apps/xdsopl-LDPC-pabr/mods_handler.cc_orig
@@ -12,21 +12,6 @@ Copyright 2018 Ahmet Inan <[email protected]>
 #include "modulation.hh"
 #include "testbench.hh"
 
-template <typename TYPE, typename CODE>
-constexpr typename TYPE::value_type PhaseShiftKeying<4, TYPE, CODE>::rcp_sqrt_2;
-template <typename TYPE, typename CODE>
-constexpr TYPE PhaseShiftKeying<8, TYPE, CODE>::rot_acw;
-template <typename TYPE, typename CODE>
-constexpr TYPE PhaseShiftKeying<8, TYPE, CODE>::rot_cw;
-template <typename TYPE, typename CODE>
-constexpr typename TYPE::value_type QuadratureAmplitudeModulation<16, TYPE, CODE>::AMP;
-template <typename TYPE, typename CODE>
-constexpr typename TYPE::value_type QuadratureAmplitudeModulation<64, TYPE, CODE>::AMP;
-template <typename TYPE, typename CODE>
-constexpr typename TYPE::value_type QuadratureAmplitudeModulation<256, TYPE, CODE>::AMP;
-template <typename TYPE, typename CODE>
-constexpr typename TYPE::value_type QuadratureAmplitudeModulation<1024, TYPE, CODE>::AMP;
-
 template <int LEN>
 ModulationInterface<complex_type, code_type> *create_modulation(char *name)
 {

grafik

from leansdr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.