GithubHelp home page GithubHelp logo

Build errors in windows 10 x64 about fatty HOT 11 CLOSED

juho-p avatar juho-p commented on July 17, 2024
Build errors in windows 10 x64

from fatty.

Comments (11)

juho-p avatar juho-p commented on July 17, 2024

There's something wrong with your standard C++ library headers, which is very weird. Looks similar to #7

Try reinstalling g++ (I don't know how this works in babun). It might help.

from fatty.

tobiasmuehl avatar tobiasmuehl commented on July 17, 2024

I stumbled upon fatty today and I really wanted to have it. So I spent around 6 hours to make it work.

And here is the solution

  1. Install Babun regularly, make sure that commands in the babun shell are actually served from the local babun cygwin (I just deleted all the rest since I just need one cygwin instance)
  2. Download Cygwin x86 installer
  3. Install the following packages at version 5.3.0-3: gcc-core gcc-g++ libquadmath0
  4. Change src/Makefile according to my PR see file changes
  5. Run make
  6. Put %HOME%\.babun\cygwin\bin\ in your PATH variable (I recommend this free tool)
  7. Enjoy src/fatty.exe

I put the compiled .exe file here, in case it doesn't work.

from fatty.

juho-p avatar juho-p commented on July 17, 2024

@tobiasmuehl nice work!

It seems newer versions of gcc failed to compile fatty without _GNU_SOURCE. I only noticed this now when I updated my Cygwin packages (didn't try that when this issue opened, my bad...), though I did have different compilation problem. This wasn't Babun specific problem.

@theVDude could you try again if it works now? I'm not sure if this change helps you or not, try it out.

from fatty.

ryanerwin avatar ryanerwin commented on July 17, 2024

FYI, I'm running this on the x64 version of Windows 10 and also not able to compile with our the "GNU_SOURCE" option inside src/Makefile.

Each time I get:

image

from fatty.

ryanerwin avatar ryanerwin commented on July 17, 2024

I've run:
pact update gcc-core gcc-g++ make w32api-headers git libquadmath0

As @tobiasmuehl describes, I've made sure gcc and g++ are both at version 5.3:

`➜ % gcc --version 23:04
gcc (GCC) 5.3.0

➜ % g++ --version 23:04
g++ (GCC) 5.3.0`

Yet this way I get a bunch of errors for functions that aren't defined in cstdlib (::at_quick_exit) and in c++/cmath (achshl, asinhl, atanhl, cbrtl, copysignl, erfl, exp2l, expm1l, fdiml, fmal, fmaxl, fminl, ilogbl, lgammal, llroundl, log1pl, nanl, nearbyintl, nextafterl,nexttoward, nexttowardf, remainderl, remquol, roundl, scalblnl, scalbnl, tgammal, truncl)

Ending with:

/usr/lib/gcc/i686-pc-cygwin/5.3.0/include/c++/cmath:1205:11: error: ‘::truncl’ has not been declared using ::truncl; ^ Makefile:45: recipe for target 'build/childxx.o' failed make[1]: *** [build/childxx.o] Error 1 make[1]: Leaving directory '/cygdrive/c/Users/ryan/fatty/src' Makefile:2: recipe for target 'exe' failed make: *** [exe] Error 2

I also tried downloading the attached binary, but Windows warns that the binary is infected with "Spursinst.A!cl" trojan:
image

from fatty.

tobiasmuehl avatar tobiasmuehl commented on July 17, 2024

I had those issues as well, but don't recall as to how I solved them. The virus warning is a false positive (well, I assume the source code isn't harmful). I uploaded it to VirusTotal here

I also ran automake before running make but it only resulted in errors, so I don't think it affected anything.

Have you run the Cygwin installer to check the version of libquadmath0? It is the package that contains the math library for the compiler

from fatty.

ryanerwin avatar ryanerwin commented on July 17, 2024

`➜ % pact describe libquadmath
Working directory is /setup
Mirror is http://mirrors.neusoft.edu.cn/cygwin/
setup.ini taken from the cache

libquadmath0
sdesc: "GCC Quad-Precision Math runtime library"
ldesc: "The GNU Compiler Collection includes front ends for C, C++,
Objective-C, Fortran, Java, Ada, and Go, as well as libraries for these
languages (libstdc++, libgcj,...)."
category: Libs
requires: cygwin libgcc1
version: 5.3.0-5
install: x86/release/gcc/libquadmath0/libquadmath0-5.3.0-5.tar.xz 171316 b1f3785e4b829b27dce3e7682f5c7b16e6ec1cb1a971fba726662d42a442da4f6d1f145c5682a8404137ddee42e5935674c6660ddefbe2f5fc8c763c6a308b2a
source: x86/release/gcc/gcc-5.3.0-5-src.tar.xz 95363792 b0e34765d8238eb96dd1d818767f05f5cd0e883a7ab22d2f7fb3b0a6659cf57630faca097ce8c7f372858d24753bfb849dd697263658b943bdb497e8b2db7fca`

from fatty.

ryanerwin avatar ryanerwin commented on July 17, 2024

I ran: pact update gcc-core gcc-g++ libquadmath0 and modified src/Makefile to add CPPFLAGS := -DTARGET=$(TARGET) -D_GNU_SOURCE but I'm still getting compilation errors.

/usr/lib/gcc/i686-pc-cygwin/5.3.0/include/c++/cstdlib:126:11: error: ‘::at_quick_exit’ has not been declared using ::at_quick_exit;

Any idea how to get this to compile?

from fatty.

juho-p avatar juho-p commented on July 17, 2024

This is really weird issue.

@ryanerwin When I look your error message (at_quick_exit missing), it says your c++ standard library header can't see function called at_quick_exit, but that function just has to be there, since it's defined by standard library itself.

I recently updated cygwin to the latest version and recompiled fatty without any problem, so there shouldn't be any issue with fatty anymore (I hope!).

Maybe this is a Windows issue that causes some files not to update? Try uninstalling g++ and gcc, verify that there is no /usr/lib/gcc directory, then install it again and try compiling fatty again. This is just guessing anyway, so it probably doesn't do any good.

from fatty.

theVDude avatar theVDude commented on July 17, 2024

Wow, apparently my github email needs update. Still not compiling in babun for me, but I'm going to try a fresh cygwin install in a moment.

Works fine in cygwin, so this is most likely a weird babun bug. I guess I'll have to make a note of it over there!

from fatty.

theVDude avatar theVDude commented on July 17, 2024

Alright, so running the cygwin installer to install packages instead of pact totally worked. I'm going to have to assume there's something wrong with pact grabbing/updating dependencies.

Solution is as tobias said, use the cygwin installer and point it to your babun cygwin installation, and tell it to reinstall the packages.

from fatty.

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.