Continuous Integration ·Programmierung

[CMake] Ein add_jar Beispiel

Man kann mit CMake auch Java-Dateien kompilieren lassen und diese in eine jar-Datei packen. Dazu habe ich ein kleines Beipsiel erstellt. Zuerst die HalloWelt.java-Datei: import java.lang.*;   public class HalloWelt { public static void main(String[] args) { System.out.println("Hallo, Welt!"); } }import java.lang.*; public class HalloWelt { public static void main(String[] args) { System.out.println("Hallo, Welt!"); }… Weiterlesen [CMake] Ein add_jar Beispiel

Programmierung

pushdef und popdef in m4

Normalerweise definiert man in m4 ein Macro mit der define-Funktion. Das kann man aber auch mit Hilfe von pushdef und popdef machen. Hier mal ein Beispeil define(`test‘, `Eins‘)dnl test => Eins pushdef(`test‘, `Zwei‘)dnl test => Zwei pushdef(`test‘, `Drei‘)dnl pushdef(`test‘, `Vier‘)dnl test => Vier popdef(`test‘)dnl test => Drei popdef(`test‘, `test‘)dnl test => Eins popdef(`test‘, `test‘)dnl test… Weiterlesen pushdef und popdef in m4

Linux ·Programmierung

GCC: Profiling mit instrument-functions

So wie fast jeder guter Compiler, kann man auch unter dem GCC Profiling betreiben. Eine Möglichkeit, dies zu bewerkstelligen, sind die instrument functions. Dazu werden zwei Dinge benötigt: den zusätzlichen Compilerparameter -finstrument-functions Funktionen, die die instrument functions bearbeiten Hier soll mal ein Beispiel gezeigt werden. Man hat z.B. eine C-Quelltext-Datei namen foo.c mit folgendem Inhalt:… Weiterlesen GCC: Profiling mit instrument-functions

Allgemein

configure: error: Apache httpd version 2.4.6 includes a broken mod_dav; use a newer version of httpd

Beim kompilieren von Subversion bekam ich auf einer RHEL 7.3 Kiste folgende Fehlermeldung: configure: error: Apache httpd version 2.4.6 includes a broken mod_dav; use a newer version of httpd Das war für mich etwas seltsam, da es auf einer anderen RHEL 7.3 Maschine problemlos funktioniert hat, aber auf der aktuellen nicht. Nach kurzem Suchen habe… Weiterlesen configure: error: Apache httpd version 2.4.6 includes a broken mod_dav; use a newer version of httpd

Continuous Integration

Erste Schritte mit der Jenkins Pipeline Library

Wer schon mit dem Jenkins Plugin Pipeline (früher auch Workflow genannt) gearbeitet hat und gerne nach dem DRY (don’t repeat yourself)-Prinzip arbeitet, findet das Jenkins Pipeline Library Plugin bestimmt interessant. Mit Hilfe dieses Library Plugins kann man eine Groovy Bibliothek schreiben und diese Funktionen in seinen Jobs verwenden. Somit braucht man diese nicht immer wieder… Weiterlesen Erste Schritte mit der Jenkins Pipeline Library

Continuous Integration ·Programmierung

Zwischendateien bei GNU make

Beim Ausführen einer Makefile durch GNU make werden Zwischendateien generiert. Bei C++ können das z.B. .o-Dateien sein. Aber auch andere Zwischendateien sind möglich. Ich habe mich ein wenig mit Zwischendateien von Makefiles beschäftigt und möchte hier ein wenig was dazu aufschreiben. Dazu habe ich hier mal ein Makefile erstellt, dass ich hier als Beispiel verwenden… Weiterlesen Zwischendateien bei GNU make

Continuous Integration ·Programmierung

CMake – Unterscheidung zwischen 32-bit und 64-bit Maschine

Beim Kompilieren, Linken und Ausführung von Projekten bzw. Programmen muss man auch manchmal eine Unterscheidung durchführen, ob das System eine 32-bit-Architektur hat oder eine 64-bit. Auch in CMake kann man eine solche Abfrage einfügen. Die Abfrage sieht i.d.R. so aus: if ( „${CMAKE_SIZEOF_VOID_P}“ EQUAL 4) # mach was für 32 bit elseif ( „${CMAKE_SIZEOF_VOID_P}“ EQUAL… Weiterlesen CMake – Unterscheidung zwischen 32-bit und 64-bit Maschine

Continuous Integration

Jenkins Pipeline Multibranch Fehler

Die Jenkins-Plugins Pipeline (früher Workflow) und Pipeline Multibranch sind recht neue Plugins. Neuerdings trat beim Schreiben eines Jenkinsfile ein Fehler auf: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use … Ursache Das Problem das hier auftritt, tritt deshalb auf, weil man aus sicherheitstechnischen Gründen nicht alle Funktionen in einem Skript zulassen möchte. Vor allem nicht, wenn man… Weiterlesen Jenkins Pipeline Multibranch Fehler