[tex-live] dvisvgm with libgs on mac os x
jfbu
jfbu at free.fr
Mon Mar 12 12:50:08 CET 2018
Le 12 mars 2018 à 00:26, Mojca Miklavec <mojca.miklavec.lists at gmail.com> a écrit :
> On 12 March 2018 at 00:02, jfbu wrote:
>> hi,
>>
>> asking for help on how to compile dvisvgm from TeXLive sources
>> so that it can locate the libgs library on my mac which is at
>> /opt/local/lib
>>
>> (/opt/local/lib/libgs.dylib is a symlink to libgs.9.22.dylib)
>>
>> With the vanilla ./Build produced dvisvgm, I need to pass --libgs option
>> to dvisvgm binary when using it like this
>>
>> $ dvisvgm --libgs="/opt/local/lib/libgs.dylib" temp.dvi
>>
>> and it does work fine (temp.dvi contains 18 postscript specials)
>
> I would try with
> export LDFLAGS="-L/opt/local/lib"
> export CXXFLAGS="-I/opt/local/include"
I have tried but this does not suffice (details below)
>
> But keep in mind that when ghostscript gets updated, you might need to
> recompile the binary. Why don't you use
> sudo port install dvisvgm
> instead?
Indeed the dvisvgm from MacPorts does find /opt/local/lib/libgs.dylib
I did port upgrade outdated the other day and ghostscript was
moved to 9.22, and the texlive binaries were updated including dvisvgm
(to binaries from October 2017)
>
> I tried to update it just now (the latest version is not in the repo
> yet). Two tests fail:
> FAIL: DVIReaderTest
> FAIL: FontManagerTest
> but I'm not sure about how the situation was before.
>
>> I tried to play with the configure options listed at
>>
>> http://tug.org/texlive/doc/tlbuild.html#Configure-options-for-texk_002fdvisvgm
>>
>> my last attempt did
>>
>> Work$ ../configure --disable-all-pkgs --disable-native-texlive-build --enable-multiplatform --prefix="/opt/local" --disable-cxx-runtime-hack --enable-dvisvgm --with-system-libgs --with-libgs-includes="/opt/local/include/ghostscript" --with-libgs-libdir="/opt/local/lib/"
>>
>> but it did not seem to succeed.
>>
>> Is there something wrong in my environment variables
>
> No. But when neither pkg-config nor cmake know where to find the
> binaries, you need to provide explicit hints.
>
>> (I noticed /opt/local/lib is not in my PATH, I have no idea if that matters)
>
> It should not be.
>
>> I googled a bit for location of dylib's on the mac, and found no
>> immediately usable answer
>
> They are spread all over the place. The dylibs in /opt/local/lib
> (usually) come from MacPorts, but that's by far not the only place
> where you can find them. Usually each .app bundle ships its own copy
> of libraries.
Thanks for the info. My situation is seen is the following
Work$ echo $CXXFLAGS
-I/opt/local/include
Work$ echo $LDFLAGS
-L/opt/local/lib
Work$ ../configure --disable-all-pkgs --disable-native-texlive-build --enable-multiplatform --prefix="/opt/local" --enable-dvisvgm --with-system-libgs
(or various variants)
Then I do the "make" and from its voluminous output I extract the following
=== configuring in dvisvgm (/opt/src/tldevsrc/source/Work/texk/dvisvgm)
[lines snipped]
checking ghostscript/iapi.h usability... no
checking ghostscript/iapi.h presence... no
checking for ghostscript/iapi.h... no
checking for dlopen in -ldl... yes
configure: not linking to libgs, trying to arrange for dynamic loading
But I have :
Work$ pushd /opt && find . -name 'iapi.h' && popd
/opt /opt/src/tldevsrc/source/Work /opt
./local/include/ghostscript/iapi.h
./src/tldevsrc/source/texk/dvisvgm/dvisvgm-src/src/iapi.h
/opt/src/tldevsrc/source/Work /opt
Then I tried manually editing the Makefile in Work/texk/dvisvgm
LDFLAGS = -L/opt/local/lib
LIBGS_INCLUDES = -I/opt/local/include/ghostscript
LIBGS_LIBS = /opt/local/lib/libgs.dylib
where the LDFLAGS was already as above
but I am not sure which target to use for make there, and anyway
it doesn't work
I am just completely unknowledgeable about the autoconf machinery
etc, hence I have some difficulties understanding these Makefiles
Best
Jean-François
More information about the tex-live
mailing list