Farama-Foundation / Arcade-Learning-Environment

The Arcade Learning Environment (ALE) -- a platform for AI research.
https://ale.farama.org/
GNU General Public License v2.0
2.18k stars 424 forks source link

ALE-0.5.1 fails to build on Gentoo #186

Closed LGTrader closed 7 years ago

LGTrader commented 7 years ago

ALE-0.5.1 fails to build on Gentoo due to requiring a macro shipped with zlib to support pre-ANSI C compilers. The failures look like:

[ 0%] Building C object CMakeFiles/ale-lib.dir/src/emucore/unzip.c.o
In file included from /home/mark/CODE/ale_0_5_1/src/emucore/unzip.c:13:0: /home/mark/CODE/ale_0_5_1/src/emucore/unzip.h:114:45: error: expected '=', ',', ';', 'asm' or 'attribute' before 'OF' extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,

Gentoo removed the 'OF' macro and as such ALE doesn't build. See the discussions at following links:

http://stackoverflow.com/questions/41502795/installing-gymatari-in-a-virtualenv

https://bugs.gentoo.org/show_bug.cgi?id=383179

ale-5.0.1 does build in a Ubuntu VM so I'll work there for the short term and investigate using the fix in the first link when I get a chance. However it would be nice to be able to use ALE in Gentoo without having to resort to such things.

mgbellemare commented 7 years ago

I'm sure this has been fixed in the latest version of Stella. I'm a bit swamped at the moment, but it might be worth checking if copying unzip.h from the latest Stella source takes care of this.

LGTrader commented 7 years ago

I tried with both the stella source from Stella's project and from Gentoo's repository. I didn't find unzip.h in either of them.

mark@c2RAID6 ~/CODE/stella/stella-4.7.2 $ ls -alR | grep crc -rw-r--r-- 1 mark mark 13094 Jan 30 2013 crc32.c -rw-r--r-- 1 mark mark 30562 Jan 30 2013 crc32.h mark@c2RAID6 ~/CODE/stella/stella-4.7.2 $ ls -alR | grep unzip mark@c2RAID6 ~/CODE/stella/stella-4.7.2 $

The check of 'crc' was just to ensure I wasn't fooling myself about the command line stuff.

Anyway, if you've got another idea let me know. I'm in no hurry on this and will be happy (within my very limited programming abilities) to test any fix you come up with. No rush.

Thanks

mgbellemare commented 7 years ago

Hi,

It looks like Stella doesn't use unzip anymore, as you said. The simplest thing I can do is to strip out the code that uses unzip, as it doesn't seem needed (or in fact, supported) by ALE. I'll push a patch and you can tell me if it fixes your issue.

On Wed, Feb 1, 2017 at 9:15 PM, LGTrader notifications@github.com wrote:

I tried with both the stella source from Stella's project and from Gentoo's repository. I didn't find unzip.h in either of them.

mark@c2RAID6 ~/CODE/stella/stella-4.7.2 $ ls -alR | grep crc -rw-r--r-- 1 mark mark 13094 Jan 30 2013 crc32.c -rw-r--r-- 1 mark mark 30562 Jan 30 2013 crc32.h mark@c2RAID6 ~/CODE/stella/stella-4.7.2 $ ls -alR | grep unzip mark@c2RAID6 ~/CODE/stella/stella-4.7.2 $

The check of 'crc' was just to ensure I wasn't fooling myself about the command line stuff.

Anyway, if you've got another idea let me know. I'm in no hurry on this and will be happy (within my very limited programming abilities) to test any fix you come up with. No rush.

Thanks

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/mgbellemare/Arcade-Learning-Environment/issues/186#issuecomment-276784461, or mute the thread https://github.com/notifications/unsubscribe-auth/ACPczjuFSqv3vf9glMOJ6msVYhPtVBkbks5rYPXbgaJpZM4Lxueo .

LGTrader commented 7 years ago

That would be great. No rush.

I haven't figured out on my own so what's the command for cloning the most recent version of ALE from guthub. The one I build earlier was the zip file from the website. I'd like to see the same failure from github so that when you post something I'll be able to respond sooner vs later.

Thanks!

nczempin commented 7 years ago

I haven't figured out on my own so what's the command for cloning the most recent version of ALE from guthub. The one I build earlier was the zip file from the website. I'd like to see the same failure from github so that when you post something I'll be able to respond sooner vs later.

@LGTrader for cloning in git use e. g. git clone git@github.com:mgbellemare/Arcade-Learning-Environment.git, or you can just download the latest version of the master branch like this: https://github.com/mgbellemare/Arcade-Learning-Environment/archive/master.zip

But using git directly is probably better. Note that for the above to work you need to set up SSH with Github; alternatively you can use git clone https://github.com/mgbellemare/Arcade-Learning-Environment.git (or use either URL in a git GUI).

mgbellemare commented 7 years ago

I've stripped unzip.h/c now.

mgbellemare commented 7 years ago

Please reopen if ALE still fails to build on Gentoo.

LGTrader commented 7 years ago

On Sun, Apr 2, 2017 at 10:21 AM, Marc G. Bellemare <notifications@github.com

wrote:

Please reopen if ALE still fails to build on Gentoo.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mgbellemare/Arcade-Learning-Environment/issues/186#issuecomment-291000413, or mute the thread https://github.com/notifications/unsubscribe-auth/AEfnRlRfb8MFfdzvcQCRFpws-SEwt2p0ks5rr9kfgaJpZM4Lxueo .

Seems to build fine now. Thanks!