Building an fftw2 application with fftw3 libraries











up vote
0
down vote

favorite












I'm trying to build an old application that depends on fftw. It was written against fftw2 and I am currently on fftw3 (specifically 3.3.8). It fails to link because of undefined reference to fftw_create_plan and fftw_one. Indeed, my libfftw does not have those functions anymore; the following returns nothing:



readelf -s /usr/lib/libfftw3.so | grep 'fftw_create_plan|fftw_one'


It looks like the api has changed significantly since the code was written. Is there a compatibility layer I can use or should I just go learn fftw3's new interface?










share|improve this question


























    up vote
    0
    down vote

    favorite












    I'm trying to build an old application that depends on fftw. It was written against fftw2 and I am currently on fftw3 (specifically 3.3.8). It fails to link because of undefined reference to fftw_create_plan and fftw_one. Indeed, my libfftw does not have those functions anymore; the following returns nothing:



    readelf -s /usr/lib/libfftw3.so | grep 'fftw_create_plan|fftw_one'


    It looks like the api has changed significantly since the code was written. Is there a compatibility layer I can use or should I just go learn fftw3's new interface?










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I'm trying to build an old application that depends on fftw. It was written against fftw2 and I am currently on fftw3 (specifically 3.3.8). It fails to link because of undefined reference to fftw_create_plan and fftw_one. Indeed, my libfftw does not have those functions anymore; the following returns nothing:



      readelf -s /usr/lib/libfftw3.so | grep 'fftw_create_plan|fftw_one'


      It looks like the api has changed significantly since the code was written. Is there a compatibility layer I can use or should I just go learn fftw3's new interface?










      share|improve this question













      I'm trying to build an old application that depends on fftw. It was written against fftw2 and I am currently on fftw3 (specifically 3.3.8). It fails to link because of undefined reference to fftw_create_plan and fftw_one. Indeed, my libfftw does not have those functions anymore; the following returns nothing:



      readelf -s /usr/lib/libfftw3.so | grep 'fftw_create_plan|fftw_one'


      It looks like the api has changed significantly since the code was written. Is there a compatibility layer I can use or should I just go learn fftw3's new interface?







      fftw






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 5 at 2:02









      Lombard

      475




      475
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          You cannot link an FFTW2 code against FFTW3 libraries, as you are coming to realize yourself. There is also no complete interface between the two, cause the apis are really not compatible.



          Having said that, you may of course link your code against FFTW2 libraries. You still can obtain them. Why is that not an option?






          share|improve this answer





















          • fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
            – Lombard
            Nov 5 at 23:44










          • Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
            – Kaveh Vahedipour
            Nov 5 at 23:46











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53147388%2fbuilding-an-fftw2-application-with-fftw3-libraries%23new-answer', 'question_page');
          }
          );

          Post as a guest
































          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote













          You cannot link an FFTW2 code against FFTW3 libraries, as you are coming to realize yourself. There is also no complete interface between the two, cause the apis are really not compatible.



          Having said that, you may of course link your code against FFTW2 libraries. You still can obtain them. Why is that not an option?






          share|improve this answer





















          • fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
            – Lombard
            Nov 5 at 23:44










          • Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
            – Kaveh Vahedipour
            Nov 5 at 23:46















          up vote
          1
          down vote













          You cannot link an FFTW2 code against FFTW3 libraries, as you are coming to realize yourself. There is also no complete interface between the two, cause the apis are really not compatible.



          Having said that, you may of course link your code against FFTW2 libraries. You still can obtain them. Why is that not an option?






          share|improve this answer





















          • fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
            – Lombard
            Nov 5 at 23:44










          • Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
            – Kaveh Vahedipour
            Nov 5 at 23:46













          up vote
          1
          down vote










          up vote
          1
          down vote









          You cannot link an FFTW2 code against FFTW3 libraries, as you are coming to realize yourself. There is also no complete interface between the two, cause the apis are really not compatible.



          Having said that, you may of course link your code against FFTW2 libraries. You still can obtain them. Why is that not an option?






          share|improve this answer












          You cannot link an FFTW2 code against FFTW3 libraries, as you are coming to realize yourself. There is also no complete interface between the two, cause the apis are really not compatible.



          Having said that, you may of course link your code against FFTW2 libraries. You still can obtain them. Why is that not an option?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 5 at 16:37









          Kaveh Vahedipour

          2,1401415




          2,1401415












          • fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
            – Lombard
            Nov 5 at 23:44










          • Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
            – Kaveh Vahedipour
            Nov 5 at 23:46


















          • fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
            – Lombard
            Nov 5 at 23:44










          • Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
            – Kaveh Vahedipour
            Nov 5 at 23:46
















          fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
          – Lombard
          Nov 5 at 23:44




          fftw2 is no longer packaged in arch, and I assume others will eventually follow -- I want to keep the program current. Just wasn't expecting to have to rewrite significant parts of it! But to be honest so far I prefer fftw3's interface, so it's not a loss.
          – Lombard
          Nov 5 at 23:44












          Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
          – Kaveh Vahedipour
          Nov 5 at 23:46




          Sure. I wasn't aware that you were willing to do the porting. Fftw2 is built and installed quickly though. I'd do it at least to be able to test the new version.
          – Kaveh Vahedipour
          Nov 5 at 23:46


















           

          draft saved


          draft discarded



















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53147388%2fbuilding-an-fftw2-application-with-fftw3-libraries%23new-answer', 'question_page');
          }
          );

          Post as a guest




















































































          這個網誌中的熱門文章

          Tangent Lines Diagram Along Smooth Curve

          Yusuf al-Mu'taman ibn Hud

          Zucchini