GithubHelp home page GithubHelp logo

Comments (10)

mario-giovinazzo avatar mario-giovinazzo commented on May 13, 2024

I have forgotten to mention that after run autogen.sh I manually copied the missing file "version.h" from lepton-eda-1.9.3 to lepton-eda-master source dir.

from lepton-eda.

vzh avatar vzh commented on May 13, 2024

@mario-giovinazzo Yes, it is correct that there is no lepton-netlist.exe. lepton-netlist is not a binary file but a guile script.

from lepton-eda.

vzh avatar vzh commented on May 13, 2024

Dynamic linking depends on shared libraries, AFAIK. IIUC, those are libname.dll, libname.dll.a and such. I don't see any such named libs in the dir output shown above. However I see --disable-shared flag for configure. Could this be the reason of the issue?

from lepton-eda.

mario-giovinazzo avatar mario-giovinazzo commented on May 13, 2024

Shared libraries have some limitations and complications in CygWin.
So I compiled lepton-eda-1.9.3 with
--disable-shared
--enable-relocatable
The tool is fully working and relocatable, included guile scripts like schdiff.
Following your suggestion I will try to compile the git repository version with shared library, this when I will be back from holiday in September.
Thanks

from lepton-eda.

mario-giovinazzo avatar mario-giovinazzo commented on May 13, 2024

Hi vzh,
yes, you are right.
I have successfully compiled (under cigwin) the latest version of lepton-eda from the git repository Using shared memory and all I tested works fine.
make LDFLAGS="-no-undefined -llepton -lleptonrenderer -lgio-2.0 -lgobject-2.0"
Just a note, the link to documentation from help menu seems to be not updated, I renamed the doc dir from lepton-eda to geda-gaf.
Thanks.

from lepton-eda.

vzh avatar vzh commented on May 13, 2024

@mario-giovinazzo Thank you for your work!
It would be very nice to have this info written down somewhere. WDYT?
WRT the docs, I've opened #157. Please look if the patch proposed works for you.

from lepton-eda.

mario-giovinazzo avatar mario-giovinazzo commented on May 13, 2024

I will post here (next week) information on how to build and run lepton-eda under cygwin.

from lepton-eda.

vzh avatar vzh commented on May 13, 2024

Thanks!

from lepton-eda.

mario-giovinazzo avatar mario-giovinazzo commented on May 13, 2024

How to build lepton-eda on windows 64 bit under CYGWIN starting from zero.

  1. Download "setup-x86_64.exe" from cygwin and install cygwin base packages.
  2. Run "setup-x86_64.exe" again and add the following packages:
Package         Category
-------------------------
gcc-g++         devel
make            devel
pkg-config      devel
Guile           interpreters (libguile2, devel)
GTK+            lib          (gtk, devel, runtime)
FLEX            devel
GAWK            interpreters
Python2.7       interpreter  (interpreter, devel)
Git             devel
Autoconf        devel
Automake        devel
Libtool         devel        (generic)
Gettext         text
Gettext-devel   devel
Gmp             lib          (gmp, libgmp-devel)
Image-magick    graphics
xorg-server     X11
xinit           X11
  1. Start cygwin
    mkdir lepton-eda
    cd lepton-eda
    make in a file with the following script, let say "build.sh", and run it.
    It takes a while
#START
#----------------------------------
# Set up Your destination directory
# (it can be outside cygwin)
#----------------------------------
DSTDIR=$HOME/geda


#----------------------------------
#* Cleanup any existing SOURCE directory
#* Create a new one
#* Clone GIT
#----------------------------------
if [ -d source ]; then
   echo "Removing old source directory"
   rm -Rf source
   echo "done"
fi
#-----------
mkdir source
cd source
git clone https://github.com/lepton-eda/lepton-eda.git
cd lepton-eda
./autogen.sh
cd ..
cd ..
echo "autogen done"


#----------------------------------
# Cleanup any existing BUILD directory
# Create a new one
#----------------------------------
echo "Building Lepton Eda and installing in $DSTDIR"
echo "Create a build directory"
if [ -d build ]; then
   echo "Removing old build directory"
   rm -Rf build
   echo "done"
fi
#-----------
mkdir build
cd build


#----------------------------------
# Build and install LEPTON-EDA
#----------------------------------
mkdir lepton-eda
(
   cd lepton-eda
   #-----------------
   # SET ENV..
   #-----------------
   PATH=$DSTDIR/bin:$PATH
   LD_LIBRARY_PATH=$DSTDIR/lib:$LD_LIBRARY_PATH
   PKG_CONFIG_PATH=/usr/lib/pkgconfig:$DSTDIR/lib/pkgconfig:$PKG_CONFIG_PATH
   #-----------------
   # CONFIGURE
   #-----------------
   echo "Configuring lepton-eda (for details see build/lepton-eda-configure.log)"
   ../../source/lepton-eda/configure \
   --prefix=$DSTDIR \
   --build=x86_64-pc-cygwin \
   --host=x86_64-pc-cygwin \
   --target=x86_64-pc-cygwin \
   --disable-update-xdg-database \
   --enable-relocatable \
   --disable-nls \
   > ../lepton-eda-configure.log 2>&1
   #-----------------
   # MAKE step 1 -> This will exit with error on undefined reference to liblepton but create
   #                $DSTDIR/bin/cyglepton-1.dll $DSTDIR/lib/liblepton.dll.a & liblepton.la
   #-----------------
   echo "STEP 1/2 Building lepton-eda (for details see build/lepton-eda-make-s1.log)"
   make LDFLAGS="-no-undefined -lgio-2.0 -lgobject-2.0" > ../lepton-eda-make-s1.log 2>&1
   echo "Installing lepton-eda (for details see build/lepton-eda-install-s1.log)"
   make LDFLAGS="-no-undefined" install > ../lepton-eda-install-s1.log 2>&1
   echo "done"
   #-----------------
   # MAKE step 2 -> let add -llepton -lleptonrenderer and
   #                run make again to full build lepton-eda package
   #-----------------
   echo "STEP 2/2 Building lepton-eda (for details see build/lepton-eda-make-s2.log)"
   make LDFLAGS="-no-undefined -llepton -lleptonrenderer -lgio-2.0 -lgobject-2.0" > ../lepton-eda-make-s2.log 2>&1
   echo "Installing lepton-eda (for details see build/lepton-eda-install-s2.log)"
   make LDFLAGS="-no-undefined" install > ../lepton-eda-install-s2.log 2>&1
   echo "done"
   #-----------------
)

# Make /.local/share dir just because it requires privileges
mkdir $HOME/.local
mkdir $HOME/.local/share
#END
  1. Add the following environmental variables to windows.
    You need to adjust path according to your $DSTDIR (lepton-eda installation directory)
    (mine is /cygdrive/c/cygwin64/home/mario/geda)
GEDABIN         =/cygdrive/c/cygwin64/home/mario/geda/bin
GEDADATA        =/cygdrive/c/cygwin64/home/mario/geda/share/geda
GEDADATARC      =/cygdrive/c/cygwin64/home/mario/geda/share/geda
LIBLEPTON       =/cygdrive/c/cygwin64/home/mario/geda/lib/liblepton
GUILE_LOAD_PATH =/cygdrive/c/cygwin64/usr/share/guile/2.0
DISPLAY         =:0

(you need a restart to make them active)

  1. END

RUN SCHEMATIC
Before run lepton-schematic you need to start an X-server like cygwin "XWin Server", there is an icon in start menu (I added it in start-up).
Now you can run "lepton-schematic" directly from windows.

NETLIST
Lepton-netlist is a guile script so you must run it through a bash shell
as example (in my case)
bash /cygdrive/c/cygwin64/home/mario/geda/bin/lepton-netlist -g tango -o board.net board.sch

P.S.
I'm basically an hardware designer so probably this task can be made better.

from lepton-eda.

vzh avatar vzh commented on May 13, 2024

@mario-giovinazzo This description (thanks to @graahnul-grom) is now in our wiki. Thank you!

from lepton-eda.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.