1

I was trying to istall MiKTeX on my Ubuntu 16.04 (32bit). But following error appears on screen. I have only limited knowledge about such distributions. How can this be solved? Please help me.

akhil@akhil-G31T-M9:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D6BC243565B2087BC3F897C9277A7293F59E4889
[sudo] password for akhil: 
Sorry, try again.
[sudo] password for akhil: 
Executing: /tmp/tmp.LK50NQI2bb/gpg.1.sh --keyserver
hkp://keyserver.ubuntu.com:80
--recv-keys
D6BC243565B2087BC3F897C9277A7293F59E4889
gpg: requesting key F59E4889 from hkp server keyserver.ubuntu.com
gpg: key F59E4889: public key "MiKTeX Packager <packager@miktex.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
akhil@akhil-G31T-M9:~$ echo "deb http://miktex.org/download/ubuntu xenial universe" | sudo tee /etc/apt/sources.list.d/miktex.list
deb http://miktex.org/download/ubuntu xenial universe
akhil@akhil-G31T-M9:~$ sudo apt-get update
Hit:1 http://in.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 http://in.archive.ubuntu.com/ubuntu xenial-updates InRelease             
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease              
Get:3 https://ftp.yzu.edu.tw/CTAN/systems/win32/miktex/setup/deb xenial InRelease [2,034 B]
Fetched 2,034 B in 10s (195 B/s)     
Reading package lists... Done
N: Skipping acquire of configured file 'universe/binary-i386/Packages' as repository 'http://miktex.org/download/ubuntu xenial InRelease' doesn't support architecture 'i386'
akhil@akhil-G31T-M9:~$ sudo apt-get install miktex
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package miktex
singrium
  • 7,320
mig001
  • 135
  • 1
  • 10

1 Answers1

0

According to MiKTeX requirement page, only OS 64 bits are suppported.

But after reading a little the How to build MiKTeX source, it seems possible to install it on OS 32 bits. Before trying to build, check if you have following requirements :

  • C/C++ compiler (there is gcc by default on Ubuntu)
  • cmake (install it using sudo apt install cmake)
  • cat, fop, sed and xsltproc commands
  • some libraries :
    • apr
    • aprutil
    • bzip2
    • cairo
    • expat
    • fontconfig
    • freetype2
    • fribidi
    • gd
    • gmp
    • graphite2
    • harfbuzz-icu
    • hunspell
    • icu
    • jpeg
    • log4cxx
    • lzma
    • mpfr
    • mspack
    • LibreSSL (or OpenSSL)
    • pixman
    • png
    • poppler
    • popt
    • potrace
    • uriparser
    • zzip
    • poppler-qt5 (When building UI components with Qt5)

Now, you're ready with all requirements, time to install MiKTeX.

  1. Download MiKTeX source code :

    wget https://github.com/MiKTeX/miktex/
    
  2. Build the code outside of source code directory (to keep a backup incase) :

    mkdir ../source && cmake ../source
    

where ../source is a directory which would contains built source code.

  1. Defined build variables (optionnal):

    • If you don't want to install MiKTeX as a standard package (not inside /usr/lib, but for example inside /opt/miktex):

      cmake -DCMAKE_INSTALL_PREFIX=/opt/miktex
      
    • If you want to build UI applications (this part is still experimental) :

      cmake -DWITH_UI_QT=ON
      
  2. Time to build and install MiKTeX :

    make
    make install
    
  3. Now, you have to do some initialisations :

    mpm --admin --update-db
    

    --admin isn't required if you had install MiKTeX inside your /home directory (would be the same for all others command below).

    initexmf --admin --set-config-value [MPM]AutoInstall=1
    initexmf --admin --update-fndb
    

    If you want to shorten MiKTeX executable names (e.g for pdfTeX, default executable name is miktex-pdftex and would be shorten as pdftex), use the following command (optionnal) :

    initexmf --admin --mklinks 
    
  4. Installing basic packages :

    mpm --admin --verbose --package-level=basic --upgrade
    initexmf --admin --mkmaps
    
  5. Finalize the installation by updating the database, and remove a useless folder created for the installation :

    initexmf --admin --update-fndb
    rm -fr ~/.miktex
    

Source : https://miktex.org/howto/build-unx

damadam
  • 2,873