<div dir="ltr"><div>Dear Eddie,</div><div><br></div><div>You are absolutely right about the compiler not being configured correctly. I followed your advice and it worked! Thanks very much for your timely help.</div><div><br></div><div>Ziye<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 12, 2020 at 3:48 PM Edward Lam <<a href="mailto:ed@ed-lam.com">ed@ed-lam.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;">Hi Ziye,<div><br></div><div>This error could be due to linking to a wrong version of libstdc++ while building Soplex. I get similar problems relating to different versions of libstdc++ on Linux, especially with the module system on my Linux computing cluster when the admin hasn’t configured the compiler for the right version of libstdc++.</div><div><br></div><div>If you’re calling Cplex in SCIP (as opposed to calling Soplex in SCIP), you should avoid building Soplex altogether.</div><div><br></div><div>You can use CMAKE_EXE_LINKER_FLAGS to add flags to linker command. Be careful to append your flags not overwrite the existing flags.<div>
<br>Eddie

</div>
<div><br><blockquote type="cite"><div>On 12 Jun 2020, at 5:24 pm, Ziye Tang <<a href="mailto:ziyet@andrew.cmu.edu" target="_blank">ziyet@andrew.cmu.edu</a>> wrote:</div><br><div><div dir="ltr">Dear Franziska,<div><br></div><div>Thank you for your reply. However I double checked with cmake instructions, it seems the flags are -DCPLEX_INCLUDE_DIRS and -DCPLEX_LIBRARY. And I was able to compile successfully using those flags on my local PC. Is it possible that the flag you mentioned is for older versions?</div><div><br></div><div>Anyhow I had no problem during the cmake build process. And the linker error (shown in my first email) only pops up during the make process. I googled for this error and found a solution (to a similar problem) on <a href="https://stackoverflow.com/questions/5083047/linker-problem-with-libstdc-so-6-in-connection-with-cuda" target="_blank">stackoverflow</a>, which seems a rather straightforward fix: just tell linker where to find libstdc++.so explicitly. But I am fairly new to CMake as well as SCIP cmake system and I do not know where is the appropriate place to add such a linker flag. Do you think the solution is reasonable and if so, could you advise where to add the linker flag?</div><div><br></div><div>Thanks,</div><div>Ziye</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 11, 2020 at 4:46 PM Franziska Schloesser <<a href="mailto:schloesser@zib.de" target="_blank">schloesser@zib.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div><p>Dear Ziye,</p><p>To only build scip you can run make in the scip folder that is
      generated by cmake. For using cplex as LP solver you seem to have
      used the wrong flags, you need the CPLEX_DIR.</p><p>That would make your commands look something like this:</p>
    <pre>mkdir build
cd build
cmake .. -DLPS=cpx -DCPLEX_DIR=</path/to/cplex/install>
cd scip
make
</pre><p>I hope this helps,</p><p>Best,<br>
      Franziska</p>
    <div>On 6/5/20 11:33 AM, Ziye Tang wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Dear SCIP team,
        <div><br>
        </div>
        <div>I am compiling scipoptsuite on a rhel8 server via cmake. I
          am using cplex as my LP solver and have specified LPS,
          INCLUDE_DIRS and LIB flags. When cmake finishes, I tried to
          run make. Here's the error I got:</div>
        <div><br>
        </div>
        <div>[  3%] Linking CXX executable ../../bin/soplex<br>
          /usr/bin/ld: CMakeFiles/soplex.dir/soplexmain.cpp.o: undefined
          reference to symbol '_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9'<br>
          //usr/lib64/libstdc++.so.6: error adding symbols: DSO missing
          from command line<br>
          collect2: error: ld returned 1 exit status<br>
          make[2]: *** [soplex/src/CMakeFiles/soplex.dir/build.make:86:
          bin/soplex] Error 1<br>
          make[1]: *** [CMakeFiles/Makefile2:182:
          soplex/src/CMakeFiles/soplex.dir/all] Error 2<br>
          make: *** [Makefile:163: all] Error 2<br>
        </div>
        <div><br>
        </div>
        <div>I don't understand this linker error. It would be great if
          someone could point me in the right direction. Also, if I am
          only using scip (with cplex as LP solver), is there a make
          target I could build? A while ago I tried make scip but I've
          got some other errors when using scip.</div>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
Scip mailing list
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a>
<a href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a>
</pre>
    </blockquote>
  </div>

_______________________________________________<br>
Scip mailing list<br>
<a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br>
<a href="https://listserv.zib.de/mailman/listinfo/scip" rel="noreferrer" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br>
</blockquote></div>
_______________________________________________<br>Scip mailing list<br><a href="mailto:Scip@zib.de" target="_blank">Scip@zib.de</a><br><a href="https://listserv.zib.de/mailman/listinfo/scip" target="_blank">https://listserv.zib.de/mailman/listinfo/scip</a><br></div></blockquote></div><br></div></div></blockquote></div>