[SCIP] Building scipampl in scipoptsuite v5.0.0?

Matthias Miltenberger miltenberger at zib.de
Fri Jan 12 10:02:12 CET 2018


Hey Carleton,

I just set up a simple CMakeLists.txt for out AMPL interface.
It works just like any other SCIP application or example when you put it 
into `interfaces/ampl`:

     mkdir build
     cd build
     cmake .. -DSCIP_DIR=<path/to/scip/build>
     make
     enjoy!

The AMPL interface must have went under our radar when we introduced the 
CMake build system. This will be included in the next bugfix release.

cheers
Matthias

On 12.01.2018 02:52, Stefan Vigerske wrote:
> Hi,
>
> for some parts of the SCIP optsuite, there is no support with the cmake
> buildsystem. The AMPL Interface is one of these parts.
> That is, to build the AMPL interface, the easiest is to also build SCIP
> with the classic buildsystem.
>
> So that would be something like
>
> # unpack optsuite
> tar -xvzf scipoptsuite-5.0.0.tgz
> cd scipoptsuite-5.0.0
>
> # build it with Ipopt
> make IPOPT=true
>
> # Build SCIP AMPL interface
> cd scip/interfaces/ampl
> ./get.ASL
> cd solvers
> make -f makefile.u
> cd ..
> make IPOPT=true
>
>
> (I usually never use the optsuite makefile. If that doesn't ask you for
> the location of Ipopt, then do a make IPOPT=true in ./scip after
> building the optsuite and before building the ampl interface.)
>
> Stefan
>
>
> On 01/11/2018 09:37 PM, Coffrin, Carleton wrote:
>> Thanks for the suggestion Stefan.
>>
>> Here is a basic build script I am trying to use,
>>
>> tar -xvzf scipoptsuite-5.0.0.tgz
>> cd scipoptsuite-5.0.0
>>
>> mkdir build
>> cd build
>> cmake .. -DIPOPT_DIR=$HOME/bin/Ipopt-3.12.4/build
>> make SHARED=true
>> cd ..
>>
>> # Build SCIP AMPL interface
>> cd scip/interfaces/ampl
>> ./get.ASL
>> cd solvers
>> sh configurehere
>> make
>> cd ..
>> make IPOPT=true SHARED=true
>>
>> And this is the error I am getting,
>>
>> ```
>> make: *** No rule to make target `/home/cjc/bin/scipoptsuite-5.0.0/scip/lib/shared/libscip.linux.x86_64.gnu.opt.so', needed by `bin/scipampl.linux.x86_64.gnu.opt.spx2'.  Stop.
>> ```
>>
>> That said, I would guess there is a better way where one can tell cmake that scipampl is one of the targets you would like it to build.
>>
>> Cheers,
>> -Carleton
>>
>>
>> On 1/9/18, 8:32 PM, "Stefan Vigerske" <stefan at math.hu-berlin.de> wrote:
>>
>>       Hi,
>>       
>>       I don't know your build script, but if you build SCIP with SHARED=true,
>>       then you also need to pass SHARED=true to the call of make in
>>       scip/interfaces/ampl.
>>       
>>       Stefan
>>       
>>       On 01/09/2018 10:32 PM, Coffrin, Carleton wrote:
>>       > Is there an easy way to configure SCIP / OptSuit (v5.0.0) to build the scipampl interface?
>>       >
>>       > i.e.  http://zverovich.net/2012/08/07/using-scip-with-ampl.html
>>       >
>>       > The build script I have been using previously is looking for,
>>       >
>>       > scipoptsuite-5.0.0/scip/lib/static/liblpispx2.linux.x86_64.gnu.opt.a
>>       >
>>       > Which does not seem to be built when I call “make SHARED=false” on scipoptsuite-5.0.0
>>       >
>>       > Thanks,
>>       > -Carleton
>>       >
>>       >
>>       >
>>       > _______________________________________________
>>       > Scip mailing list
>>       > Scip at zib.de
>>       > https://listserv.zib.de/mailman/listinfo/scip
>>       >
>>       
>>       
>>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip

-- 
\__________________

Matthias Miltenberger
Zuse Institute Berlin
Takustr. 7, 14195 Berlin
www.zib.de/miltenberger
miltenberger at zib.de
+49 (30) 841 85-245

-------------- next part --------------
cmake_minimum_required(VERSION 3.0)

project(SCIPampl)

find_package(SCIP REQUIRED)
find_library(LIBM m)

include_directories(${SCIP_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/solvers)

add_executable(scipampl
   src/cmain.c
   src/reader_nl.c)

target_link_libraries(scipampl ${SCIP_LIBRARIES} ${LIBM} ${PROJECT_SOURCE_DIR}/solvers/amplsolver.a)

if(CMAKE_DL_LIBS)
    target_link_libraries(scipampl ${CMAKE_DL_LIBS})
endif()


More information about the Scip mailing list