What prevents you from using the audio/faad port?
gcc -shared -o libmp4ff.so.0.0.0 -Wl,--whole-archive libmp4ff.a -Wl,--no-whole-archive
./configure CFLAGS=-fPIC --with-mp4v2 --enable-shared
make clean
Can't you do this instead to get a dynamic library?
Code:ar x /usr/local/lib/libmp4ff.a cc -shared -o libmp4ff.so *.o
ar x /usr/local/lib/libmp4ff.a
--> OK cc -shared -o libmp4ff.so *.o
--> cc is not found-installed (how to do it?), gcc -shared -o libmp4ff.so *.o
--> gcc: No match gcc -shared -o /usr/local/lib/libmp4ff.so *.o
--> gcc: No match gcc -shared -o /usr/local/lib/libmp4ff.a *.o
--> gcc: No matchWhat FreeBSD version are you on?ar x /usr/local/lib/libmp4ff.a
--> OK
cc -shared -o libmp4ff.so *.o
--> cc is not found-installed (how to do it?), so I try with:
gcc -shared -o libmp4ff.so *.o
--> "rodatta" can not be used when making a shared object, recompile with -fPIC
;-(
Thanks.
cc
should be available on all supported versions.FreeBSD 10.1.What FreeBSD version are you on? cc should be available on all supported versions.
How the heck is that system installed? The vanilla 10.1 definitely has /usr/bin/cc and that is Clang. Anything in your /etc/make.conf or /etc/src.conf? Is this system updated/upgraded using freebsd-update(8) or using sources?
pkg install clang
?It might happen if you submit a patch to audio/faadBut, be crazy, add libmp4ff.so too, end users need this one, not the static.
And you will be more generous than Linux that, also, only gives the static library.
And obliges, poor end users, to make by they-self static->dynamic.
It might happen if you submit a patch to audio/faad![]()
LoadLibrary()
but fail to GetProcAdress()
, this for each exported method. GetProcAdress()
is working for all exported methods.nm(1) or objdump(1) might be helpful:Does it exist a utility in FreeBSD to check a library, to see the exported methods?
nm -D --defined-only libmp4ff.so
might be helpful: nm -D --defined-only libmp4ff.so
GetProcAdress()
fail, for example : GetProcAdress('mp4ff_open_read')
-> pointer is nil. GetProcAdress()
work.It might happen if you submit a patch to audio/faad![]()
dlsym()
in place of GetProcAdress()