Skip to content

Instantly share code, notes, and snippets.

@mclosson
Last active August 29, 2015 14:16
Show Gist options
  • Save mclosson/7248574db9ce2c16b39b to your computer and use it in GitHub Desktop.
Save mclosson/7248574db9ce2c16b39b to your computer and use it in GitHub Desktop.
Attempting to make stage on a new port
Above I'm working on a new port for libCello but getting stuck on a few issues I'm not sure how to approach:
Here's the port so far:
https://github.com/mclosson/libcello-freebsd-port/tree/master/ports/devel/libCello
https://github.com/mclosson/libcello-freebsd-port/blob/master/ports/devel/libCello/Makefile
https://github.com/mclosson/libcello-freebsd-port/blob/master/ports/devel/libCello/distinfo
https://github.com/mclosson/libcello-freebsd-port/blob/master/ports/devel/libCello/pkg-descr
https://github.com/mclosson/libcello-freebsd-port/blob/master/ports/devel/libCello/pkg-plist
Issues:
1. make stage is failing due to various reasons depending on how I call it as seen above. I tried it three ways:
% make stage
===> Generating temporary packing list
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p /usr/local/lib && cp -f libCello.a /usr/local/lib/libCello.a
cp: /usr/local/lib/libCello.a: Permission denied
Makefile:107: recipe for target 'install' failed
gmake[1]: *** [install] Error 1
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
*** Error code 2
% make stage PREFIX=`pwd`/work/stage
====> Running Q/A tests (stage-qa)
Error: '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/.PLIST.mktmp' is referring to /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/stage
*** Error code 1
% make stage PREFIX=`pwd`/work
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
Seems to have gone through without errors but I'm quite certain this is not the correct way to "make stage" and that the user shouldn't have to do this.
2. The Makefile that is distributed with libCello causes files to be installed on "make" instead of "make install" so I'm not sure if this needs to be changed or what the correct way to adapt it is, in the port Makefile or patching the distribution Makefile.
matt@inception:~/libcello-freebsd-port/ports/devel/libCello % make stage
===> License BSD2CLAUSE accepted by the user
===> libCello-1.1.7 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by libCello-1.1.7 for building
===> Extracting for libCello-1.1.7
=> SHA256 Checksum OK for libCello-1.1.7.tar.gz.
===> Patching for libCello-1.1.7
===> libCello-1.1.7 depends on executable: gmake - found
===> Configuring for libCello-1.1.7
===> Building for libCello-1.1.7
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p obj
cc src/File.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/File.o
cc src/Tree.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Tree.o
cc src/Lambda.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Lambda.o
cc src/Array.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Array.o
cc src/String.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/String.o
cc src/Thread.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Thread.o
cc src/Bool.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Bool.o
cc src/Number.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Number.o
cc src/Prelude.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Prelude.o
cc src/Char.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Char.o
cc src/Dictionary.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Dictionary.o
cc src/Function.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Function.o
cc src/Reference.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Reference.o
cc src/Module.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Module.o
cc src/List.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/List.o
cc src/Type.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Type.o
cc src/Map.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Map.o
cc src/Pool.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Pool.o
cc src/Exception.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Exception.o
cc src/Format.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Format.o
cc src/Table.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Table.o
cc obj/File.o obj/Tree.o obj/Lambda.o obj/Array.o obj/String.o obj/Thread.o obj/Bool.o obj/Number.o obj/Prelude.o obj/Char.o obj/Dictionary.o obj/Function.o obj/Reference.o obj/Module.o obj/List.o obj/Type.o obj/Map.o obj/Pool.o obj/Exception.o obj/Format.o obj/Table.o -shared -g -ggdb -o libCello.so
ar rcs libCello.a obj/File.o obj/Tree.o obj/Lambda.o obj/Array.o obj/String.o obj/Thread.o obj/Bool.o obj/Number.o obj/Prelude.o obj/Char.o obj/Dictionary.o obj/Function.o obj/Reference.o obj/Module.o obj/List.o obj/Type.o obj/Map.o obj/Pool.o obj/Exception.o obj/Format.o obj/Table.o
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
===> Staging for libCello-1.1.7
===> Generating temporary packing list
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p /usr/local/lib && cp -f libCello.a /usr/local/lib/libCello.a
cp: /usr/local/lib/libCello.a: Permission denied
Makefile:107: recipe for target 'install' failed
gmake[1]: *** [install] Error 1
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
*** Error code 2
Stop.
make: stopped in /usr/home/matt/libcello-freebsd-port/ports/devel/libCello
matt@inception:~/libcello-freebsd-port/ports/devel/libCello % make stage PREFIX+=`pwd`/work/stage
===> License BSD2CLAUSE accepted by the user
===> libCello-1.1.7 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by libCello-1.1.7 for building
===> Extracting for libCello-1.1.7
=> SHA256 Checksum OK for libCello-1.1.7.tar.gz.
===> Patching for libCello-1.1.7
===> libCello-1.1.7 depends on executable: gmake - found
===> Configuring for libCello-1.1.7
===> Building for libCello-1.1.7
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p obj
cc src/File.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/File.o
cc src/Tree.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Tree.o
cc src/Lambda.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Lambda.o
cc src/Array.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Array.o
cc src/String.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/String.o
cc src/Thread.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Thread.o
cc src/Bool.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Bool.o
cc src/Number.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Number.o
cc src/Prelude.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Prelude.o
cc src/Char.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Char.o
cc src/Dictionary.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Dictionary.o
cc src/Function.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Function.o
cc src/Reference.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Reference.o
cc src/Module.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Module.o
cc src/List.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/List.o
cc src/Type.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Type.o
cc src/Map.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Map.o
cc src/Pool.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Pool.o
cc src/Exception.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Exception.o
cc src/Format.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Format.o
cc src/Table.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Table.o
cc obj/File.o obj/Tree.o obj/Lambda.o obj/Array.o obj/String.o obj/Thread.o obj/Bool.o obj/Number.o obj/Prelude.o obj/Char.o obj/Dictionary.o obj/Function.o obj/Reference.o obj/Module.o obj/List.o obj/Type.o obj/Map.o obj/Pool.o obj/Exception.o obj/Format.o obj/Table.o -shared -g -ggdb -o libCello.so
ar rcs libCello.a obj/File.o obj/Tree.o obj/Lambda.o obj/Array.o obj/String.o obj/Thread.o obj/Bool.o obj/Number.o obj/Prelude.o obj/Char.o obj/Dictionary.o obj/Function.o obj/Reference.o obj/Module.o obj/List.o obj/Type.o obj/Map.o obj/Pool.o obj/Exception.o obj/Format.o obj/Table.o
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
===> Staging for libCello-1.1.7
===> Generating temporary packing list
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/stage/lib && cp -f libCello.a /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/stage/lib/libCello.a
mkdir -p /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/stage/include && cp -r include/* /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/stage/include
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
Error: '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/.PLIST.mktmp' is referring to /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/stage
*** Error code 1
Stop.
make: stopped in /usr/home/matt/libcello-freebsd-port/ports/devel/libCello
matt@inception:~/libcello-freebsd-port/ports/devel/libCello % make stage PREFIX=`pwd`/work/stage
===> License BSD2CLAUSE accepted by the user
===> libCello-1.1.7 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by libCello-1.1.7 for building
===> Extracting for libCello-1.1.7
=> SHA256 Checksum OK for libCello-1.1.7.tar.gz.
===> Patching for libCello-1.1.7
===> libCello-1.1.7 depends on executable: gmake - found
===> Configuring for libCello-1.1.7
===> Building for libCello-1.1.7
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p obj
cc src/File.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/File.o
cc src/Tree.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Tree.o
cc src/Lambda.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Lambda.o
cc src/Array.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Array.o
cc src/String.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/String.o
cc src/Thread.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Thread.o
cc src/Bool.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Bool.o
cc src/Number.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Number.o
cc src/Prelude.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Prelude.o
cc src/Char.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Char.o
cc src/Dictionary.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Dictionary.o
cc src/Function.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Function.o
cc src/Reference.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Reference.o
cc src/Module.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Module.o
cc src/List.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/List.o
cc src/Type.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Type.o
cc src/Map.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Map.o
cc src/Pool.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Pool.o
cc src/Exception.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Exception.o
cc src/Format.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Format.o
cc src/Table.c -c -I ./include -std=gnu99 -Wall -Werror -Wno-unused -O3 -g -fPIC -fblocks -o obj/Table.o
cc obj/File.o obj/Tree.o obj/Lambda.o obj/Array.o obj/String.o obj/Thread.o obj/Bool.o obj/Number.o obj/Prelude.o obj/Char.o obj/Dictionary.o obj/Function.o obj/Reference.o obj/Module.o obj/List.o obj/Type.o obj/Map.o obj/Pool.o obj/Exception.o obj/Format.o obj/Table.o -shared -g -ggdb -o libCello.so
ar rcs libCello.a obj/File.o obj/Tree.o obj/Lambda.o obj/Array.o obj/String.o obj/Thread.o obj/Bool.o obj/Number.o obj/Prelude.o obj/Char.o obj/Dictionary.o obj/Function.o obj/Reference.o obj/Module.o obj/List.o obj/Type.o obj/Map.o obj/Pool.o obj/Exception.o obj/Format.o obj/Table.o
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
===> Staging for libCello-1.1.7
===> Generating temporary packing list
gmake[1]: Entering directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
mkdir -p /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/lib && cp -f libCello.a /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/lib/libCello.a
mkdir -p /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/include && cp -r include/* /usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/include
gmake[1]: Leaving directory '/usr/home/matt/libcello-freebsd-port/ports/devel/libCello/work/libCello-1.1.7'
====> Compressing man pages (compress-man)
====> Running Q/A tests (stage-qa)
matt@inception:~/libcello-freebsd-port/ports/devel/libCello % make clean
===> Cleaning for libCello-1.1.7
matt@inception:~/libcello-freebsd-port/ports/devel/libCello % exit
exit
Script done on Tue Mar 10 14:15:31 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment