Skip to content

Instantly share code, notes, and snippets.

@dtjohnso
Created March 19, 2019 15:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dtjohnso/abe2cf14e92c11cc2f9fd7f172058d94 to your computer and use it in GitHub Desktop.
Save dtjohnso/abe2cf14e92c11cc2f9fd7f172058d94 to your computer and use it in GitHub Desktop.
Converting Visio templates (VSS) to Open Document Graphics (ODG)
# Once you've done this you can then convert the VSS files to ODG files. It produces a picture per page, some of the layout is up the creek, but you have the image now.
vss2odg Oracle-Server-Blade.vss Oracle-Server-Blade.odg
# Converting Visio templates (VSS) to Open Document Graphics (ODG)
# From http://theengguy.blogspot.com/2013/06/although-open-office-or-libre-has-visio.html
# Although Open Office or Libre has Visio support, it doesn't work on recent templates (.vss files) as they are wrappered EMF/WMF files, you need vss2odg which comes as part of writerperfect.
# To install on Ubuntu/Debian Linux (suspect you actually only need libvisio and libboost, but I've included the other libraries writerperfect expects):
sudo apt-get install libboost-dev
sudo apt-get install git
sudo apt-get install automake
sudo apt-get install libtools
sudo apt-get install doxygen
sudo apt-get install libcppunit-dev
sudo apt-get install gperf
sudo apt-get install libicu-dev
sudo apt-get install gnome-common
sudo apt-get install gtk-doc-tools
mkdir Code
cd Code
git clone git://git.code.sf.net/p/libwpd/librevenge
cd librevenge
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libwpd/libodfgen libwpd-libodfgen
cd libpwd-libodfgen
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libwpd/libabw libabw
cd libabw
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libwpd/libcdr libcdr
cd libcdr
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libebook/code libebook-code
cd libebook-code
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libepubgen/code libepubgen-code
cd libepubgen-code
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://gerrit.libreoffice.org/libetonyek libetonyek
cd libetonyek
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://gerrit.libreoffice.org/libfreehand libfreehand
cd libfreehand
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://gerrit.libreoffice.org/libfreehand libfreehand
cd libfreehand
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone https://github.com/GNOME/libgsf.git
cd libgsf
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://gerrit.libreoffice.org/libmspub.git
cd libmspub
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libmwaw/libmwaw libmwaw-libmwaw
cd libmwaw-libmwaw
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://gerrit.libreoffice.org/libvisio
cd libvisio
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libwpd/code libwpd-code
cd libwpd-code
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libwpg/code libwpg-code
cd libwpg-code
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://git.code.sf.net/p/libwps/code libwps-code
cd libwps-code
./autogen.sh
./configure
make all
sudo make install
cd ..
git clone git://gerrit.libreoffice.org/libpagemaker.git
cd libpagemaker
./autogen.sh
./configure
make all
sudo make install
cd ..
cd ..
git clone git://git.code.sf.net/p/libwpd/writerperfect libwpd-writerperfect
cd libwpd-writerperfect/
./autogen.sh
./configure
make all
sudo make install
sudo ldconfig -v
@ianvg
Copy link

ianvg commented May 29, 2020

Very new to all of this. I installed the dependencies on Ubuntu bash on windows and when I tried running the vss2odg command, I got the followed message:

Command 'vss2odg' not found, did you mean:
command 'vsd2odg' from deb vsd2odg (0.9.6-2build1)
Try: sudo apt install

Any ideas on what I should do?

@dtjohnso
Copy link
Author

It's been some time since I used this script, and my environment might have been slightly different than yours.

Perhaps try prefixing your command with ./ as in the following:

./vss2odg Oracle-Server-Blade.vss Oracle-Server-Blade.odg

This should tell your bash window to look in the current directory (not the Windows PATH environment variable) for the excutable script.

Of course, be sure you've changed your directory to the folder where the script resides for this to work.

@ianvg
Copy link

ianvg commented May 29, 2020

Thanks for the quick response! Tried what you recommended, no luck. Honestly, I'd add this to my Windows PATH environment variable, if could and then just unlink it or whatever that process is called after I finished needing it.

Hmmm... I went looking for the install of the vss2odg in /bin or /usr/bin and again no luck. I think something must have gone wrong with the install. I'm in over my head here, but after some searching I found that during the install I got the following message:

E: Unable to locate package libtools
...
Package doxygen is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source.
...
E: Package 'doxygen' has no installation candidate
Reading package lists... Done
Building dependency tree
Reading State information... Done
E: Unable to locate package libcppunit-dev
...

And so on and so forth for the rest of the packages. I have no idea what I should. Any suggestions?

Edit: libboost-dev, git, and automake are three packages that are found, but from libtools down, the packages are NOT found. Should 'libtools' be libtool? libtool apparently is a package that is found and can be installed.

Edit 2: Installing 'libtool' instead of 'libtools' wish me luck. Also I noticed something strange for doxygen. When i run "apt-get -s doxygen" (to simulate installation) there doesn't seem to be a problem. I'll try running it for real after I install 'libtool'.

Edit 3:I am blindly fumbling in the dark about what I'm doing. But I think I may have fixed it? Just changing 'libtools' to 'libtool' did the trick and now I'm installing the other packages, one-by-one.

Edit 4:Turns out I didn't have permissions to mkdir either, so I'm working that out. Ehhh, didn't see any good suggestions with a quick google search, so I ended up just doing sudo mkdir Code and that worked. And then I had to give myself permissions using sudo chmod a+w Code.

@dtjohnso
Copy link
Author

Hmm, maybe check the comments on the original source and see if someone there has a solution: http://theengguy.blogspot.com/2013/06/although-open-office-or-libre-has-visio.html

(although I'm not sure there are any comments, it's not loading any for me)

Sorry, I don't even remember if this actually worked for me or not when I tried it. The original code is apparently from 2013. I do recall having difficulty when attempting to do this.

@ianvg
Copy link

ianvg commented May 29, 2020

Yah, I just checked and the comments aren't loading for me either. I got another error when running ./configure in the librevenge folder

cofigure: error: *** A compiler with support for C++11 language features is required.

Edit: Had to use (for ubuntu) sudo apt install g++ in order to update C++ compiler.

Edit 2:Man, either I'm really bad at all of this or just unlucky. Another package error-->

configure: error: Package requirements (zlib) were not met:
No package 'zlib' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ZLIB_CFLAGS
and ZLIB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Ran sudo apt-get install zlib1g-dev. Will report if it works.

Edit 3: More errors-->

config.status: error: Something went wrong bootstrapping makefile fragments
for automatic dependency tracking. Try re-running configure with the
'--disable-dependency-tracking' option to at least be able to build
the package (albeit without support for automatic dependency tracking).
See `config.log' for more details

So I ran ./configure --disable-dependency-tracking and it seemed to have worked.

Edit 4: Also had to install 'make'

Edit 5:More errors and this time I can't figure it out :(

configure: error: Package requirements (
librevenge-0.0
librevenge-stream-0.0
) were not met:
No package 'librevenge-0.0' found
No package 'librevenge-stream-0.0' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables REVENGE_CFLAGS
and REVENGE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Edit 6: export PKG_CONFIG_LIBDIR=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig/ didn't help.
Nor did running ./configure --prefix=/usr/local

@ianvg
Copy link

ianvg commented May 29, 2020

Perhaps someone could give me some advice on how to set the environment variables of CPPUNIT_CFLAGS and CPPUNIT_LIBS. Because it seems like that could help.

@Exter-dg
Copy link

Were you able to solve your error "librevenge-0.0 not found"?

I am facing a similar issue on Ubuntu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment