IBM / portlibfori

A set of APIs to enable applications to be more easily ported to PASE on IBM i
Other
8 stars 7 forks source link

Build fails when .so already exists #24

Closed kadler closed 4 months ago

kadler commented 2 years ago
ln -s libutil.so.2 util/libutil.so
ln: failed to create symbolic link 'util/libutil.so': File exists
markdirish commented 4 months ago

I know this is old, but... maybe this would work?

ln -sf libutil.so.2 util/libutil.so
markdirish commented 4 months ago

Seems to work:

$ make
gcc -c -D__PASE__ -fPIC -Iutil -o util/fnmatch.o util/fnmatch.c
gcc -shared -D__PASE__ -fPIC  -Wl,-bE:util/libutil.exp -o util/libutil.o util/getopt_long.o util/pty.o util/mkdtemp.o util/backtrace.o util/bsd-flock.o util/asprintf.o util/progname.o util/err.o util/isatty.o util/fnmatch.o
export OBJECT_MODE=32_64
mkdir -p util/libutil.tmp
cp util/libutil.o util/libutil.tmp/shr_64.o
cp util/libutil.imp util/libutil.tmp/shr_64.imp
cd util/libutil.tmp
strip -e util/libutil.tmp/shr_64.o 2> /dev/null || :
ar -X64 crlo util/libutil.so.2 util/libutil.tmp/*
rm -r util/libutil.tmp
ln -sf libutil.so.2 util/libutil.so
$

ln man page indicates:

-f, --force
              remove existing destination files