discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libobjc2/gnustep-base also failing under FreeBSD


From: Andreas Fink
Subject: libobjc2/gnustep-base also failing under FreeBSD
Date: Mon, 11 Feb 2019 12:10:45 +0100

Hello David,

Given you develop mainly on Freebsd, I tried to see if I can get a stable instance of libobjc2 and gnustep-base by switching to FreeBSD.

but I still run into linker issues. This is how I did it


1. freshly installed VM with FeeBSD 12.0
------------------------------------------

Installed from Disk image:



2. Add Depenencies and switch to bash shell
-------------------------------------------

pkg install git \
autoconf \
automake \
cmake \
subversion  \
clang-devel-8.d20181024 \
wget \
bash \
pkgconf \
sudo \
gmake \
windowmaker \
jpeg \
tiff \
png \
libxml2 \
libxslt \
gnutls \
libffi \
icu \
cairo \
avahi \
portaudio \
flite \
pngwriter

bash




3. Download the sourcecode of gnustep
---------------------------------------------------

    mkdir gnustep
    cd gnustep
    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz   # FreeBSD only comes with libiconv-1.14 which has a bug we run into earlier
    # git clone https://github.com/apple/swift-corelibs-libdispatch # <-- this doesnt compile under FreeBSD yet. TODO for later.
    # ./scripts/install-dependencies  <- this doesn't work for freeBSD but the dependencies above fix that which is based on the openbsd version
    tar -xvzf libiconv-1.15.tar.gz
    cd libiconv-1.15
    ./configure --enable-static --enable-dynamic
    make
    make install
    cd ..


4. Setting some defaults
------------------------------------------------

export CC="clang-devel"
export CXX="clang++-devel"
export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin"
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"
export LDFLAGS="-fuse-ld=lld-devel"


5. install libobjc2 runtime

    cd libobjc2
    mkdir Build
    cd Build
    cmake ..  -DCMAKE_BUILD_TYPE=Release -DBUILD_STATIC_LIBOBJC=1  -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX}
    make -j8
    make install
    cd ..
    ldconfig



6. install gnustep-make

    ./configure \
            --with-layout=fhs \
            --disable-importing-config-file \
            --enable-native-objc-exceptions \
            --enable-objc-arc \
            --enable-install-ld-so-conf \
            --with-library-combo=ng-gnu-gnu \
            --with-config-file=/etc/GNUstep/GNUstep.conf \
            --with-user-config-file='.GNUstep.conf' \
            --with-user-defaults-dir='GNUstep/Library/Defaults' \
    gmake
    gmake install
    source /etc/GNUstep/GNUstep.conf
    cd ..
 


the output is this:


...
 compiling file NSUUID.m ...
 Compiling file NSValue.m ...
 Compiling file NSValueTransformer.m ...
 Compiling file NSXMLDocument.m ...
 Compiling file NSXMLDTD.m ...
 Compiling file NSXMLDTDNode.m ...
 Compiling file NSXMLElement.m ...
 Compiling file NSXMLNode.m ...
 Compiling file NSXMLParser.m ...
 Compiling file NSZone.m ...
 Compiling file externs.m ...
 Compiling file objc-load.m ...
 Compiling file GSFileHandle.m ...
 Compiling file NSMessagePort.m ...
 Compiling file NSMessagePortNameServer.m ...
 Compiling file NSNetServices.m ...
 Compiling file GSAvahiNetService.m ...
 Compiling file GSAvahiNetServiceBrowser.m ...
 Compiling file GSAvahiClient.m ...
 Compiling file GSAvahiRunLoopIntegration.m ...
 Compiling file GSFFIInvocation.m ...
 Linking library libgnustep-base ...
ld.lld: error: obj/libgnustep-base.obj/NSRegularExpression.m.o: symbol __block_descriptor_40_e8_32o_e15_v32@?0@8Q16^C24l has undefined version ?0@8Q16^C24l
ld.lld: error: obj/libgnustep-base.obj/NSRegularExpression.m.o: symbol __block_descriptor_40_e8_32r_e15_v32@?0@8Q16^C24l has undefined version ?0@8Q16^C24l
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [/usr/local/share/GNUstep/Makefiles/Instance/library.make:293: obj/libgnustep-base.so.1.26.0] Error 1
gmake[3]: *** [/usr/local/share/GNUstep/Makefiles/Instance/library.make:278: internal-library-all_] Error 2
gmake[2]: *** [/usr/local/share/GNUstep/Makefiles/Master/rules.make:297: libgnustep-base.all.library.variables] Error 2
gmake[1]: *** [/usr/local/share/GNUstep/Makefiles/Master/library.make:37: internal-all] Error 2
gmake: *** [/usr/local/share/GNUstep/Makefiles/Master/serial-subdirectories.make:53: internal-all] Error 2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]