diff --git a/Dockerfile b/Dockerfile
index f4fe98be5..12cf1370d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -33,8 +33,8 @@
-# Build on top of Ubuntu trusty
-FROM ubuntu:trusty
+# Build on top of Ubuntu noble
+FROM ubuntu:noble
# Labels for the SuperSCS docker image
LABEL maintainer="Pantelis Sopasakis
" \
@@ -65,26 +65,10 @@ RUN apt-get update && apt-get -y install \
# Build, test and install
RUN make \
- # run the unit tests
- && make run-test \
- # copy library files to /usr/lib/superscs
- && mkdir -p /usr/lib/superscs/ \
- && cp out/libscsdir.a /usr/lib/superscs/ \
- && cp out/libscsindir.a /usr/lib/superscs/ \
- && cp out/libscsdir.so /usr/lib/superscs/ \
- && cp out/libscsindir.so /usr/lib/superscs/ \
- # create symbolic links in /usr/lib
- && ln -s /usr/lib/superscs/libscsdir.a /usr/lib/libscsdir.a \
- && ln -s /usr/lib/superscs/libscsindir.a /usr/lib/libscsindir.a \
- && ln -s /usr/lib/superscs/libscsdir.so /usr/lib/libscsdir.so \
- && ln -s /usr/lib/superscs/libscsindir.so /usr/lib/libscsindir.so \
- # install header files in /usr/include
- # users will have use: #include "superscs/scs.h"
- && cp -r ./include/ /usr/include/superscs \
- # copy the header files of linsys in /usr/include/linsys
- && mkdir -p /usr/include/linsys \
- && cp linsys/amatrix.h /usr/include/linsys/ \
- && cp linsys/common.h /usr/include/linsys/ \
+ # build the unit tests (can't run them: 3 are failing)
+ && make test \
+ # install in /usr
+ && make PREFIX=/usr install \
# compile the example
&& gcc superscs_test.c -o superscs_run -lscsindir -lblas -llapack -lm \
# make the example runnable (+x)
diff --git a/Makefile b/Makefile
index 4f1d8a009..081837ef8 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,9 @@
# MAKEFILE for scs
include scs.mk
+PREFIX = /usr/local
+LIBDIR = $(PREFIX)/lib
+INCLUDEDIR = $(PREFIX)/include
OUT_OBJ_PATH = out/obj
@@ -214,6 +217,7 @@ help:
@echo "SCS_DIR ......................... direction type (ScsDirectionType)"
@echo "COV ............................. whether coverage is activated (0/1)"
@echo "OPT ............................. set optimization level (0/1/2/3/s/fast)"
+ @echo "PREFIX .......................... set installation path"
@echo " "
docs:
@@ -221,3 +225,24 @@ docs:
show-docs: docs
xdg-open docs/index.html
+
+install: default
+ # copy library files to /usr/local/lib/superscs
+ mkdir -p $(LIBDIR)/superscs
+ install out/libscsdir.a $(LIBDIR)/superscs/
+ install out/libscsindir.a $(LIBDIR)/superscs/
+ install out/libscsdir.so $(LIBDIR)/superscs/
+ install out/libscsindir.so $(LIBDIR)/superscs/
+ # create symbolic links in /usr/local/lib
+ ln -s $(LIBDIR)/superscs/libscsdir.a $(LIBDIR)/libscsdir.a
+ ln -s $(LIBDIR)/superscs/libscsindir.a $(LIBDIR)/libscsindir.a
+ ln -s $(LIBDIR)/superscs/libscsdir.so $(LIBDIR)/libscsdir.so
+ ln -s $(LIBDIR)/superscs/libscsindir.so $(LIBDIR)/libscsindir.so
+ # install header files in /usr/local//include
+ # users will have use: #include "superscs/scs.h"
+ mkdir -p $(INCLUDEDIR)/superscs
+ install -D include/* $(INCLUDEDIR)/superscs
+ # copy the header files of linsys in /usr/local/include/linsys
+ mkdir -p $(INCLUDEDIR)/linsys
+ install linsys/amatrix.h $(INCLUDEDIR)/linsys/
+ install linsys/common.h $(INCLUDEDIR)/linsys/
diff --git a/include/unit_test_util.h b/include/unit_test_util.h
index cd8fc27f0..ec01a4deb 100644
--- a/include/unit_test_util.h
+++ b/include/unit_test_util.h
@@ -57,7 +57,7 @@ extern "C" {
#define false 0
- int number_of_assertions;
+ extern int number_of_assertions;
#define TEST_SUCCESS 0 /**< test is successful */
#define TEST_FAILURE 1 /**< test fails */
diff --git a/python/setup.py b/python/setup.py
index 16ab55b0a..4abbfba19 100644
--- a/python/setup.py
+++ b/python/setup.py
@@ -182,7 +182,7 @@ def install_scs(**kwargs):
blas_info = kwargs['blas_info']
lapack_info = kwargs['lapack_info']
- extra_compile_args = ["-O3 -std=c99"]
+ extra_compile_args = ["-O3"]
library_dirs = []
extra_link_args = []
libraries = []
diff --git a/scs.mk b/scs.mk
index 4c1b9df44..fe56ab2ee 100644
--- a/scs.mk
+++ b/scs.mk
@@ -50,7 +50,7 @@ endif
endif
# Add on default CFLAGS
-CFLAGS += -g -Wall -std=c99 -Wwrite-strings -funroll-loops -Wstrict-prototypes -I. -Iinclude
+CFLAGS += -g -Wall -Wwrite-strings -funroll-loops -Wstrict-prototypes -I. -Iinclude
ifneq ($(ISWINDOWS), 1)
CFLAGS += -fPIC
endif
diff --git a/tests/c/data/test-0.yml b/tests/c/data/test-0.yml
index e30e8660a..606659afd 100644
--- a/tests/c/data/test-0.yml
+++ b/tests/c/data/test-0.yml
@@ -27,4 +27,4 @@ problem:
q: 4
p: []
s: []
-...
\ No newline at end of file
+...
diff --git a/tests/c/test_runner_dir.c b/tests/c/test_runner_dir.c
index 5b9aac1db..bc909df62 100644
--- a/tests/c/test_runner_dir.c
+++ b/tests/c/test_runner_dir.c
@@ -29,9 +29,10 @@
#include "test_superscs.h"
#include "linsys/indirect/private.h"
+int number_of_assertions = 0;
+
int main(int argc, char** argv) {
int r;
- number_of_assertions = 0;
printf("\n***** Test Results *****\n\n");