Re: FreeBSD-11.2 Anjuta, Automake und boost

From: Harold Gutch <logix(at)foobar.franken.de>
Date: Fri, 23 Nov 2018 11:18:47 +0100

Hi,

On Thu, Nov 22, 2018 at 08:51:19AM +0100, Andreas Wagner wrote:
> Hallo!
>
> On Wed, 2018-11-21 at 19:00 +0100, Harold Gutch wrote:
> > > g++ -L/usr/local/lib/ -lboost_system -lboost_iostreams
> > > -lboost_timer
> > > -lboost_thread -lboost_chrono -lboost_filesystem -lpthread main.cc
> >
> > ... klingt das danach als ob du nicht clang benutzt sondern gcc (auch
> > aus den Ports bzw. als Paket installiert?). Ich bezweifle zwar dass
> > das einen Unterschied macht, aber hast du es mal mit "c++" anstelle
> > von "g++" versucht?
>
> Das ist der g++ aus "pkg install..." (hab vergessen, wie das Paket
> hieß). "c++" scheint selbst zu funktionieren:

Ja, das ist wohl eins der gcc-Pakete (gcc7, gcc8 sowie auch einige
ältere Versionen).

Evtl. in dem Kontext praktisch: "pkg info" listet alle installierten
Pakete auf, "pkg info 'gcc*'" alle Pakete die mit "gcc" beginnen
(Achtung, der String steht hier in Anführungszeichen, wobei es hier
egal ist ob du einfache oder doppelte nimmst), und "pkg which
/usr/local/bin/g++" (oder auch "pkg which `which g++`") sagt dir von
welchem Paket genau /usr/local/bin/g++ kommt - so ganz offensichtlich
ist es ja nicht dass g++ von einem gcc-Paket kommt.

> $ c++ -g -O0 -L/usr/local/lib/ -lboost_system -lboost_iostreams
> -lboost_timer -lboost_thread -lboost_chrono -lboost_filesystem
> -lpthread -I/usr/local/include main.cc
> $ ls
> a.out main.cc Makefile.am
> a.out.core main.cc~ Makefile.in
> $ ./a.out
> Usage: advanced-server <address> <port> <doc_root> <threads>
> Example:
> advanced-server 0.0.0.0 8080 . 1
>
> Kompilieren mit Anjuta ergibt bei mir ein Executable, das einen
> SegFault wirft. Also verzichte ich auf Anjuta.

Es würde mich nicht wundern wenn Anjuta beim Klick auf "build"
letztlich auch nur ein "make" in einem Verzeichnis irgendwo ausführt.
Dann ist entweder in diesem Verzeichnis ein Makefile das explizit
CXX=g++ oder so setzt (bzw. es übernimmt die Variable von woanders via
include), oder Anjuta setzt beim build die Umgebungsvariable manuell.

Wenn das also bereits existierender Code mit einem vorgegebenen
Makefile ist (also nichts das Anjuta erzeugt hat) dann sollte das dort
gefixt werden. Andernfalls sollte es möglich sein, Anjuta so zu
konfigurieren dass es als "c++" als C++ Compiler benutzt und nicht
g++. In beiden Fällen sollte es ab dann mit dem Klick auf "build"
funktionieren.

> Mal schauen, wie lange ich bei BSD bleibe... Ich mag zwar die Lizenz
> aber ich habe auch ab und an Spaß am Spielen. Und der USB-Stick mit
> Win10 drauf kommt auch bald zurück. Dann habe ich meinen Key wieder und
> kann wieder Win10 aufspielen. Das war mir verreckt, als ich den Stick
> verliehen hatte (weil ein Bekannter gerne was sparen wollte und nur
> eine(n) Lizenz/Key für Win10 erworben hat. Kostet ~30€, der Spaß.)

Je nachdem was genau du spielen willst, kann es gut sein dass die
Spiele auch gut (genug) unter FreeBSD funktionieren. Bei OpenBSD gibt
es seit einiger Zeit da etwas Aktivismus, s. z.B.,
https://www.reddit.com/r/openbsd_gaming/ . In den FreeBSD Ports gibt
es auch ein "playonbsd", das ist ein Port von playonlinux (
https://www.playonlinux.com ). Ansonsten, also wenn das nicht die
Spiele abdeckt die dich interessieren und Windows alles in allem den
besten Kompromiss für dich darstellt - auch gut, jedem das Seine.

viele Grüße,
  Harold

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 23 Nov 2018 - 11:19:08 CET

search this site